Chore: Use org service methods (#55738)

* Chore: Use org service methods

* Fix loginservice test

* User Serach from org service

* Fix test
This commit is contained in:
idafurjes
2022-09-26 18:53:17 +02:00
committed by GitHub
parent 29fdbf0354
commit 846a4510b4
4 changed files with 64 additions and 28 deletions
@@ -313,14 +313,14 @@ func (ls *Implementation) syncOrgRoles(ctx context.Context, usr *user.User, extU
for _, orgId := range deleteOrgIds {
logger.Debug("Removing user's organization membership as part of syncing with OAuth login",
"userId", usr.ID, "orgId", orgId)
cmd := &models.RemoveOrgUserCommand{OrgId: orgId, UserId: usr.ID}
if err := ls.SQLStore.RemoveOrgUser(ctx, cmd); err != nil {
cmd := &org.RemoveOrgUserCommand{OrgID: orgId, UserID: usr.ID}
if err := ls.orgService.RemoveOrgUser(ctx, cmd); err != nil {
if errors.Is(err, models.ErrLastOrgAdmin) {
logger.Error(err.Error(), "userId", cmd.UserId, "orgId", cmd.OrgId)
logger.Error(err.Error(), "userId", cmd.UserID, "orgId", cmd.OrgID)
continue
}
if err := ls.accessControl.DeleteUserPermissions(ctx, orgId, cmd.UserId); err != nil {
logger.Warn("failed to delete permissions for user", "userID", cmd.UserId, "orgID", orgId)
if err := ls.accessControl.DeleteUserPermissions(ctx, orgId, cmd.UserID); err != nil {
logger.Warn("failed to delete permissions for user", "userID", cmd.UserID, "orgID", orgId)
}
return err
@@ -12,6 +12,7 @@ import (
"github.com/grafana/grafana/pkg/services/login"
"github.com/grafana/grafana/pkg/services/login/logintest"
"github.com/grafana/grafana/pkg/services/org"
"github.com/grafana/grafana/pkg/services/org/orgtest"
"github.com/grafana/grafana/pkg/services/quota/quotaimpl"
"github.com/grafana/grafana/pkg/services/sqlstore/mockstore"
"github.com/grafana/grafana/pkg/services/user"
@@ -35,6 +36,7 @@ func Test_syncOrgRoles_doesNotBreakWhenTryingToRemoveLastOrgAdmin(t *testing.T)
AuthInfoService: authInfoMock,
SQLStore: store,
userService: usertest.NewUserServiceFake(),
orgService: orgtest.NewOrgServiceFake(),
}
err := login.syncOrgRoles(context.Background(), &user, &externalUser)
@@ -55,11 +57,15 @@ func Test_syncOrgRoles_whenTryingToRemoveLastOrgLogsError(t *testing.T) {
ExpectedOrgListResponse: createResponseWithOneErrLastOrgAdminItem(),
}
orgService := orgtest.NewOrgServiceFake()
orgService.ExpectedError = models.ErrLastOrgAdmin
login := Implementation{
QuotaService: &quotaimpl.Service{},
AuthInfoService: authInfoMock,
SQLStore: store,
userService: usertest.NewUserServiceFake(),
orgService: orgService,
}
err := login.syncOrgRoles(context.Background(), &user, &externalUser)