diff options
2 files changed, 9 insertions, 0 deletions
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupService.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupService.java index 37fef76d14f..95cbbd3750c 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupService.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupService.java @@ -60,6 +60,8 @@ public class GroupService { removeGroupFromQualityGateEdit(dbSession, group); removeGroupScimLink(dbSession, group); removeExternalGroupMapping(dbSession, group); + removeGithubOrganizationGroupDao(dbSession, group); + removeGroup(dbSession, group); } @@ -162,6 +164,9 @@ public class GroupService { private void removeExternalGroupMapping(DbSession dbSession, GroupDto group) { dbClient.externalGroupDao().deleteByGroupUuid(dbSession, group.getUuid()); } + private void removeGithubOrganizationGroupDao(DbSession dbSession, GroupDto group) { + dbClient.githubOrganizationGroupDao().deleteByGroupUuid(dbSession, group.getUuid()); + } private void removeGroup(DbSession dbSession, GroupDto group) { dbClient.groupDao().deleteByUuid(dbSession, group.getUuid(), group.getName()); diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupServiceTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupServiceTest.java index b9513fe3dbf..998a5095015 100644 --- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupServiceTest.java +++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupServiceTest.java @@ -39,6 +39,7 @@ import org.sonar.db.DbSession; import org.sonar.db.permission.AuthorizationDao; import org.sonar.db.permission.GlobalPermission; import org.sonar.db.permission.template.PermissionTemplateDao; +import org.sonar.db.provisioning.GithubOrganizationGroupDao; import org.sonar.db.qualitygate.QualityGateGroupPermissionsDao; import org.sonar.db.qualityprofile.QProfileEditGroupsDao; import org.sonar.db.scim.ScimGroupDao; @@ -95,6 +96,7 @@ public class GroupServiceTest { when(dbClient.scimGroupDao()).thenReturn(mock(ScimGroupDao.class)); when(dbClient.externalGroupDao()).thenReturn(mock(ExternalGroupDao.class)); when(dbClient.groupDao()).thenReturn(mock(GroupDao.class)); + when(dbClient.githubOrganizationGroupDao()).thenReturn(mock(GithubOrganizationGroupDao.class)); } @Test @@ -320,6 +322,7 @@ public class GroupServiceTest { verify(dbClient.qualityGateGroupPermissionsDao(), never()).deleteByGroup(dbSession, groupDto); verify(dbClient.scimGroupDao(), never()).deleteByGroupUuid(dbSession, groupDto.getUuid()); verify(dbClient.groupDao(), never()).deleteByUuid(dbSession, groupDto.getUuid(), groupDto.getName()); + verify(dbClient.githubOrganizationGroupDao(), never()).deleteByGroupUuid(dbSession, groupDto.getUuid()); } private void verifyGroupDelete(DbSession dbSession, GroupDto groupDto) { @@ -331,5 +334,6 @@ public class GroupServiceTest { verify(dbClient.scimGroupDao()).deleteByGroupUuid(dbSession, groupDto.getUuid()); verify(dbClient.externalGroupDao()).deleteByGroupUuid(dbSession, groupDto.getUuid()); verify(dbClient.groupDao()).deleteByUuid(dbSession, groupDto.getUuid(), groupDto.getName()); + verify(dbClient.githubOrganizationGroupDao()).deleteByGroupUuid(dbSession, groupDto.getUuid()); } } |