diff --git a/controller/northbound/server/role.go b/controller/northbound/server/role.go index bc2059d2f187bd9a306c60ba214ba3e952e378bd..fd742a96e6f21497de4985357d36447fe0090729 100644 --- a/controller/northbound/server/role.go +++ b/controller/northbound/server/role.go @@ -23,10 +23,11 @@ type Role struct { roleService rbacInterfaces.RoleService } -// NewRoleServer receives a JWTManager and returns a new Role. -func NewRoleServer(jwtManager *rbac.JWTManager) *Role { +// NewRoleServer receives a JWTManager and a RoleService and returns a new RoleServer. +func NewRoleServer(jwtManager *rbac.JWTManager, roleService rbacInterfaces.RoleService) *Role { return &Role{ - jwtManager: jwtManager, + jwtManager: jwtManager, + roleService: roleService, } } diff --git a/controller/northbound/server/role_test.go b/controller/northbound/server/role_test.go index 9fdbe2e5f86714ca952df1734c4c804f0fd18d28..afe0886b23a5e790d422f4f686a6a29d0c1ccc86 100644 --- a/controller/northbound/server/role_test.go +++ b/controller/northbound/server/role_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 getTestRoleServer(t *testing.T) *Role { + jwtManager := rbac.NewJWTManager("test", time.Second) + + userStore := rbac.NewMemoryUserStore() + userService := rbac.NewUserService(userStore) + + roleStore := rbac.NewMemoryRoleStore() + roleService := rbac.NewRoleService(roleStore) + + s := NewRoleServer(jwtManager, roleService) + err := clearAndCreateAuthTestSetup(userService, roleService) + if err != nil { + t.Fatalf("%v", err) + } + + return s +} + func TestRole_CreateRoles(t *testing.T) { type args struct { ctx context.Context @@ -39,7 +59,7 @@ func TestRole_CreateRoles(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} + s := getTestRoleServer(t) got, err := s.CreateRoles(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("Role.CreateRoles() error = %v, wantErr %v", err, tt.wantErr) @@ -95,7 +115,7 @@ func TestRole_GetRole(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} + s := getTestRoleServer(t) got, err := s.GetRole(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("Role.GetRole() error = %v, wantErr %v", err, tt.wantErr) @@ -116,11 +136,6 @@ func TestRole_GetRole(t *testing.T) { } func TestRole_GetRoles(t *testing.T) { - err := clearAndCreateAuthTestSetup() - if err != nil { - t.Fatalf("%v", err) - } - type args struct { ctx context.Context request *apb.GetRolesRequest @@ -171,7 +186,7 @@ func TestRole_GetRoles(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} + s := getTestRoleServer(t) got, err := s.GetRoles(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("Role.GetRoles() error = %v, wantErr %v", err, tt.wantErr) @@ -250,7 +265,7 @@ func TestRole_UpdateRoles(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} + s := getTestRoleServer(t) got, err := s.UpdateRoles(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("Role.UpdateRoles() error = %v, wantErr %v", err, tt.wantErr) @@ -265,7 +280,6 @@ func TestRole_UpdateRoles(t *testing.T) { } func TestRole_DeletePermissionsForRole(t *testing.T) { - clearAndCreateAuthTestSetup() type args struct { ctx context.Context @@ -311,7 +325,7 @@ func TestRole_DeletePermissionsForRole(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} + s := getTestRoleServer(t) got, err := s.DeletePermissionsForRole(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr { t.Errorf("Role.DeletePermissionsForRole() error = %v, wantErr %v", err, tt.wantErr) @@ -370,8 +384,7 @@ func TestRole_DeleteRoles(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - s := Role{} - clearAndCreateAuthTestSetup() + s := getTestRoleServer(t) got, err := s.DeleteRoles(tt.args.ctx, tt.args.request) if (err != nil) != tt.wantErr {