diff --git a/nucleus/cli-handling.go b/nucleus/cli-handling.go index 8a02188159b6bcc5372e45b2d84d87dc1153fb88..a3cd14a7ac0e5b90646448b9d3d2027708f81c2d 100644 --- a/nucleus/cli-handling.go +++ b/nucleus/cli-handling.go @@ -58,7 +58,7 @@ func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloRe return &pb.HelloReply{Message: "Hello " + in.GetName(), GoSDNInfo: "goSDN in version: DEVELOP"}, nil } -//GetLog creates a continuous stream between ciena and server to send goSDN logs +// CreateLogStream creates a continuous stream between client and server to send goSDN logs func (s *server) CreateLogStream(req *emptypb.Empty, stream pb.GrpcCli_CreateLogStreamServer) error { conn := &logConnection{ stream: stream, @@ -138,27 +138,8 @@ func getCLIGoing(core *Core) { } } -// SBI specific calls, by now TAPI only -func (s *server) TAPIGetEdge(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) { - log.Info("Received: ", in.GetName()) - // TODO: Implement - return &pb.TAPIReply{Message: "Done"}, nil -} - -func (s *server) TAPIGetEdgeNode(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) { - log.Info("Received: ", in.GetName()) - // TODO: Implement - return &pb.TAPIReply{Message: "Done"}, nil -} - -func (s *server) TAPIGetLink(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) { - log.Info("Received: ", in.GetName()) - // TODO: Implement - return &pb.TAPIReply{Message: "Done"}, nil -} - -//CreatePND creates a new PND and adds it to the principalNetworkDomain map of -//the core +// CreatePND creates a new PND and adds it to the principalNetworkDomain map of +// the core func (s *server) CreatePND(ctx context.Context, in *pb.CreatePNDRequest) (*pb.CreatePNDReply, error) { log.Info("Received: Create a PND with the name", in.GetName()) sbi := s.core.southboundInterfaces[in.GetSbi()] @@ -168,8 +149,8 @@ func (s *server) CreatePND(ctx context.Context, in *pb.CreatePNDRequest) (*pb.Cr return &pb.CreatePNDReply{Message: "Created new PND: " + id.String()}, nil } -//GetAllPNDs is a request to get all current registered PNDs and returns a slim -//variant of PNDs and their respective devices +// GetAllPNDs is a request to get all currently registered PNDs and returns a slim +// variant of PNDs and their respective devices func (s *server) GetAllPNDs(ctx context.Context, in *emptypb.Empty) (*pb.AllPNDsReply, error) { log.Info("Received: Get all PNDs") var pnds []*pb.PND @@ -195,7 +176,7 @@ func (s *server) GetAllPNDs(ctx context.Context, in *emptypb.Empty) (*pb.AllPNDs return &pb.AllPNDsReply{Pnds: pnds}, nil } -//GetAllSBINames returns all registered SBIs from core. +// GetAllSBINames returns all registered SBIs from core. func (s *server) GetAllSBINames(ctx context.Context, in *emptypb.Empty) (*pb.AllSBINamesReply, error) { var sbiNames []string for _, s := range s.core.southboundInterfaces { @@ -204,8 +185,8 @@ func (s *server) GetAllSBINames(ctx context.Context, in *emptypb.Empty) (*pb.All return &pb.AllSBINamesReply{SbiNames: sbiNames}, nil } -//AddDevice adds a new Device to a specific PND -//currently this is only working with gnmi transports +// AddDevice adds a new Device to a specific PND +// currently this is only working with gnmi transports func (s *server) AddDevice(ctx context.Context, in *pb.AddDeviceRequest) (*pb.AddDeviceReply, error) { log.Info("Received: AddDevice") uuidPND, err := uuid.Parse(in.UuidPND) @@ -241,7 +222,7 @@ func (s *server) AddDevice(ctx context.Context, in *pb.AddDeviceRequest) (*pb.Ad return &pb.AddDeviceReply{Message: "Added new Device: " + newDevice.Config.Uuid.String()}, err } -//HandleDeviceGetRequest handles a GET request via pnd.Request() +// HandleDeviceGetRequest handles a GET request via pnd.Request() func (s *server) HandleDeviceGetRequest(ctx context.Context, in *pb.DeviceGetRequest) (*pb.DeviceGetReply, error) { log.Info("Received: HandleDeviceGetRequest") uuidPND, err := uuid.Parse(in.GetUuidPND()) diff --git a/nucleus/cli-handling_test.go b/nucleus/cli-handling_test.go index 5fa897297a3cbdddc8b9156600d469cd7e168cd9..c5850e5ffa2b5fc237977affbba7ad18f308f942 100644 --- a/nucleus/cli-handling_test.go +++ b/nucleus/cli-handling_test.go @@ -1,61 +1,396 @@ package nucleus import ( + pb "code.fbi.h-da.de/cocsn/gosdn/api/proto" + "context" + "github.com/google/uuid" + "google.golang.org/protobuf/types/known/emptypb" + "reflect" "testing" ) func Test_buf_Write(t *testing.T) { - + type args struct { + p []byte + } + tests := []struct { + name string + b buf + args args + wantN int + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + gotN, err := tt.b.Write(tt.args.p) + if (err != nil) != tt.wantErr { + t.Errorf("Write() error = %v, wantErr %v", err, tt.wantErr) + return + } + if gotN != tt.wantN { + t.Errorf("Write() gotN = %v, want %v", gotN, tt.wantN) + } + }) + } } func Test_getCLIGoing(t *testing.T) { - + type args struct { + core *Core + } + tests := []struct { + name string + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + }) + } } func Test_server_AddDevice(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *pb.AddDeviceRequest + } + tests := []struct { + name string + fields fields + args args + want *pb.AddDeviceReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.AddDevice(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("AddDevice() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_BroadcastLog(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + log *pb.LogReply + } + tests := []struct { + name string + fields fields + args args + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + _ = &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + }) + } } func Test_server_CreateLogStream(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + req *emptypb.Empty + stream pb.GrpcCli_CreateLogStreamServer + } + tests := []struct { + name string + fields fields + args args + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + if err := s.CreateLogStream(tt.args.req, tt.args.stream); (err != nil) != tt.wantErr { + t.Errorf("CreateLogStream() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } } func Test_server_CreatePND(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *pb.CreatePNDRequest + } + tests := []struct { + name string + fields fields + args args + want *pb.CreatePNDReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.CreatePND(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("CreatePND() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("CreatePND() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_GetAllPNDs(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *emptypb.Empty + } + tests := []struct { + name string + fields fields + args args + want *pb.AllPNDsReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.GetAllPNDs(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("GetAllPNDs() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("GetAllPNDs() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_GetAllSBINames(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *emptypb.Empty + } + tests := []struct { + name string + fields fields + args args + want *pb.AllSBINamesReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.GetAllSBINames(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("GetAllSBINames() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("GetAllSBINames() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_HandleDeviceGetRequest(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *pb.DeviceGetRequest + } + tests := []struct { + name string + fields fields + args args + want *pb.DeviceGetReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.HandleDeviceGetRequest(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("HandleDeviceGetRequest() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("HandleDeviceGetRequest() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_SayHello(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *pb.HelloRequest + } + tests := []struct { + name string + fields fields + args args + want *pb.HelloReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.SayHello(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("SayHello() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("SayHello() got = %v, want %v", got, tt.want) + } + }) + } } func Test_server_Shutdown(t *testing.T) { - -} - -func Test_server_TAPIGetEdge(t *testing.T) { - -} - -func Test_server_TAPIGetEdgeNode(t *testing.T) { - -} - -func Test_server_TAPIGetLink(t *testing.T) { - + type fields struct { + UnimplementedGrpcCliServer pb.UnimplementedGrpcCliServer + core *Core + logConnections []*logConnection + devices map[uuid.UUID]Device + } + type args struct { + ctx context.Context + in *pb.ShutdownRequest + } + tests := []struct { + name string + fields fields + args args + want *pb.ShutdownReply + wantErr bool + }{ + // TODO: Add test cases. + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + s := &server{ + UnimplementedGrpcCliServer: tt.fields.UnimplementedGrpcCliServer, + core: tt.fields.core, + logConnections: tt.fields.logConnections, + devices: tt.fields.devices, + } + got, err := s.Shutdown(tt.args.ctx, tt.args.in) + if (err != nil) != tt.wantErr { + t.Errorf("Shutdown() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("Shutdown() got = %v, want %v", got, tt.want) + } + }) + } }