From a82999c5d8b9ab38e20950d5ecd2c2859e29d2ad Mon Sep 17 00:00:00 2001 From: Antoine Vigneau Date: Mon, 3 Jul 2023 11:43:58 +0200 Subject: SONAR-19784 Improve GitHub project lookup to disallow visibility update --- .../DelegatingManagedInstanceServiceTest.java | 309 --------------------- .../management/DelegatingManagedServicesTest.java | 305 ++++++++++++++++++++ 2 files changed, 305 insertions(+), 309 deletions(-) delete mode 100644 server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedInstanceServiceTest.java create mode 100644 server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedServicesTest.java (limited to 'server/sonar-server-common/src/test') diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedInstanceServiceTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedInstanceServiceTest.java deleted file mode 100644 index 1aa7acd4187..00000000000 --- a/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedInstanceServiceTest.java +++ /dev/null @@ -1,309 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2023 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package org.sonar.server.management; - -import java.util.Map; -import java.util.Set; -import org.jetbrains.annotations.NotNull; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.sonar.db.DbSession; - -import static java.util.Collections.emptySet; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -@RunWith(MockitoJUnitRunner.class) -public class DelegatingManagedInstanceServiceTest { - - @Mock - private DbSession dbSession; - - @Test - public void getProviderName_whenNotManaged_shouldThrow() { - DelegatingManagedInstanceService managedInstanceService = noManagedInstanceService(); - - assertThatThrownBy(managedInstanceService::getProviderName) - .isInstanceOf(IllegalStateException.class) - .hasMessage("This instance is not managed."); - } - - @Test - public void getProviderName_whenManaged_shouldReturnName() { - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new AlwaysManagedInstanceService())); - - assertThat(managedInstanceService.getProviderName()).isEqualTo("Always"); - } - - @Test - public void isInstanceExternallyManaged_whenNoManagedInstanceService_returnsFalse() { - DelegatingManagedInstanceService managedInstanceService = noManagedInstanceService(); - assertThat(managedInstanceService.isInstanceExternallyManaged()).isFalse(); - } - - @Test - public void isInstanceExternallyManaged_whenAllManagedInstanceServiceReturnsFalse_returnsFalse() { - Set delegates = Set.of(new NeverManagedInstanceService(), new NeverManagedInstanceService()); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(delegates); - - assertThat(managedInstanceService.isInstanceExternallyManaged()).isFalse(); - } - - @Test - public void isInstanceExternallyManaged_whenOneManagedInstanceServiceReturnsTrue_returnsTrue() { - Set delegates = Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService()); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(delegates); - - assertThat(managedInstanceService.isInstanceExternallyManaged()).isTrue(); - } - - @Test - public void getUserUuidToManaged_whenNoDelegates_setAllUsersAsNonManaged() { - Set userUuids = Set.of("a", "b"); - DelegatingManagedInstanceService managedInstanceService = noManagedInstanceService(); - - Map userUuidToManaged = managedInstanceService.getUserUuidToManaged(dbSession, userUuids); - - assertThat(userUuidToManaged).containsExactlyInAnyOrderEntriesOf(Map.of("a", false, "b", false)); - } - - @Test - public void getUserUuidToManaged_delegatesToRightService_andPropagateAnswer() { - Set userUuids = Set.of("a", "b"); - Map serviceResponse = Map.of("a", false, "b", true); - - ManagedInstanceService anotherManagedInstanceService = getManagedInstanceService(userUuids, serviceResponse); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), anotherManagedInstanceService)); - - Map userUuidToManaged = managedInstanceService.getUserUuidToManaged(dbSession, userUuids); - - assertThat(userUuidToManaged).containsExactlyInAnyOrderEntriesOf(serviceResponse); - } - - @Test - public void getGroupUuidToManaged_whenNoDelegates_setAllUsersAsNonManaged() { - Set groupUuids = Set.of("a", "b"); - DelegatingManagedInstanceService managedInstanceService = noManagedInstanceService(); - - Map groupUuidToManaged = managedInstanceService.getGroupUuidToManaged(dbSession, groupUuids); - - assertThat(groupUuidToManaged).containsExactlyInAnyOrderEntriesOf(Map.of("a", false, "b", false)); - } - - @Test - public void isUserManaged_delegatesToRightService_andPropagateAnswer() { - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService())); - - assertThat(managedInstanceService.isUserManaged(dbSession, "login")).isTrue(); - } - - @Test - public void isUserManaged_whenNoDelegates_returnsFalse() { - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of()); - - assertThat(managedInstanceService.isUserManaged(dbSession, "login")).isFalse(); - } - - @Test - public void getGroupUuidToManaged_delegatesToRightService_andPropagateAnswer() { - Set groupUuids = Set.of("a", "b"); - Map serviceResponse = Map.of("a", false, "b", true); - - ManagedInstanceService anotherManagedInstanceService = getManagedInstanceService(groupUuids, serviceResponse); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), anotherManagedInstanceService)); - - Map groupUuidToManaged = managedInstanceService.getGroupUuidToManaged(dbSession, groupUuids); - - assertThat(groupUuidToManaged).containsExactlyInAnyOrderEntriesOf(serviceResponse); - } - - @Test - public void getGroupUuidToManaged_ifMoreThanOneDelegatesActivated_throws() { - Set managedInstanceServices = Set.of(new AlwaysManagedInstanceService(), new AlwaysManagedInstanceService()); - DelegatingManagedInstanceService delegatingManagedInstanceService = new DelegatingManagedInstanceService(managedInstanceServices); - assertThatIllegalStateException() - .isThrownBy(() -> delegatingManagedInstanceService.getGroupUuidToManaged(dbSession, Set.of("a"))) - .withMessage("The instance can't be managed by more than one identity provider and 2 were found."); - } - - @Test - public void getUserUuidToManaged_ifMoreThanOneDelegatesActivated_throws() { - Set managedInstanceServices = Set.of(new AlwaysManagedInstanceService(), new AlwaysManagedInstanceService()); - DelegatingManagedInstanceService delegatingManagedInstanceService = new DelegatingManagedInstanceService(managedInstanceServices); - assertThatIllegalStateException() - .isThrownBy(() -> delegatingManagedInstanceService.getUserUuidToManaged(dbSession, Set.of("a"))) - .withMessage("The instance can't be managed by more than one identity provider and 2 were found."); - } - - @Test - public void getManagedUsersSqlFilter_whenNoDelegates_throws() { - Set managedInstanceServices = emptySet(); - DelegatingManagedInstanceService delegatingManagedInstanceService = new DelegatingManagedInstanceService(managedInstanceServices); - assertThatIllegalStateException() - .isThrownBy(() -> delegatingManagedInstanceService.getManagedUsersSqlFilter(true)) - .withMessage("This instance is not managed."); - } - - @Test - public void getManagedUsersSqlFilter_delegatesToRightService_andPropagateAnswer() { - AlwaysManagedInstanceService alwaysManagedInstanceService = new AlwaysManagedInstanceService(); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), alwaysManagedInstanceService)); - - assertThat(managedInstanceService.getManagedUsersSqlFilter(true)).isNotNull().isEqualTo(alwaysManagedInstanceService.getManagedUsersSqlFilter( - true)); - } - - @Test - public void getManagedGroupsSqlFilter_whenNoDelegates_throws() { - Set managedInstanceServices = emptySet(); - DelegatingManagedInstanceService delegatingManagedInstanceService = new DelegatingManagedInstanceService(managedInstanceServices); - assertThatIllegalStateException() - .isThrownBy(() -> delegatingManagedInstanceService.getManagedGroupsSqlFilter(true)) - .withMessage("This instance is not managed."); - } - - @Test - public void getManagedGroupsSqlFilter_delegatesToRightService_andPropagateAnswer() { - AlwaysManagedInstanceService alwaysManagedInstanceService = new AlwaysManagedInstanceService(); - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), alwaysManagedInstanceService)); - - assertThat(managedInstanceService.getManagedGroupsSqlFilter(true)).isNotNull().isEqualTo(alwaysManagedInstanceService.getManagedGroupsSqlFilter( - true)); - } - - private ManagedInstanceService getManagedInstanceService(Set userUuids, Map uuidToManaged) { - ManagedInstanceService anotherManagedInstanceService = mock(ManagedInstanceService.class); - when(anotherManagedInstanceService.isInstanceExternallyManaged()).thenReturn(true); - when(anotherManagedInstanceService.getGroupUuidToManaged(dbSession, userUuids)).thenReturn(uuidToManaged); - when(anotherManagedInstanceService.getUserUuidToManaged(dbSession, userUuids)).thenReturn(uuidToManaged); - return anotherManagedInstanceService; - } - - @Test - public void isProjectManaged_whenManagedInstanceServices_shouldDelegatesToRightService() { - DelegatingManagedInstanceService managedInstanceService = new DelegatingManagedInstanceService(Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService())); - - assertThat(managedInstanceService.isProjectManaged(dbSession, "project_key")).isTrue(); - } - - @Test - public void isProjectManaged_whenManagedNoInstanceServices_returnsFalse() { - DelegatingManagedInstanceService managedInstanceService = noManagedInstanceService(); - - assertThat(managedInstanceService.isProjectManaged(dbSession, "project_key")).isFalse(); - } - - @NotNull - private static DelegatingManagedInstanceService noManagedInstanceService() { - return new DelegatingManagedInstanceService(emptySet()); - } - - private static class NeverManagedInstanceService implements ManagedInstanceService, ManagedProjectService { - - @Override - public boolean isInstanceExternallyManaged() { - return false; - } - - @Override - public String getProviderName() { - return "Never"; - } - - @Override - public Map getUserUuidToManaged(DbSession dbSession, Set userUuids) { - return null; - } - - @Override - public Map getGroupUuidToManaged(DbSession dbSession, Set groupUuids) { - return null; - } - - @Override - public String getManagedUsersSqlFilter(boolean filterByManaged) { - return null; - } - - @Override - public String getManagedGroupsSqlFilter(boolean filterByManaged) { - return null; - } - - @Override - public boolean isUserManaged(DbSession dbSession, String login) { - return false; - } - - @Override - public boolean isProjectManaged(DbSession dbSession, String projectKey) { - return false; - } - } - - private static class AlwaysManagedInstanceService implements ManagedInstanceService, ManagedProjectService { - - @Override - public boolean isInstanceExternallyManaged() { - return true; - } - - @Override - public String getProviderName() { - return "Always"; - } - - @Override - public Map getUserUuidToManaged(DbSession dbSession, Set userUuids) { - return null; - } - - @Override - public Map getGroupUuidToManaged(DbSession dbSession, Set groupUuids) { - return null; - } - - @Override - public String getManagedUsersSqlFilter(boolean filterByManaged) { - return "any filter"; - } - - @Override - public String getManagedGroupsSqlFilter(boolean filterByManaged) { - return "any filter"; - } - - @Override - public boolean isUserManaged(DbSession dbSession, String login) { - return true; - } - - @Override - public boolean isProjectManaged(DbSession dbSession, String projectKey) { - return true; - } - } - -} diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedServicesTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedServicesTest.java new file mode 100644 index 00000000000..042f46750b4 --- /dev/null +++ b/server/sonar-server-common/src/test/java/org/sonar/server/management/DelegatingManagedServicesTest.java @@ -0,0 +1,305 @@ +/* + * SonarQube + * Copyright (C) 2009-2023 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.server.management; + +import java.util.Map; +import java.util.Set; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.sonar.db.DbSession; + +import static java.util.Collections.emptySet; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIllegalStateException; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class DelegatingManagedServicesTest { + + private static final DelegatingManagedServices NO_MANAGED_SERVICES = new DelegatingManagedServices(emptySet()); + + @Mock + private DbSession dbSession; + + @Test + public void getProviderName_whenNotManaged_shouldThrow() { + DelegatingManagedServices managedInstanceService = NO_MANAGED_SERVICES; + + assertThatThrownBy(managedInstanceService::getProviderName) + .isInstanceOf(IllegalStateException.class) + .hasMessage("This instance is not managed."); + } + + @Test + public void getProviderName_whenManaged_shouldReturnName() { + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new AlwaysManagedInstanceService())); + + assertThat(managedInstanceService.getProviderName()).isEqualTo("Always"); + } + + @Test + public void isInstanceExternallyManaged_whenNoManagedInstanceService_returnsFalse() { + DelegatingManagedServices managedInstanceService = NO_MANAGED_SERVICES; + assertThat(managedInstanceService.isInstanceExternallyManaged()).isFalse(); + } + + @Test + public void isInstanceExternallyManaged_whenAllManagedInstanceServiceReturnsFalse_returnsFalse() { + Set delegates = Set.of(new NeverManagedInstanceService(), new NeverManagedInstanceService()); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(delegates); + + assertThat(managedInstanceService.isInstanceExternallyManaged()).isFalse(); + } + + @Test + public void isInstanceExternallyManaged_whenOneManagedInstanceServiceReturnsTrue_returnsTrue() { + Set delegates = Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService()); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(delegates); + + assertThat(managedInstanceService.isInstanceExternallyManaged()).isTrue(); + } + + @Test + public void getUserUuidToManaged_whenNoDelegates_setAllUsersAsNonManaged() { + Set userUuids = Set.of("a", "b"); + DelegatingManagedServices managedInstanceService = NO_MANAGED_SERVICES; + + Map userUuidToManaged = managedInstanceService.getUserUuidToManaged(dbSession, userUuids); + + assertThat(userUuidToManaged).containsExactlyInAnyOrderEntriesOf(Map.of("a", false, "b", false)); + } + + @Test + public void getUserUuidToManaged_delegatesToRightService_andPropagateAnswer() { + Set userUuids = Set.of("a", "b"); + Map serviceResponse = Map.of("a", false, "b", true); + + ManagedInstanceService anotherManagedInstanceService = getManagedInstanceService(userUuids, serviceResponse); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), anotherManagedInstanceService)); + + Map userUuidToManaged = managedInstanceService.getUserUuidToManaged(dbSession, userUuids); + + assertThat(userUuidToManaged).containsExactlyInAnyOrderEntriesOf(serviceResponse); + } + + @Test + public void getGroupUuidToManaged_whenNoDelegates_setAllUsersAsNonManaged() { + Set groupUuids = Set.of("a", "b"); + DelegatingManagedServices managedInstanceService = NO_MANAGED_SERVICES; + + Map groupUuidToManaged = managedInstanceService.getGroupUuidToManaged(dbSession, groupUuids); + + assertThat(groupUuidToManaged).containsExactlyInAnyOrderEntriesOf(Map.of("a", false, "b", false)); + } + + @Test + public void isUserManaged_delegatesToRightService_andPropagateAnswer() { + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService())); + + assertThat(managedInstanceService.isUserManaged(dbSession, "login")).isTrue(); + } + + @Test + public void isUserManaged_whenNoDelegates_returnsFalse() { + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of()); + + assertThat(managedInstanceService.isUserManaged(dbSession, "login")).isFalse(); + } + + @Test + public void getGroupUuidToManaged_delegatesToRightService_andPropagateAnswer() { + Set groupUuids = Set.of("a", "b"); + Map serviceResponse = Map.of("a", false, "b", true); + + ManagedInstanceService anotherManagedInstanceService = getManagedInstanceService(groupUuids, serviceResponse); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), anotherManagedInstanceService)); + + Map groupUuidToManaged = managedInstanceService.getGroupUuidToManaged(dbSession, groupUuids); + + assertThat(groupUuidToManaged).containsExactlyInAnyOrderEntriesOf(serviceResponse); + } + + @Test + public void getGroupUuidToManaged_ifMoreThanOneDelegatesActivated_throws() { + Set managedInstanceServices = Set.of(new AlwaysManagedInstanceService(), new AlwaysManagedInstanceService()); + DelegatingManagedServices delegatingManagedServices = new DelegatingManagedServices(managedInstanceServices); + assertThatIllegalStateException() + .isThrownBy(() -> delegatingManagedServices.getGroupUuidToManaged(dbSession, Set.of("a"))) + .withMessage("The instance can't be managed by more than one identity provider and 2 were found."); + } + + @Test + public void getUserUuidToManaged_ifMoreThanOneDelegatesActivated_throws() { + Set managedInstanceServices = Set.of(new AlwaysManagedInstanceService(), new AlwaysManagedInstanceService()); + DelegatingManagedServices delegatingManagedServices = new DelegatingManagedServices(managedInstanceServices); + assertThatIllegalStateException() + .isThrownBy(() -> delegatingManagedServices.getUserUuidToManaged(dbSession, Set.of("a"))) + .withMessage("The instance can't be managed by more than one identity provider and 2 were found."); + } + + @Test + public void getManagedUsersSqlFilter_whenNoDelegates_throws() { + Set managedInstanceServices = emptySet(); + DelegatingManagedServices delegatingManagedServices = new DelegatingManagedServices(managedInstanceServices); + assertThatIllegalStateException() + .isThrownBy(() -> delegatingManagedServices.getManagedUsersSqlFilter(true)) + .withMessage("This instance is not managed."); + } + + @Test + public void getManagedUsersSqlFilter_delegatesToRightService_andPropagateAnswer() { + AlwaysManagedInstanceService alwaysManagedInstanceService = new AlwaysManagedInstanceService(); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), alwaysManagedInstanceService)); + + assertThat(managedInstanceService.getManagedUsersSqlFilter(true)).isNotNull().isEqualTo(alwaysManagedInstanceService.getManagedUsersSqlFilter( + true)); + } + + @Test + public void getManagedGroupsSqlFilter_whenNoDelegates_throws() { + Set managedInstanceServices = emptySet(); + DelegatingManagedServices delegatingManagedServices = new DelegatingManagedServices(managedInstanceServices); + assertThatIllegalStateException() + .isThrownBy(() -> delegatingManagedServices.getManagedGroupsSqlFilter(true)) + .withMessage("This instance is not managed."); + } + + @Test + public void getManagedGroupsSqlFilter_delegatesToRightService_andPropagateAnswer() { + AlwaysManagedInstanceService alwaysManagedInstanceService = new AlwaysManagedInstanceService(); + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), alwaysManagedInstanceService)); + + assertThat(managedInstanceService.getManagedGroupsSqlFilter(true)).isNotNull().isEqualTo(alwaysManagedInstanceService.getManagedGroupsSqlFilter( + true)); + } + + private ManagedInstanceService getManagedInstanceService(Set userUuids, Map uuidToManaged) { + ManagedInstanceService anotherManagedInstanceService = mock(ManagedInstanceService.class); + when(anotherManagedInstanceService.isInstanceExternallyManaged()).thenReturn(true); + when(anotherManagedInstanceService.getGroupUuidToManaged(dbSession, userUuids)).thenReturn(uuidToManaged); + when(anotherManagedInstanceService.getUserUuidToManaged(dbSession, userUuids)).thenReturn(uuidToManaged); + return anotherManagedInstanceService; + } + + @Test + public void isProjectManaged_whenManagedInstanceServices_shouldDelegatesToRightService() { + DelegatingManagedServices managedInstanceService = new DelegatingManagedServices(Set.of(new NeverManagedInstanceService(), new AlwaysManagedInstanceService())); + + assertThat(managedInstanceService.isProjectManaged(dbSession, "project_key")).isTrue(); + } + + @Test + public void isProjectManaged_whenManagedNoInstanceServices_returnsFalse() { + DelegatingManagedServices managedInstanceService = NO_MANAGED_SERVICES; + + assertThat(managedInstanceService.isProjectManaged(dbSession, "project_key")).isFalse(); + } + + private static class NeverManagedInstanceService implements ManagedInstanceService, ManagedProjectService { + + @Override + public boolean isInstanceExternallyManaged() { + return false; + } + + @Override + public String getProviderName() { + return "Never"; + } + + @Override + public Map getUserUuidToManaged(DbSession dbSession, Set userUuids) { + return null; + } + + @Override + public Map getGroupUuidToManaged(DbSession dbSession, Set groupUuids) { + return null; + } + + @Override + public String getManagedUsersSqlFilter(boolean filterByManaged) { + return null; + } + + @Override + public String getManagedGroupsSqlFilter(boolean filterByManaged) { + return null; + } + + @Override + public boolean isUserManaged(DbSession dbSession, String login) { + return false; + } + + @Override + public boolean isProjectManaged(DbSession dbSession, String projectKey) { + return false; + } + } + + private static class AlwaysManagedInstanceService implements ManagedInstanceService, ManagedProjectService { + + @Override + public boolean isInstanceExternallyManaged() { + return true; + } + + @Override + public String getProviderName() { + return "Always"; + } + + @Override + public Map getUserUuidToManaged(DbSession dbSession, Set userUuids) { + return null; + } + + @Override + public Map getGroupUuidToManaged(DbSession dbSession, Set groupUuids) { + return null; + } + + @Override + public String getManagedUsersSqlFilter(boolean filterByManaged) { + return "any filter"; + } + + @Override + public String getManagedGroupsSqlFilter(boolean filterByManaged) { + return "any filter"; + } + + @Override + public boolean isUserManaged(DbSession dbSession, String login) { + return true; + } + + @Override + public boolean isProjectManaged(DbSession dbSession, String projectKey) { + return true; + } + } + +} -- cgit v1.2.3