Skip to content
Snippets Groups Projects
Commit 2b98e54a authored by Malte Bauch's avatar Malte Bauch
Browse files

some small PND changes

- made some values public
- implemented a few functions
parent f399296f
No related branches found
No related tags found
3 merge requests!97Resolve "PND handling via CLI and database",!91"Overhaul Architecture",!90Develop
...@@ -7,42 +7,49 @@ import ( ...@@ -7,42 +7,49 @@ import (
// PrincipalNetworkDomain provides an // PrincipalNetworkDomain provides an
// interface for PND implementations // interface for PND implementations
type PrincipalNetworkDomain interface { type PrincipalNetworkDomain interface {
GetName() string
Destroy() error Destroy() error
AddSbi() error AddSbi(SouthboundInterface) error
RemoveSbi() error RemoveSbi(string) error
AddDevice(Device) error AddDevice(Device) error
RemoveDevice(uuid uuid.UUID) error RemoveDevice(uuid uuid.UUID) error
} }
type pndImplementation struct { type pndImplementation struct {
name string Name string
sbi map[string]SouthboundInterface Description string
devices map[uuid.UUID]Device Sbi map[string]SouthboundInterface
Devices map[uuid.UUID]Device
} }
//NewPND creates a Principle Network Domain //NewPND creates a Principle Network Domain
func NewPND(name string, sbi SouthboundInterface) PrincipalNetworkDomain { func NewPND(name, description string, sbi SouthboundInterface) PrincipalNetworkDomain {
sbic := make(map[string]SouthboundInterface) sbic := make(map[string]SouthboundInterface)
sbic["default"] = sbi sbic["default"] = sbi
devices := make(map[uuid.UUID]Device) devices := make(map[uuid.UUID]Device)
return &pndImplementation{ return &pndImplementation{
name: name, Name: name,
sbi: sbic, Description: description,
devices: devices, Sbi: sbic,
Devices: devices,
} }
} }
func (pnd *pndImplementation) GetName() string {
return pnd.Name
}
// Interface satisfaction // Interface satisfaction
func (pnd *pndImplementation) Destroy() error { func (pnd *pndImplementation) Destroy() error {
return destroy() return destroy()
} }
func (pnd *pndImplementation) AddSbi() error { func (pnd *pndImplementation) AddSbi(sbi SouthboundInterface) error {
return addSbi() return pnd.addSbi(sbi)
} }
func (pnd *pndImplementation) RemoveSbi() error { func (pnd *pndImplementation) RemoveSbi(sbiIdentifier string) error {
return removeSbi() return pnd.removeSbi(sbiIdentifier)
} }
func (pnd *pndImplementation) AddDevice(device Device) error { func (pnd *pndImplementation) AddDevice(device Device) error {
...@@ -59,20 +66,22 @@ func destroy() error { ...@@ -59,20 +66,22 @@ func destroy() error {
return nil return nil
} }
func addSbi() error { func (pnd *pndImplementation) addSbi(sbi SouthboundInterface) error {
pnd.Sbi[sbi.SbiIdentifier()] = sbi
return nil return nil
} }
func removeSbi() error { func (pnd *pndImplementation) removeSbi(sbiIdentifier string) error {
delete(pnd.Sbi, sbiIdentifier)
return nil return nil
} }
func (pnd *pndImplementation) addDevice(device Device) error { func (pnd *pndImplementation) addDevice(device Device) error {
pnd.devices[device.Config.Uuid] = device pnd.Devices[device.Config.Uuid] = device
return nil return nil
} }
func (pnd *pndImplementation) removeDevice(uuid uuid.UUID) error { func (pnd *pndImplementation) removeDevice(uuid uuid.UUID) error {
delete(pnd.devices, uuid) delete(pnd.Devices, uuid)
return nil return nil
} }
...@@ -79,9 +79,9 @@ func Test_pndImplementation_AddDevice(t *testing.T) { ...@@ -79,9 +79,9 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.AddDevice(tt.args.device); (err != nil) != tt.wantErr { if err := pnd.AddDevice(tt.args.device); (err != nil) != tt.wantErr {
t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr)
...@@ -106,9 +106,9 @@ func Test_pndImplementation_AddSbi(t *testing.T) { ...@@ -106,9 +106,9 @@ func Test_pndImplementation_AddSbi(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.AddSbi(); (err != nil) != tt.wantErr { if err := pnd.AddSbi(); (err != nil) != tt.wantErr {
t.Errorf("AddSbi() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("AddSbi() error = %v, wantErr %v", err, tt.wantErr)
...@@ -133,9 +133,9 @@ func Test_pndImplementation_Destroy(t *testing.T) { ...@@ -133,9 +133,9 @@ func Test_pndImplementation_Destroy(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.Destroy(); (err != nil) != tt.wantErr { if err := pnd.Destroy(); (err != nil) != tt.wantErr {
t.Errorf("Destroy() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("Destroy() error = %v, wantErr %v", err, tt.wantErr)
...@@ -164,9 +164,9 @@ func Test_pndImplementation_RemoveDevice(t *testing.T) { ...@@ -164,9 +164,9 @@ func Test_pndImplementation_RemoveDevice(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.RemoveDevice(tt.args.uuid); (err != nil) != tt.wantErr { if err := pnd.RemoveDevice(tt.args.uuid); (err != nil) != tt.wantErr {
t.Errorf("RemoveDevice() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("RemoveDevice() error = %v, wantErr %v", err, tt.wantErr)
...@@ -191,9 +191,9 @@ func Test_pndImplementation_RemoveSbi(t *testing.T) { ...@@ -191,9 +191,9 @@ func Test_pndImplementation_RemoveSbi(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.RemoveSbi(); (err != nil) != tt.wantErr { if err := pnd.RemoveSbi(); (err != nil) != tt.wantErr {
t.Errorf("RemoveSbi() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("RemoveSbi() error = %v, wantErr %v", err, tt.wantErr)
...@@ -222,9 +222,9 @@ func Test_pndImplementation_addDevice(t *testing.T) { ...@@ -222,9 +222,9 @@ func Test_pndImplementation_addDevice(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.addDevice(tt.args.device); (err != nil) != tt.wantErr { if err := pnd.addDevice(tt.args.device); (err != nil) != tt.wantErr {
t.Errorf("addDevice() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("addDevice() error = %v, wantErr %v", err, tt.wantErr)
...@@ -253,9 +253,9 @@ func Test_pndImplementation_removeDevice(t *testing.T) { ...@@ -253,9 +253,9 @@ func Test_pndImplementation_removeDevice(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{ pnd := &pndImplementation{
name: tt.fields.name, Name: tt.fields.name,
sbi: tt.fields.sbi, Sbi: tt.fields.sbi,
devices: tt.fields.devices, Devices: tt.fields.devices,
} }
if err := pnd.removeDevice(tt.args.uuid); (err != nil) != tt.wantErr { if err := pnd.removeDevice(tt.args.uuid); (err != nil) != tt.wantErr {
t.Errorf("removeDevice() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("removeDevice() error = %v, wantErr %v", err, tt.wantErr)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment