@Test public void canBeMocked() throws IOException { ServerLauncher launcher = mock(ServerLauncher.class); Cache cache = mock(Cache.class); CacheConfig cacheConfig = mock(CacheConfig.class); when(launcher.getCache()).thenReturn(cache); when(launcher.getCacheConfig()).thenReturn(cacheConfig); when(launcher.getId()).thenReturn("ID"); when(launcher.isWaiting(eq(cache))).thenReturn(true); when(launcher.isHelping()).thenReturn(true); launcher.startCacheServer(cache); verify(launcher, times(1)).startCacheServer(cache); assertThat(launcher.getCache()).isSameAs(cache); assertThat(launcher.getCacheConfig()).isSameAs(cacheConfig); assertThat(launcher.getId()).isSameAs("ID"); assertThat(launcher.isWaiting(cache)).isTrue(); assertThat(launcher.isHelping()).isTrue(); }
@Test public void startCacheServerDoesNothingWhenDefaultServerDisabled() throws IOException { Cache cache = mock(Cache.class, "Cache"); CacheServer cacheServer = mock(CacheServer.class, "CacheServer"); when(cache.getCacheServers()).thenReturn(Collections.emptyList()); when(cache.addCacheServer()).thenReturn(cacheServer); ServerLauncher launcher = new Builder().setDisableDefaultServer(true).build(); launcher.startCacheServer(cache); verify(cacheServer, times(0)).setBindAddress(anyString()); verify(cacheServer, times(0)).setPort(anyInt()); verify(cacheServer, times(0)).setMaxThreads(anyInt()); verify(cacheServer, times(0)).setMaxConnections(anyInt()); verify(cacheServer, times(0)).setMaximumMessageCount(anyInt()); verify(cacheServer, times(0)).setMessageTimeToLive(anyInt()); verify(cacheServer, times(0)).setSocketBufferSize(anyInt()); verify(cacheServer, times(0)).setHostnameForClients(anyString()); verify(cacheServer, times(0)).start(); }
@Test public void startCacheServerDoesNothingWhenCacheServerAlreadyExists() throws IOException { Cache cache = mock(Cache.class, "Cache"); CacheServer cacheServer1 = mock(CacheServer.class, "CacheServer1"); CacheServer cacheServer2 = mock(CacheServer.class, "CacheServer2"); when(cache.getCacheServers()).thenReturn(Collections.singletonList(cacheServer1)); when(cache.addCacheServer()).thenReturn(cacheServer1); ServerLauncher launcher = new Builder().build(); launcher.startCacheServer(cache); verify(cacheServer2, times(0)).setBindAddress(anyString()); verify(cacheServer2, times(0)).setPort(anyInt()); verify(cacheServer2, times(0)).setMaxThreads(anyInt()); verify(cacheServer2, times(0)).setMaxConnections(anyInt()); verify(cacheServer2, times(0)).setMaximumMessageCount(anyInt()); verify(cacheServer2, times(0)).setMessageTimeToLive(anyInt()); verify(cacheServer2, times(0)).setSocketBufferSize(anyInt()); verify(cacheServer2, times(0)).setHostnameForClients(anyString()); verify(cacheServer2, times(0)).start(); } }
@Test public void startCacheServerStartsCacheServerWithBuilderValues() throws IOException { Cache cache = mock(Cache.class, "Cache"); CacheServer cacheServer = mock(CacheServer.class, "CacheServer"); when(cache.getCacheServers()).thenReturn(Collections.emptyList()); when(cache.addCacheServer()).thenReturn(cacheServer); ServerLauncher launcher = new Builder().setServerBindAddress(null).setServerPort(11235) .setMaxThreads(10).setMaxConnections(100).setMaxMessageCount(5).setMessageTimeToLive(10000) .setSocketBufferSize(2048).setHostNameForClients("hostName4Clients").build(); launcher.startCacheServer(cache); verify(cacheServer, times(1)).setBindAddress(null); verify(cacheServer, times(1)).setPort(eq(11235)); verify(cacheServer, times(1)).setMaxThreads(10); verify(cacheServer, times(1)).setMaxConnections(100); verify(cacheServer, times(1)).setMaximumMessageCount(5); verify(cacheServer, times(1)).setMessageTimeToLive(10000); verify(cacheServer, times(1)).setSocketBufferSize(2048); verify(cacheServer, times(1)).setHostnameForClients("hostName4Clients"); verify(cacheServer, times(1)).start(); }
startCacheServer(this.cache); assignBuckets(this.cache); rebalance(this.cache);