Skip to content
Snippets Groups Projects
core_test.go 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • Manuel Kieweg's avatar
    Manuel Kieweg committed
    package server
    
    import (
    	"context"
    	"reflect"
    	"testing"
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	pb "code.fbi.h-da.de/danet/api/go/gosdn/core"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    )
    
    func Test_core_Set(t *testing.T) {
    	type args struct {
    		ctx     context.Context
    		request *pb.SetRequest
    	}
    	tests := []struct {
    		name    string
    		args    args
    		want    *pb.SetResponse
    		wantErr bool
    	}{
    		{
    			name: "default",
    			args: args{
    				ctx: context.Background(),
    				request: &pb.SetRequest{
    					Pnd: []*pb.SetPnd{
    						{
    							Name:        "test",
    							Description: "test",
    							Sbi:         "test",
    						},
    					},
    				},
    			},
    			want: &pb.SetResponse{},
    		},
    	}
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    			s := core{
    				UnimplementedCoreServer: pb.UnimplementedCoreServer{},
    			}
    			got, err := s.Set(tt.args.ctx, tt.args.request)
    			if (err != nil) != tt.wantErr {
    				t.Errorf("core.Set() error = %v, wantErr %v", err, tt.wantErr)
    				return
    			}
    			tt.want.Timestamp = got.Timestamp
    			if !reflect.DeepEqual(got, tt.want) {
    				t.Errorf("core.Set() = %v, want %v", got, tt.want)
    			}
    		})
    	}
    }
    
    func Test_core_Get(t *testing.T) {
    	type args struct {
    		ctx     context.Context
    		request *pb.GetRequest
    	}
    	tests := []struct {
    		name    string
    		args    args
    		want    []string
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		wantErr bool
    	}{
    		{
    			name: "default",
    			args: args{
    				ctx: context.Background(),
    				request: &pb.GetRequest{
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    				},
    			},
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			want: []string{
    				pndID,
    				"test",
    				"test",
    			},
    		},
    
    		{
    			name: "getAll",
    			args: args{
    				ctx: context.Background(),
    				request: &pb.GetRequest{
    					All: true,
    				},
    			},
    			length: 2,
    		},
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	}
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    			s := core{
    				UnimplementedCoreServer: pb.UnimplementedCoreServer{},
    			}
    			resp, err := s.Get(tt.args.ctx, tt.args.request)
    			if (err != nil) != tt.wantErr {
    				t.Errorf("core.Get() error = %v, wantErr %v", err, tt.wantErr)
    				return
    			}
    
    
    			if tt.name == "default" {
    				got := []string{
    					resp.Pnd[0].Id,
    					resp.Pnd[0].Name,
    					resp.Pnd[0].Description,
    				}
    				if !reflect.DeepEqual(got, tt.want) {
    					t.Errorf("core.Get() = %v, want %v", got, tt.want)
    				}
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			}
    
    			length := len(resp.Pnd)
    			if tt.length != length {
    				t.Errorf("core.Get() = %v, want %v", length, tt.length)