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

Update test cases for networkElement

parent 6153780c
No related branches found
No related tags found
1 merge request!401Change the current gosdn plugin implementation from Go's internal plugin system to hashicorp's go-plugins
...@@ -5,20 +5,18 @@ import ( ...@@ -5,20 +5,18 @@ import (
"testing" "testing"
"code.fbi.h-da.de/danet/gosdn/controller/conflict" "code.fbi.h-da.de/danet/gosdn/controller/conflict"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound" "code.fbi.h-da.de/danet/gosdn/controller/interfaces/plugin"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/transport" "code.fbi.h-da.de/danet/gosdn/controller/interfaces/transport"
"code.fbi.h-da.de/danet/gosdn/controller/mocks"
tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport" tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport"
"code.fbi.h-da.de/danet/gosdn/models/generated/openconfig"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/openconfig/ygot/ygot"
) )
func TestNetworkElement_Id(t *testing.T) { func TestNetworkElement_Id(t *testing.T) {
type fields struct { type fields struct {
Model ygot.ValidatedGoStruct Plugin plugin.Plugin
SBI southbound.SouthboundInterface
Transport transport.Transport Transport transport.Transport
UUID uuid.UUID UUID uuid.UUID
Name string Name string
...@@ -39,8 +37,7 @@ func TestNetworkElement_Id(t *testing.T) { ...@@ -39,8 +37,7 @@ func TestNetworkElement_Id(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) {
d := &CommonNetworkElement{ d := &CommonNetworkElement{
Plugin: tt.fields.Model, Plugin: tt.fields.Plugin,
sbi: tt.fields.SBI,
transport: tt.fields.Transport, transport: tt.fields.Transport,
UUID: tt.fields.UUID, UUID: tt.fields.UUID,
name: tt.fields.Name, name: tt.fields.Name,
...@@ -53,11 +50,11 @@ func TestNetworkElement_Id(t *testing.T) { ...@@ -53,11 +50,11 @@ func TestNetworkElement_Id(t *testing.T) {
} }
func TestNewNetworkElement(t *testing.T) { func TestNewNetworkElement(t *testing.T) {
sbi := &OpenConfig{} mockPlugin := mockPlugin(t)
type args struct { type args struct {
sbi southbound.SouthboundInterface plugin plugin.Plugin
opts *tpb.TransportOption opts *tpb.TransportOption
name string name string
} }
tests := []struct { tests := []struct {
name string name string
...@@ -67,7 +64,7 @@ func TestNewNetworkElement(t *testing.T) { ...@@ -67,7 +64,7 @@ func TestNewNetworkElement(t *testing.T) {
{ {
name: "default", name: "default",
args: args{ args: args{
sbi: sbi, plugin: mockPlugin,
opts: &tpb.TransportOption{ opts: &tpb.TransportOption{
Address: "test:///", Address: "test:///",
Username: "test", Username: "test",
...@@ -87,7 +84,7 @@ func TestNewNetworkElement(t *testing.T) { ...@@ -87,7 +84,7 @@ func TestNewNetworkElement(t *testing.T) {
{ {
name: "invalid options", name: "invalid options",
args: args{ args: args{
sbi: sbi, plugin: mockPlugin,
opts: &tpb.TransportOption{ opts: &tpb.TransportOption{
Address: "test:///", Address: "test:///",
Username: "test", Username: "test",
...@@ -102,21 +99,18 @@ func TestNewNetworkElement(t *testing.T) { ...@@ -102,21 +99,18 @@ func TestNewNetworkElement(t *testing.T) {
tt := tt tt := tt
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
t.Parallel() t.Parallel()
resp, err := NewNetworkElement(tt.args.name, uuid.Nil, tt.args.opts, tt.args.sbi, conflict.Metadata{}) resp, err := NewNetworkElement(tt.args.name, uuid.Nil, tt.args.opts, tt.args.plugin, conflict.Metadata{})
if (err != nil) != tt.wantErr { if (err != nil) != tt.wantErr {
t.Errorf("NewNetworkElement() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("NewNetworkElement() error = %v, wantErr %v", err, tt.wantErr)
return return
} }
if resp != nil { if resp != nil {
if reflect.TypeOf(resp.GetModel()) != reflect.TypeOf(&openconfig.Device{}) { if reflect.TypeOf(resp.GetPlugin()) != reflect.TypeOf(&mocks.Plugin{}) {
t.Error("NewNetworkElement() returned invalid GoStruct") t.Error("NewNetworkElement() returned invalid plugin")
} }
if reflect.TypeOf(resp.Transport()) != reflect.TypeOf(&Gnmi{}) { if reflect.TypeOf(resp.Transport()) != reflect.TypeOf(&Gnmi{}) {
t.Error("NewNetworkElement() returned invalid transport") t.Error("NewNetworkElement() returned invalid transport")
} }
if reflect.TypeOf(resp.SBI()) != reflect.TypeOf(&OpenConfig{}) {
t.Error("NewNetworkElement() returned invalid GoStruct")
}
if resp.Name() != "MyNetworkElement" { if resp.Name() != "MyNetworkElement" {
t.Error("NewNetworkElement() returned wrong name") t.Error("NewNetworkElement() returned wrong name")
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment