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 (
// PrincipalNetworkDomain provides an
// interface for PND implementations
type PrincipalNetworkDomain interface {
GetName() string
Destroy() error
AddSbi() error
RemoveSbi() error
AddSbi(SouthboundInterface) error
RemoveSbi(string) error
AddDevice(Device) error
RemoveDevice(uuid uuid.UUID) error
}
type pndImplementation struct {
name string
sbi map[string]SouthboundInterface
devices map[uuid.UUID]Device
Name string
Description string
Sbi map[string]SouthboundInterface
Devices map[uuid.UUID]Device
}
//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["default"] = sbi
devices := make(map[uuid.UUID]Device)
return &pndImplementation{
name: name,
sbi: sbic,
devices: devices,
Name: name,
Description: description,
Sbi: sbic,
Devices: devices,
}
}
func (pnd *pndImplementation) GetName() string {
return pnd.Name
}
// Interface satisfaction
func (pnd *pndImplementation) Destroy() error {
return destroy()
}
func (pnd *pndImplementation) AddSbi() error {
return addSbi()
func (pnd *pndImplementation) AddSbi(sbi SouthboundInterface) error {
return pnd.addSbi(sbi)
}
func (pnd *pndImplementation) RemoveSbi() error {
return removeSbi()
func (pnd *pndImplementation) RemoveSbi(sbiIdentifier string) error {
return pnd.removeSbi(sbiIdentifier)
}
func (pnd *pndImplementation) AddDevice(device Device) error {
......@@ -59,20 +66,22 @@ func destroy() error {
return nil
}
func addSbi() error {
func (pnd *pndImplementation) addSbi(sbi SouthboundInterface) error {
pnd.Sbi[sbi.SbiIdentifier()] = sbi
return nil
}
func removeSbi() error {
func (pnd *pndImplementation) removeSbi(sbiIdentifier string) error {
delete(pnd.Sbi, sbiIdentifier)
return nil
}
func (pnd *pndImplementation) addDevice(device Device) error {
pnd.devices[device.Config.Uuid] = device
pnd.Devices[device.Config.Uuid] = device
return nil
}
func (pnd *pndImplementation) removeDevice(uuid uuid.UUID) error {
delete(pnd.devices, uuid)
delete(pnd.Devices, uuid)
return nil
}
......@@ -79,9 +79,9 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.AddDevice(tt.args.device); (err != nil) != tt.wantErr {
t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr)
......@@ -106,9 +106,9 @@ func Test_pndImplementation_AddSbi(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.AddSbi(); (err != nil) != tt.wantErr {
t.Errorf("AddSbi() error = %v, wantErr %v", err, tt.wantErr)
......@@ -133,9 +133,9 @@ func Test_pndImplementation_Destroy(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.Destroy(); (err != nil) != tt.wantErr {
t.Errorf("Destroy() error = %v, wantErr %v", err, tt.wantErr)
......@@ -164,9 +164,9 @@ func Test_pndImplementation_RemoveDevice(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.RemoveDevice(tt.args.uuid); (err != nil) != tt.wantErr {
t.Errorf("RemoveDevice() error = %v, wantErr %v", err, tt.wantErr)
......@@ -191,9 +191,9 @@ func Test_pndImplementation_RemoveSbi(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.RemoveSbi(); (err != nil) != tt.wantErr {
t.Errorf("RemoveSbi() error = %v, wantErr %v", err, tt.wantErr)
......@@ -222,9 +222,9 @@ func Test_pndImplementation_addDevice(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.addDevice(tt.args.device); (err != nil) != tt.wantErr {
t.Errorf("addDevice() error = %v, wantErr %v", err, tt.wantErr)
......@@ -253,9 +253,9 @@ func Test_pndImplementation_removeDevice(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
pnd := &pndImplementation{
name: tt.fields.name,
sbi: tt.fields.sbi,
devices: tt.fields.devices,
Name: tt.fields.name,
Sbi: tt.fields.sbi,
Devices: tt.fields.devices,
}
if err := pnd.removeDevice(tt.args.uuid); (err != nil) != 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