@Test
 public void assertGetAllServersBriefInfo() {
   when(regCenter.getChildrenKeys("/")).thenReturn(Arrays.asList("test_job1", "test_job2"));
   when(regCenter.getChildrenKeys("/test_job1/servers")).thenReturn(Arrays.asList("ip1", "ip2"));
   when(regCenter.getChildrenKeys("/test_job2/servers")).thenReturn(Arrays.asList("ip3", "ip4"));
   when(regCenter.get("/test_job1/servers/ip1/hostName")).thenReturn("host1");
   when(regCenter.get("/test_job1/servers/ip2/hostName")).thenReturn("host2");
   when(regCenter.get("/test_job2/servers/ip3/hostName")).thenReturn("host3");
   when(regCenter.get("/test_job2/servers/ip4/hostName")).thenReturn("host4");
   when(regCenter.isExisted("/test_job1/servers/ip1/shutdown")).thenReturn(false);
   when(regCenter.isExisted("/test_job1/servers/ip1/status")).thenReturn(true);
   when(regCenter.isExisted("/test_job1/servers/ip2/shutdown")).thenReturn(true);
   when(regCenter.isExisted("/test_job2/servers/ip3/shutdown")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/ip3/status")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/ip4/shutdown")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/ip4/status")).thenReturn(true);
   int i = 0;
   for (ServerBriefInfo each : serverStatisticsAPI.getAllServersBriefInfo()) {
     i++;
     assertThat(each.getServerIp(), is("ip" + i));
     assertThat(each.getServerHostName(), is("host" + i));
     switch (i) {
       case 1:
         assertThat(each.getStatus(), is(ServerBriefInfo.ServerBriefStatus.OK));
         break;
       case 2:
         assertThat(each.getStatus(), is(ServerBriefInfo.ServerBriefStatus.ALL_CRASHED));
         break;
       case 3:
         assertThat(each.getStatus(), is(ServerBriefInfo.ServerBriefStatus.ALL_CRASHED));
         break;
       case 4:
         assertThat(each.getStatus(), is(ServerBriefInfo.ServerBriefStatus.OK));
         break;
       default:
         fail();
     }
   }
 }
 @Test
 public void assertGetJobs() {
   when(regCenter.getChildrenKeys("/"))
       .thenReturn(Arrays.asList("test_job1", "test_job2", "test_job3"));
   when(regCenter.isExisted("/test_job1/servers/localhost")).thenReturn(true);
   when(regCenter.isExisted("/test_job2/servers/localhost")).thenReturn(true);
   when(regCenter.isExisted("/test_job3/servers/localhost")).thenReturn(false);
   when(regCenter.get("/test_job1/servers/localhost/hostName")).thenReturn("localhost");
   when(regCenter.get("/test_job2/servers/localhost/hostName")).thenReturn("localhost");
   when(regCenter.get("/test_job1/servers/localhost/sharding")).thenReturn("0,1");
   when(regCenter.get("/test_job2/servers/localhost/sharding")).thenReturn("2");
   when(regCenter.get("/test_job1/servers/localhost/status")).thenReturn("RUNNING");
   when(regCenter.get("/test_job2/servers/localhost/status")).thenReturn("RUNNING");
   when(regCenter.isExisted("/test_job1/servers/localhost/disabled")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/localhost/disabled")).thenReturn(false);
   when(regCenter.isExisted("/test_job1/servers/localhost/paused")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/localhost/paused")).thenReturn(false);
   when(regCenter.isExisted("/test_job1/servers/localhost/shutdown")).thenReturn(false);
   when(regCenter.isExisted("/test_job2/servers/localhost/shutdown")).thenReturn(false);
   int i = 0;
   for (ServerInfo each : serverStatisticsAPI.getJobs("localhost")) {
     i++;
     assertThat(each.getJobName(), is("test_job" + i));
     assertThat(each.getIp(), is("localhost"));
     assertThat(each.getHostName(), is("localhost"));
     assertThat(each.getStatus(), is(ServerInfo.ServerStatus.RUNNING));
     switch (i) {
       case 1:
         assertThat(each.getSharding(), is("0,1"));
         break;
       case 2:
         assertThat(each.getSharding(), is("2"));
         break;
       default:
         fail();
     }
   }
 }