@Test public void isWaitingReturnsTrueWhenSystemIsConnected() { Cache cache = mock(Cache.class, "Cache"); DistributedSystem system = mock(DistributedSystem.class, "DistributedSystem"); when(cache.getDistributedSystem()).thenReturn(system); when(system.isConnected()).thenReturn(true); ServerLauncher launcher = new Builder().build(); launcher.running.set(true); assertThat(launcher.isWaiting(cache)).isTrue(); }
@Test public void isWaitingReturnsFalseWhenSystemIsNotConnected() { Cache cache = mock(Cache.class, "Cache"); DistributedSystem system = mock(DistributedSystem.class, "DistributedSystem"); when(cache.getDistributedSystem()).thenReturn(system); when(system.isConnected()).thenReturn(false); when(cache.isReconnecting()).thenReturn(false); ServerLauncher launcher = new Builder().setMemberName("serverOne").build(); launcher.running.set(true); assertThat(launcher.isWaiting(cache)).isFalse(); }
@Test public void isWaitingReturnsFalseWhenNotRunning() { ServerLauncher launcher = new Builder().build(); launcher.running.set(false); assertThat(launcher.isWaiting(null)).isFalse(); }
@Test public void isWaitingReturnsFalseByDefault() { ServerLauncher launcher = new Builder().build(); assertThat(launcher.isWaiting(null)).isFalse(); }
/** * Causes the calling Thread to block until the GemFire Cache Server/Data Member stops. */ public void waitOnServer() { assert getCache() != null : "The Cache Server must first be started with a call to start!"; if (!isServing(getCache())) { Throwable cause = null; try { while (isWaiting(getCache())) { try { synchronized (this) { wait(500L); } } catch (InterruptedException handled) { // loop back around } } } catch (RuntimeException e) { cause = e; throw e; } finally { failOnStart(cause); } } }
@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(); }