Use Boolean#getBoolean and prefix parameter

This commit is contained in:
René Pfeuffer
2019-04-03 08:01:15 +02:00
parent 7ef37ef687
commit 6ec4933921
2 changed files with 20 additions and 4 deletions

View File

@@ -31,11 +31,10 @@ public class SetupContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
String skipAdminCreation = System.getProperty("skipAdminCreation");
if (skipAdminCreation == null || "false".equalsIgnoreCase(skipAdminCreation)) {
administrationContext.runAsAdmin(SetupAction.class);
} else {
if (Boolean.getBoolean("sonia.scm.skipAdminCreation")) {
LOG.info("found skipAdminCreation flag; skipping creation of scmadmin");
} else {
administrationContext.runAsAdmin(SetupAction.class);
}
}

View File

@@ -9,6 +9,8 @@ import org.mockito.ArgumentCaptor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import sonia.scm.security.PermissionAssigner;
import sonia.scm.security.PermissionDescriptor;
import sonia.scm.user.User;
@@ -62,6 +64,21 @@ class SetupContextListenerTest {
verifyAdminPermissionsAssigned();
}
@Test
@MockitoSettings(strictness = Strictness.LENIENT)
void shouldSkipAdminAccountCreationIfPropertyIsSet() {
System.setProperty("sonia.scm.skipAdminCreation", "true");
try {
setupContextListener.contextInitialized(null);
verify(userManager, never()).create(any());
verify(permissionAssigner, never()).setPermissionsForUser(anyString(), any(Collection.class));
} finally {
System.setProperty("sonia.scm.skipAdminCreation", "");
}
}
@Test
void shouldDoNothingOnSecondStart() {
List<User> users = Lists.newArrayList(UserTestData.createTrillian());