@Override public void start() { if (realm != null) { Logger logger = Loggers.get("org.sonar.INFO"); try { logger.info("Security realm: " + realm.getName()); realm.init(); logger.info("Security realm started"); } catch (RuntimeException e) { if (ignoreStartupFailure) { logger.error("IGNORED - Security realm fails to start: " + e.getMessage()); } else { throw new SonarException("Security realm fails to start: " + e.getMessage(), e); } } } }
/** * Typical usage. */ @Test public void should_select_realm_and_start() { SecurityRealm realm = spy(new FakeRealm()); settings.setProperty("sonar.security.realm", realm.getName()); SecurityRealmFactory factory = new SecurityRealmFactory(settings.asConfig(), new SecurityRealm[] {realm}); factory.start(); assertThat(factory.getRealm()).isSameAs(realm); assertThat(factory.hasExternalAuthentication()).isTrue(); verify(realm).init(); factory.stop(); }
@Test public void ignore_startup_failure() { SecurityRealm realm = spy(new AlwaysFailsRealm()); settings.setProperty("sonar.security.realm", realm.getName()); settings.setProperty(CoreProperties.CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE, true); new SecurityRealmFactory(settings.asConfig(), new SecurityRealm[] {realm}).start(); verify(realm).init(); }
@Override public void start() { if (realm != null) { Logger logger = Loggers.get("org.sonar.INFO"); try { logger.info("Security realm: " + realm.getName()); realm.init(); logger.info("Security realm started"); } catch (RuntimeException e) { if (ignoreStartupFailure) { logger.error("IGNORED - Security realm fails to start: " + e.getMessage()); } else { throw new SonarException("Security realm fails to start: " + e.getMessage(), e); } } } }