@Test public void testPartialErrorScenarioInSystemStatus() throws Throwable { Status readyStatus = new Status(StatusType.READY); setMessageAndStats(readyStatus); Status initializingStatus = new Status(StatusType.INITIALIZING); setMessageAndStats(initializingStatus); Status errorStatus = new Status(StatusType.ERROR); setMessageAndStats(errorStatus); mockAllClientsToReturnSameStatus(readyStatus); when(housekeeperClients.get(0).getStatus()).thenReturn(readyStatus); when(housekeeperClients.get(1).getStatus()).thenReturn(initializingStatus); when(housekeeperClients.get(2).getStatus()).thenReturn(errorStatus); SystemStatus systemStatus = client.getSystemStatus(); assertThat(systemStatus.getComponents().size(), is(statusConfig.getComponents().size())); assertThat(systemStatus.getStatus(), is(StatusType.PARTIAL_ERROR)); List<ComponentStatus> compStatuses = systemStatus.getComponents(); for (ComponentStatus status : compStatuses) { if (status.getComponent().equals(Component.HOUSEKEEPER)) { assertThat(status.getStatus(), is(StatusType.PARTIAL_ERROR)); assertThat(status.getStats().get(StatusType.READY.toString()), is("1")); assertThat(status.getStats().get(StatusType.INITIALIZING.toString()), is("1")); assertThat(status.getStats().get(StatusType.ERROR.toString()), is("1")); } else { assertThat(status.getStatus(), is(StatusType.READY)); assertThat(status.getStats().get(StatusType.READY.toString()), is("3")); } } }
@Test public void testPartialErrorWithDifferentNumOfInstances() throws Throwable { Status readyStatus = new Status(StatusType.READY); setMessageAndStats(readyStatus); Status initializingStatus = new Status(StatusType.INITIALIZING); setMessageAndStats(initializingStatus); Status errorStatus = new Status(StatusType.ERROR); setMessageAndStats(errorStatus); when(chairmanServerSet.getServers()).thenReturn(singleInstanceServerSets.get(0).getServers()); when(rootSchedulerServerSet.getServers()) .thenReturn(singleInstanceServerSets.get(1).getServers()); mockAllClientsToReturnSameStatus(readyStatus); when(housekeeperClients.get(0).getStatus()).thenReturn(readyStatus); when(housekeeperClients.get(1).getStatus()).thenReturn(initializingStatus); when(housekeeperClients.get(2).getStatus()).thenReturn(errorStatus); SystemStatus systemStatus = client.getSystemStatus(); assertThat(systemStatus.getComponents().size(), is(statusConfig.getComponents().size())); assertThat(systemStatus.getStatus(), is(StatusType.PARTIAL_ERROR)); List<ComponentStatus> compStatuses = systemStatus.getComponents(); for (ComponentStatus status : compStatuses) { if (status.getComponent().equals(Component.HOUSEKEEPER)) { assertThat(status.getStatus(), is(StatusType.PARTIAL_ERROR)); assertThat(status.getStats().get(StatusType.READY.toString()), is("1")); assertThat(status.getStats().get(StatusType.INITIALIZING.toString()), is("1")); assertThat(status.getStats().get(StatusType.ERROR.toString()), is("1")); } else if (status.getComponent().equals(Component.CHAIRMAN) || status.getComponent().equals(Component.ROOT_SCHEDULER)) { assertThat(status.getStatus(), is(StatusType.READY)); assertThat(status.getStats().get(StatusType.READY.toString()), is("1")); } else { assertThat(status.getStatus(), is(StatusType.READY)); assertThat(status.getStats().get(StatusType.READY.toString()), is("3")); } } }