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 {