@Test public void assertLeaderElection() { leaderElectionService.leaderElection(); verify(jobNodeStorage) .executeInLeader( eq("leader/election/latch"), Matchers.<LeaderElectionExecutionCallback>any()); }
@Test public void assertLeaderElectionJobListenerWhenIsLeaderHostPathAndIsRemoveAndIsLeader() { when(leaderElectionService.hasLeader()).thenReturn(true); electionListenerManager.new LeaderElectionJobListener() .dataChanged( null, new TreeCacheEvent( TreeCacheEvent.Type.NODE_REMOVED, new ChildData("/testJob/leader/election/host", null, "localhost".getBytes())), "/testJob/leader/election/host"); verify(leaderElectionService).hasLeader(); verify(leaderElectionService, times(0)).leaderElection(); }
@Test public void assertLeaderElectionJobListenerWhenJobShutdownAndIsLeader() { when(leaderElectionService.isLeader()).thenReturn(true); when(serverNode.isLocalJobPausedPath("/testJob/server/mockedIP/shutdown")).thenReturn(true); electionListenerManager.new LeaderElectionJobListener() .dataChanged( null, new TreeCacheEvent( TreeCacheEvent.Type.NODE_ADDED, new ChildData("/testJob/server/mockedIP/shutdown", null, "localhost".getBytes())), "/testJob/server/mockedIP/shutdown"); verify(leaderElectionService).removeLeader(); }
@Test public void assertLeaderElectionJobListenerWhenIsLeaderHostPathAndIsRemoveAndIsNotLeaderWithoutAvailableServers() { when(leaderElectionService.hasLeader()).thenReturn(false); when(serverService.getAvailableServers()).thenReturn(Collections.<String>emptyList()); electionListenerManager.new LeaderElectionJobListener() .dataChanged( null, new TreeCacheEvent( TreeCacheEvent.Type.NODE_REMOVED, new ChildData("/testJob/leader/election/host", null, "localhost".getBytes())), "/testJob/leader/election/host"); verify(leaderElectionService).hasLeader(); verify(serverService).getAvailableServers(); verify(leaderElectionService, times(0)).leaderElection(); }
@Test public void assertHasLeader() { when(jobNodeStorage.isJobNodeExisted("leader/election/host")).thenReturn(true); assertTrue(leaderElectionService.hasLeader()); }
@Test public void assertIsLeader() { when(jobNodeStorage.isJobNodeExisted("leader/election/host")).thenReturn(false, true); when(jobNodeStorage.getJobNodeData("leader/election/host")).thenReturn("mockedIP"); assertTrue(leaderElectionService.isLeader()); }