@Test
public void testGetLastServiceConfigs() throws Exception {

  createServiceConfig("HDFS", "admin", 1L, 1L, 1111L, null);
  createServiceConfig("HDFS", "admin", 2L, 2L, 2222L, null);
  createServiceConfig("YARN", "admin", 1L, 3L, 3333L, null);
  List<ServiceConfigEntity> serviceConfigEntities =
    serviceConfigDAO.getLastServiceConfigs(clusterDAO.findByName("c1").getClusterId());
  Assert.assertNotNull(serviceConfigEntities);
  Assert.assertEquals(2, serviceConfigEntities.size());
  Long clusterId = clusterDAO.findByName("c1").getClusterId();
  for (ServiceConfigEntity sce: serviceConfigEntities) {
    if ("HDFS".equals(sce.getServiceName())) {
      Assert.assertEquals("c1", sce.getClusterEntity().getClusterName());
      Assert.assertEquals(clusterId, sce.getClusterEntity()
        .getClusterId());
      Assert.assertEquals(Long.valueOf(2222L), sce.getCreateTimestamp());
      Assert.assertEquals(Long.valueOf(2), sce.getVersion());
      Assert.assertTrue(sce.getClusterConfigEntities().isEmpty());
      Assert.assertNotNull(sce.getServiceConfigId());
    }
    if ("YARN".equals(sce.getServiceName())) {
      Assert.assertEquals("c1", sce.getClusterEntity().getClusterName());
      Assert.assertEquals(clusterId, sce.getClusterEntity()
        .getClusterId());
      Assert.assertEquals(Long.valueOf(3333L), sce.getCreateTimestamp());
      Assert.assertEquals(Long.valueOf(1), sce.getVersion());
      Assert.assertTrue(sce.getClusterConfigEntities().isEmpty());
      Assert.assertNotNull(sce.getServiceConfigId());
    }
    Assert.assertEquals("admin", sce.getUser());
  }
}