@Test public void tryToLockWebLeader_returns_true_only_for_the_first_call() { try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { assertThat(underTest.tryToLockWebLeader()).isEqualTo(true); assertThat(underTest.tryToLockWebLeader()).isEqualTo(false); } }
public AppState create() { if (ClusterSettings.shouldStartHazelcast(settings)) { EsConnector esConnector = createEsConnector(settings.getProps()); HazelcastMember hzMember = createHzMember(settings.getProps()); return new ClusterAppStateImpl(settings, hzMember, esConnector); } return new AppStateImpl(); }
@Test public void registerClusterName_publishes_clusterName_on_first_call() { try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { underTest.registerClusterName("foo"); assertThat(underTest.getHazelcastMember().getAtomicReference(CLUSTER_NAME).get()) .isEqualTo("foo"); } }
@Test public void registerSonarQubeVersion_publishes_version_on_first_call() { try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { underTest.registerSonarQubeVersion("6.4.1.5"); assertThat(underTest.getHazelcastMember().getAtomicReference(SONARQUBE_VERSION).get()) .isEqualTo("6.4.1.5"); } }
@Test public void reset_always_throws_ISE() { try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { expectedException.expect(IllegalStateException.class); expectedException.expectMessage("state reset is not supported in cluster mode"); underTest.reset(); } }
@Test public void registerSonarQubeVersion_throws_ISE_if_initial_version_is_different() { // Now launch an instance that try to be part of the hzInstance cluster try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { // Register first version underTest.getHazelcastMember().getAtomicReference(SONARQUBE_VERSION).set("6.6.0.1111"); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("The local version 6.7.0.9999 is not the same as the cluster 6.6.0.1111"); // Registering a second different version must trigger an exception underTest.registerSonarQubeVersion("6.7.0.9999"); } }
@Test public void registerClusterName_throws_MessageException_if_clusterName_is_different() { try (ClusterAppStateImpl underTest = new ClusterAppStateImpl(new TestAppSettings(), newHzMember(), mock(EsConnector.class))) { // Register first version underTest.getHazelcastMember().getAtomicReference(CLUSTER_NAME).set("goodClusterName"); expectedException.expect(MessageException.class); expectedException.expectMessage("This node has a cluster name [badClusterName], which does not match [goodClusterName] from the cluster"); // Registering a second different cluster name must trigger an exception underTest.registerClusterName("badClusterName"); } }
public AppState create() { if (ClusterSettings.isClusterEnabled(settings)) { HazelcastMember hzMember = createHzMember(settings.getProps()); return new ClusterAppStateImpl(settings, hzMember); } return new AppStateImpl(); }