diff --git a/controller/northbound/server/user.go b/controller/northbound/server/user.go index 56524cd7ec4822d4feb1d9efed19b63cccc345ce..23885863725164f7643f933203c60fdf3c57438d 100644 --- a/controller/northbound/server/user.go +++ b/controller/northbound/server/user.go @@ -28,10 +28,11 @@ type User struct { userService rbacInterfaces.UserService } -// NewUserServer receives a JWTManager and returns a new UserServer. -func NewUserServer(jwtManager *rbac.JWTManager) *User { +// NewUserServer receives a JWTManager and a UserService and returns a new UserServer. +func NewUserServer(jwtManager *rbac.JWTManager, userService rbacInterfaces.UserService) *User { return &User{ - jwtManager: jwtManager, + jwtManager: jwtManager, + userService: userService, } } diff --git a/controller/northbound/server/user_test.go b/controller/northbound/server/user_test.go index a5d2d25f291387cb5c363434e641e4a42da2a2f8..c84533635306c916a2f0011510cef50b0bc110de 100644 --- a/controller/northbound/server/user_test.go +++ b/controller/northbound/server/user_test.go @@ -4,11 +4,31 @@ import ( "context" "reflect" "testing" + "time" apb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/rbac" + "code.fbi.h-da.de/danet/gosdn/controller/rbac" "github.com/google/uuid" ) +func getTestUserServer(t *testing.T) *User { + jwtManager := rbac.NewJWTManager("test", time.Second) + + userStore := rbac.NewMemoryUserStore() + userService := rbac.NewUserService(userStore) + + roleStore := rbac.NewMemoryRoleStore() + roleService := rbac.NewRoleService(roleStore) + + s := NewUserServer(jwtManager, userService) + err := clearAndCreateAuthTestSetup(s.userService, roleService) + if err != nil { + t.Fatalf("%v", err) + } + + return s +} + func TestUser_CreateUsers(t *testing.T) { type args struct { ctx context.Context @@ -41,9 +61,7 @@ func TestUser_CreateUsers(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := User{ - jwtManager: jwt, - } + s := getTestUserServer(t) got, err := s.CreateUsers(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("User.CreateUsers() error = %v, wantErr %v", err, tt.wantErr) @@ -96,7 +114,7 @@ func TestUser_GetUser(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := User{} + s := getTestUserServer(t) got, err := s.GetUser(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("User.GetUser() error = %v, wantErr %v", err, tt.wantErr) @@ -117,10 +135,6 @@ func TestUser_GetUser(t *testing.T) { } func TestUser_GetUsers(t *testing.T) { - err := clearAndCreateAuthTestSetup() - if err != nil { - t.Fatalf("%v", err) - } type args struct { ctx context.Context request *apb.GetUsersRequest @@ -150,7 +164,8 @@ func TestUser_GetUsers(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := User{} + s := getTestUserServer(t) + got, err := s.GetUsers(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("User.GetUsers() error = %v, wantErr %v", err, tt.wantErr) @@ -220,7 +235,7 @@ func TestUser_UpdateUsers(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := User{} + s := getTestUserServer(t) got, err := s.UpdateUsers(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("User.UpdateUsers() error = %v, wantErr %v", err, tt.wantErr) @@ -264,7 +279,7 @@ func TestUser_DeleteUsers(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := User{} + s := getTestUserServer(t) got, err := s.DeleteUsers(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("User.DeleteUsers() error = %v, wantErr %v", err, tt.wantErr)