@Test public void isDefaultServerEnabledReturnsFalseWhenDefaultServerDisabledIsTrueAndCacheServersExist() { Cache cache = mock(Cache.class, "Cache"); CacheServer cacheServer = mock(CacheServer.class, "CacheServer"); when(cache.getCacheServers()).thenReturn(Collections.singletonList(cacheServer)); ServerLauncher launcher = new Builder().setDisableDefaultServer(true).build(); assertThat(launcher.isDefaultServerEnabled(cache)).isFalse(); }
@Test public void reconnectedCacheIsClosed() { Cache cache = mock(Cache.class, "Cache"); Cache reconnectedCache = mock(Cache.class, "ReconnectedCache"); when(cache.isReconnecting()).thenReturn(false).thenReturn(false).thenReturn(true); when(cache.getCacheServers()).thenReturn(Collections.emptyList()); when(cache.getReconnectedCache()).thenReturn(reconnectedCache); new Builder().setCache(cache).build().waitOnServer(); verify(cache, atLeast(3)).isReconnecting(); verify(cache).getReconnectedCache(); verify(reconnectedCache).close(); }
@Test public void setSocketBufferSizeToPositiveIntegerUsesValue() { Builder builder = new Builder(); builder.setSocketBufferSize(32768); assertThat(builder.getSocketBufferSize().intValue()).isEqualTo(32768); }
@Test public void parseMemberNameWithNullStringArrayResultsInNull() { Builder builder = new Builder(); builder.parseMemberName((String[]) null); assertThat(builder.getMemberName()).isNull(); }
@Test public void setServerPortAboveMaxValueThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setServerPort(65536)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void setServerBindAddressToNullResultsInNull() { Builder builder = new Builder(); builder.setServerBindAddress(null); assertThat(builder.getServerBindAddress()).isNull(); }
@Test public void setMessageTimeToNullResultsInNull() { Builder builder = new Builder(); builder.setMessageTimeToLive(null); assertThat(builder.getMessageTimeToLive()).isNull(); }
@Test public void setMaxConnectionsToNullResultsInNull() { Builder builder = new Builder(); builder.setMaxConnections(null); assertThat(builder.getMaxConnections()).isNull(); }
@Test public void setEvictionHeapPercentageAboveO100ThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setEvictionHeapPercentage(101.0f)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void setHostNameForClientsReturnsBuilderInstance() { Builder builder = new Builder(); assertThat(builder.setHostNameForClients("Pegasus")).isSameAs(builder); }
@Test public void buildUsesMemberNameSetInApiProperties() { ServerLauncher launcher = new Builder().setCommand(ServerLauncher.Command.START).set(NAME, "serverABC").build(); assertThat(launcher.getMemberName()).isNull(); assertThat(launcher.getProperties().getProperty(NAME)).isEqualTo("serverABC"); }
@Test public void parseMemberNameWithStringUsesValue() { Builder builder = new Builder(); builder.parseMemberName("memberOne"); assertThat(builder.getMemberName()).isEqualTo("memberOne"); }
@Test public void parseCommandWithMixedCaseResultsInCorrectCase() { Builder builder = new Builder(); builder.parseCommand("sToP"); assertThat(builder.getCommand()).isEqualTo(Command.STOP); }
@Test public void parseArgumentsWithForceSetsForceToTrue() { Builder builder = new Builder(); builder.parseArguments("start", "--force"); assertThat(builder.getForce()).isTrue(); }
@Test public void setServerPortToNegativeValueThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setServerPort(-1)) .isInstanceOf(IllegalArgumentException.class); }
@Test public void setServerBindAddressToUnknownHostThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setServerBindAddress("badHostName.example.com")) .isInstanceOf(IllegalArgumentException.class) .hasCauseInstanceOf(UnknownHostException.class); }
@Test public void setServerBindAddressToCanonicalLocalHostUsesValue() { Builder builder = new Builder(); builder.setServerBindAddress(localHostName); assertThat(builder.getServerBindAddress()).isEqualTo(localHost); }
@Test public void setServerBindAddressToBlankStringResultsInNull() { Builder builder = new Builder(); builder.setServerBindAddress(" "); assertThat(builder.getServerBindAddress()).isNull(); }
@Test public void setMemberNameToBlankStringThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setMemberName(" ")) .isInstanceOf(IllegalArgumentException.class); }
@Test public void setHostNameForClientsToEmptyStringThrowsIllegalArgumentException() { assertThatThrownBy(() -> new Builder().setHostNameForClients("")) .isInstanceOf(IllegalArgumentException.class); }