Repository: ambari Updated Branches: refs/heads/trunk 97115a760 -> 92815dd58
http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java index 44bdf94..532ad33 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java @@ -21,8 +21,10 @@ package org.apache.ambari.server.orm.dao; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.persist.PersistService; + import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.entities.*; import org.apache.ambari.server.state.RepositoryVersionState; import org.junit.After; @@ -46,6 +48,7 @@ public class HostVersionDAOTest { private ClusterVersionDAO clusterVersionDAO; private HostDAO hostDAO; private HostVersionDAO hostVersionDAO; + private OrmTestHelper helper; @Before public void before() { @@ -57,6 +60,7 @@ public class HostVersionDAOTest { clusterVersionDAO = injector.getInstance(ClusterVersionDAO.class); hostDAO = injector.getInstance(HostDAO.class); hostVersionDAO = injector.getInstance(HostVersionDAO.class); + helper = injector.getInstance(OrmTestHelper.class); createDefaultData(); } @@ -81,7 +85,7 @@ public class HostVersionDAOTest { clusterDAO.create(clusterEntity); // Create the Cluster Version and link it to the cluster - ClusterVersionEntity clusterVersionEntity = new ClusterVersionEntity(clusterEntity, "HDP", "2.2.0.0-995", RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin"); + ClusterVersionEntity clusterVersionEntity = new ClusterVersionEntity(clusterEntity, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin"); List<ClusterVersionEntity> clusterVersionEntities = new ArrayList<ClusterVersionEntity>(); clusterVersionEntities.add(clusterVersionEntity); clusterEntity.setClusterVersionEntities(clusterVersionEntities); @@ -118,9 +122,9 @@ public class HostVersionDAOTest { clusterDAO.merge(clusterEntity); // Create the Host Versions - HostVersionEntity hostVersionEntity1 = new HostVersionEntity(host1.getHostName(), clusterVersionEntity.getStack(), clusterVersionEntity.getVersion(), RepositoryVersionState.CURRENT); - HostVersionEntity hostVersionEntity2 = new HostVersionEntity(host2.getHostName(), clusterVersionEntity.getStack(), clusterVersionEntity.getVersion(), RepositoryVersionState.INSTALLED); - HostVersionEntity hostVersionEntity3 = new HostVersionEntity(host3.getHostName(), clusterVersionEntity.getStack(), clusterVersionEntity.getVersion(), RepositoryVersionState.INSTALLED); + HostVersionEntity hostVersionEntity1 = new HostVersionEntity(host1.getHostName(), clusterVersionEntity.getRepositoryVersion(), RepositoryVersionState.CURRENT); + HostVersionEntity hostVersionEntity2 = new HostVersionEntity(host2.getHostName(), clusterVersionEntity.getRepositoryVersion(), RepositoryVersionState.INSTALLED); + HostVersionEntity hostVersionEntity3 = new HostVersionEntity(host3.getHostName(), clusterVersionEntity.getRepositoryVersion(), RepositoryVersionState.INSTALLED); hostVersionEntity1.setHostEntity(host1); hostVersionEntity2.setHostEntity(host2); hostVersionEntity3.setHostEntity(host3); @@ -145,7 +149,7 @@ public class HostVersionDAOTest { Assert.fail("Cluster is expected to have at least one cluster version"); } - ClusterVersionEntity newClusterVersionEntity = new ClusterVersionEntity(clusterEntity, "HDP", "2.2.0.1-996", RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin"); + ClusterVersionEntity newClusterVersionEntity = new ClusterVersionEntity(clusterEntity, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.1-996"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin"); clusterEntity.addClusterVersionEntity(newClusterVersionEntity); clusterVersionDAO.create(newClusterVersionEntity); @@ -155,7 +159,7 @@ public class HostVersionDAOTest { // For each of the hosts, add a host version for (HostEntity host : hostEntities) { - HostVersionEntity hostVersionEntity = new HostVersionEntity(host.getHostName(), "HDP", "2.2.0.1-996", RepositoryVersionState.INSTALLED); + HostVersionEntity hostVersionEntity = new HostVersionEntity(host.getHostName(), helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.1-996"), RepositoryVersionState.INSTALLED); hostVersionEntity.setHostEntity(host); hostVersionDAO.create(hostVersionEntity); } @@ -173,7 +177,7 @@ public class HostVersionDAOTest { desiredState = RepositoryVersionState.UPGRADE_FAILED; } - HostVersionEntity hostVersionEntity = new HostVersionEntity(hostEntities[i].getHostName(), "HDP", "2.2.1.0-500", desiredState); + HostVersionEntity hostVersionEntity = new HostVersionEntity(hostEntities[i].getHostName(), helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-500"), desiredState); hostVersionEntity.setHostEntity(hostEntities[i]); hostVersionDAO.create(hostVersionEntity); } @@ -186,7 +190,7 @@ public class HostVersionDAOTest { public void testFindAll() { Assert.assertEquals(3, hostVersionDAO.findAll().size()); } - + /** * Test the {@link HostVersionDAO#findByHost(String)} method. */ @@ -202,19 +206,19 @@ public class HostVersionDAOTest { Assert.assertEquals(3, hostVersionDAO.findByHost("test_host2").size()); Assert.assertEquals(3, hostVersionDAO.findByHost("test_host3").size()); } - + /** * Test the {@link HostVersionDAO#findByClusterStackAndVersion(String, String, String)} method. */ @Test public void testFindByClusterStackAndVersion() { - Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP", "2.2.0.0-995").size()); + Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP-2.2", "2.2.0.0-995").size()); Assert.assertEquals(3, hostVersionDAO.findAll().size()); addMoreVersions(); - Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP", "2.2.0.1-996").size()); - Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP", "2.2.1.0-500").size()); + Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP-2.2", "2.2.0.1-996").size()); + Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP-2.2", "2.2.1.0-500").size()); Assert.assertEquals(9, hostVersionDAO.findAll().size()); } @@ -260,34 +264,37 @@ public class HostVersionDAOTest { */ @Test public void testFindByClusterStackVersionAndHost() { - HostVersionEntity hostVersionEntity1 = new HostVersionEntity("test_host1", "HDP", "2.2.0.0-995", RepositoryVersionState.CURRENT); + HostVersionEntity hostVersionEntity1 = new HostVersionEntity("test_host1", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.CURRENT); hostVersionEntity1.setId(1L); - HostVersionEntity hostVersionEntity2 = new HostVersionEntity("test_host2", "HDP", "2.2.0.0-995", RepositoryVersionState.INSTALLED); + hostVersionEntity1.setHostEntity(hostDAO.findByName("test_host1")); + HostVersionEntity hostVersionEntity2 = new HostVersionEntity("test_host2", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.INSTALLED); hostVersionEntity2.setId(2L); - HostVersionEntity hostVersionEntity3 = new HostVersionEntity("test_host3", "HDP", "2.2.0.0-995", RepositoryVersionState.INSTALLED); + hostVersionEntity2.setHostEntity(hostDAO.findByName("test_host2")); + HostVersionEntity hostVersionEntity3 = new HostVersionEntity("test_host3", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.INSTALLED); hostVersionEntity3.setId(3L); + hostVersionEntity3.setHostEntity(hostDAO.findByName("test_host3")); - Assert.assertEquals(hostVersionEntity1, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.0.0-995", "test_host1")); - Assert.assertEquals(hostVersionEntity2, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.0.0-995", "test_host2")); - Assert.assertEquals(hostVersionEntity3, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.0.0-995", "test_host3")); + Assert.assertEquals(hostVersionEntity1, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.0.0-995", "test_host1")); + Assert.assertEquals(hostVersionEntity2, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.0.0-995", "test_host2")); + Assert.assertEquals(hostVersionEntity3, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.0.0-995", "test_host3")); // Test non-existent objects - Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("non_existent_cluster", "HDP", "2.2.0.0-995", "test_host3")); + Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("non_existent_cluster", "HDP-2.2", "2.2.0.0-995", "test_host3")); Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "non_existent_stack", "2.2.0.0-995", "test_host3")); - Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "non_existent_version", "test_host3")); - Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "non_existent_version", "non_existent_host")); + Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "non_existent_version", "test_host3")); + Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "non_existent_version", "non_existent_host")); addMoreVersions(); // Expected - HostVersionEntity hostVersionEntity1LastExpected = new HostVersionEntity("test_host1", "HDP", "2.2.1.0-500", RepositoryVersionState.INSTALLED); - HostVersionEntity hostVersionEntity2LastExpected = new HostVersionEntity("test_host2", "HDP", "2.2.1.0-500", RepositoryVersionState.UPGRADING); - HostVersionEntity hostVersionEntity3LastExpected = new HostVersionEntity("test_host3", "HDP", "2.2.1.0-500", RepositoryVersionState.UPGRADE_FAILED); + HostVersionEntity hostVersionEntity1LastExpected = new HostVersionEntity("test_host1", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-500"), RepositoryVersionState.INSTALLED); + HostVersionEntity hostVersionEntity2LastExpected = new HostVersionEntity("test_host2", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-500"), RepositoryVersionState.UPGRADING); + HostVersionEntity hostVersionEntity3LastExpected = new HostVersionEntity("test_host3", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-500"), RepositoryVersionState.UPGRADE_FAILED); // Actual - HostVersionEntity hostVersionEntity1LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.1.0-500", "test_host1"); - HostVersionEntity hostVersionEntity2LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.1.0-500", "test_host2"); - HostVersionEntity hostVersionEntity3LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP", "2.2.1.0-500", "test_host3"); + HostVersionEntity hostVersionEntity1LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.1.0-500", "test_host1"); + HostVersionEntity hostVersionEntity2LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.1.0-500", "test_host2"); + HostVersionEntity hostVersionEntity3LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "2.2.1.0-500", "test_host3"); // Trying to Mock the actual objects to override the getId() method will not work because the class that mockito creates // is still a Mockito wrapper. Instead, take advantage of an overloaded constructor that ignores the Id. http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java index 652299c..7ddf50f 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java @@ -30,6 +30,7 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.controller.ServiceComponentResponse; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO; import org.apache.ambari.server.orm.dao.HostComponentStateDAO; import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO; @@ -60,6 +61,7 @@ public class ServiceComponentTest { private ServiceComponentFactory serviceComponentFactory; private ServiceComponentHostFactory serviceComponentHostFactory; private AmbariMetaInfo metaInfo; + private OrmTestHelper helper; @Before public void setup() throws Exception { @@ -71,6 +73,7 @@ public class ServiceComponentTest { ServiceComponentFactory.class); serviceComponentHostFactory = injector.getInstance( ServiceComponentHostFactory.class); + helper = injector.getInstance(OrmTestHelper.class); metaInfo = injector.getInstance(AmbariMetaInfo.class); metaInfo.init(); @@ -81,6 +84,7 @@ public class ServiceComponentTest { StackId stackId = new StackId("HDP-0.1"); cluster.setDesiredStackVersion(stackId); Assert.assertNotNull(cluster); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); cluster.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); Service s = serviceFactory.createNew(cluster, serviceName); @@ -172,13 +176,13 @@ public class ServiceComponentTest { Host h = clusters.getHost(hostname); h.setIPv4(hostname + "ipv4"); h.setIPv6(hostname + "ipv6"); - + Map<String, String> hostAttributes = new HashMap<String, String>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "6.3"); h.setHostAttributes(hostAttributes); - + h.persist(); clusters.mapHostToCluster(hostname, clusterName); } http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java index 6646b5e..c3652e3 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java @@ -29,6 +29,7 @@ import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.stack.HostsType; import org.apache.ambari.server.stack.MasterHostResolver; import org.apache.ambari.server.state.UpgradeHelper.UpgradeGroupHolder; @@ -52,6 +53,7 @@ public class UpgradeHelperTest { private Injector injector; private AmbariMetaInfo ambariMetaInfo; + private OrmTestHelper helper; private MasterHostResolver m_masterHostResolver; @Before @@ -60,9 +62,10 @@ public class UpgradeHelperTest { injector.getInstance(GuiceJpaInitializer.class); + helper = injector.getInstance(OrmTestHelper.class); ambariMetaInfo = injector.getInstance(AmbariMetaInfo.class); ambariMetaInfo.init(); - + m_masterHostResolver = mock(MasterHostResolver.class); } @@ -117,6 +120,8 @@ public class UpgradeHelperTest { clusters.addCluster(clusterName); Cluster c = clusters.getCluster(clusterName); c.setDesiredStackVersion(new StackId("HDP-2.1.1")); + helper.getOrCreateRepositoryVersion(c.getDesiredStackVersion().getStackName(), + c.getDesiredStackVersion().getStackVersion()); c.createClusterVersion(c.getDesiredStackVersion().getStackName(), c.getDesiredStackVersion().getStackVersion(), "admin", RepositoryVersionState.CURRENT); for (int i = 0; i < 3; i++) { http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java index 9cdb9ad..b8e3d5d 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java @@ -50,6 +50,7 @@ import org.apache.ambari.server.controller.ClusterResponse; import org.apache.ambari.server.controller.ServiceConfigVersionResponse; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.entities.ClusterEntity; import org.apache.ambari.server.orm.entities.ClusterServiceEntity; import org.apache.ambari.server.orm.entities.ClusterStateEntity; @@ -93,7 +94,7 @@ import com.google.inject.persist.PersistService; public class ClusterTest { private static final Logger LOG = LoggerFactory.getLogger(ClusterTest.class); - + private Clusters clusters; private Cluster c1; private Injector injector; @@ -103,6 +104,7 @@ public class ClusterTest { private AmbariMetaInfo metaInfo; private ConfigFactory configFactory; private ConfigGroupFactory configGroupFactory; + private OrmTestHelper helper; @Before public void setup() throws Exception { @@ -117,6 +119,7 @@ public class ClusterTest { ServiceComponentHostFactory.class); configFactory = injector.getInstance(ConfigFactory.class); metaInfo = injector.getInstance(AmbariMetaInfo.class); + helper = injector.getInstance(OrmTestHelper.class); metaInfo.init(); clusters.addCluster("c1"); c1 = clusters.getCluster("c1"); @@ -126,15 +129,16 @@ public class ClusterTest { Host host = clusters.getHost("h1"); host.setIPv4("ipv4"); host.setIPv6("ipv6"); - + Map<String, String> hostAttributes = new HashMap<String, String>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "5.9"); host.setHostAttributes(hostAttributes); - + host.persist(); StackId stackId = new StackId("HDP-0.1"); c1.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); clusters.mapHostToCluster("h1", "c1"); } @@ -188,7 +192,7 @@ public class ClusterTest { hostInfo.setMounts(mounts); AgentEnv agentEnv = new AgentEnv(); - + Directory dir1 = new Directory(); dir1.setName("/etc/hadoop"); dir1.setType("not_exist"); @@ -310,9 +314,9 @@ public class ClusterTest { List<ServiceComponentHost> scHosts = c1.getServiceComponentHosts("h1"); Assert.assertEquals(1, scHosts.size()); - + Iterator<ServiceComponentHost> iterator = scHosts.iterator(); - + //Try to iterate on sch and modify it in loop try { while (iterator.hasNext()) { @@ -330,7 +334,7 @@ public class ClusterTest { } catch (ConcurrentModificationException e ) { Assert.assertTrue("Failed to work concurrently with sch", false); } - + scHosts = c1.getServiceComponentHosts("h1"); Assert.assertEquals(2, scHosts.size()); } @@ -338,7 +342,7 @@ public class ClusterTest { @Test public void testGetAndSetConfigs() { - + Map<String, Map<String, String>> c1PropAttributes = new HashMap<String, Map<String,String>>(); c1PropAttributes.put("final", new HashMap<String, String>()); c1PropAttributes.get("final").put("a", "true"); @@ -348,51 +352,51 @@ public class ClusterTest { Config config1 = configFactory.createNew(c1, "global", new HashMap<String, String>() {{ put("a", "b"); }}, c1PropAttributes); config1.setTag("version1"); - + Config config2 = configFactory.createNew(c1, "global", new HashMap<String, String>() {{ put("x", "y"); }}, c2PropAttributes); config2.setTag("version2"); - + Config config3 = configFactory.createNew(c1, "core-site", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); config3.setTag("version2"); - + c1.addConfig(config1); c1.addConfig(config2); c1.addConfig(config3); - + c1.addDesiredConfig("_test", Collections.singleton(config1)); Config res = c1.getDesiredConfigByType("global"); Assert.assertNotNull("Expected non-null config", res); Assert.assertEquals("true", res.getPropertiesAttributes().get("final").get("a")); - + res = c1.getDesiredConfigByType("core-site"); Assert.assertNull("Expected null config", res); - + c1.addDesiredConfig("_test", Collections.singleton(config2)); res = c1.getDesiredConfigByType("global"); Assert.assertEquals("Expected version tag to be 'version2'", "version2", res.getTag()); Assert.assertEquals("true", res.getPropertiesAttributes().get("final").get("x")); } - + @Test public void testDesiredConfigs() throws Exception { Config config1 = configFactory.createNew(c1, "global", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); config1.setTag("version1"); - + Config config2 = configFactory.createNew(c1, "global", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); config2.setTag("version2"); - + Config config3 = configFactory.createNew(c1, "core-site", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); config3.setTag("version2"); - + c1.addConfig(config1); c1.addConfig(config2); c1.addConfig(config3); - + try { c1.addDesiredConfig(null, Collections.singleton(config1)); fail("Cannot set a null user with config"); @@ -400,10 +404,10 @@ public class ClusterTest { catch (Exception e) { // test failure } - + c1.addDesiredConfig("_test1", Collections.singleton(config1)); c1.addDesiredConfig("_test3", Collections.singleton(config3)); - + Map<String, DesiredConfig> desiredConfigs = c1.getDesiredConfigs(); Assert.assertFalse("Expect desired config not contain 'mapred-site'", desiredConfigs.containsKey("mapred-site")); Assert.assertTrue("Expect desired config contain " + config1.getType(), desiredConfigs.containsKey("global")); @@ -415,10 +419,10 @@ public class ClusterTest { DesiredConfig dc = desiredConfigs.get(config1.getType()); Assert.assertTrue("Expect no host-level overrides", (null == dc.getHostOverrides() || dc.getHostOverrides().size() == 0)); - + c1.addDesiredConfig("_test2", Collections.singleton(config2)); Assert.assertEquals("_test2", c1.getDesiredConfigs().get(config2.getType()).getUser()); - + c1.addDesiredConfig("_test1", Collections.singleton(config1)); // setup a host that also has a config override @@ -427,11 +431,11 @@ public class ClusterTest { desiredConfigs = c1.getDesiredConfigs(); dc = desiredConfigs.get(config1.getType()); - + Assert.assertNotNull("Expect host-level overrides", dc.getHostOverrides()); Assert.assertEquals("Expect one host-level override", 1, dc.getHostOverrides().size()); } - + public ClusterEntity createDummyData() { ClusterEntity clusterEntity = new ClusterEntity(); clusterEntity.setClusterId(1L); @@ -483,7 +487,7 @@ public class ClusterTest { clusterEntity.setClusterServiceEntities(clusterServiceEntities); return clusterEntity; } - + @Test public void testClusterRecovery() throws AmbariException { ClusterEntity entity = createDummyData(); @@ -497,7 +501,7 @@ public class ClusterTest { Map<String, Service> services = cluster.getServices(); Assert.assertNotNull(services.get("HDFS")); } - + @Test public void testConvertToResponse() throws AmbariException { @@ -599,16 +603,16 @@ public class ClusterTest { assertTrue(configs.containsKey("h1")); assertEquals(1, configs.get("h1").size()); } - + @Test public void testProvisioningState() throws AmbariException { c1.setProvisioningState(State.INIT); Assert.assertEquals(State.INIT, c1.getProvisioningState()); - + c1.setProvisioningState(State.INSTALLED); Assert.assertEquals(State.INSTALLED, - c1.getProvisioningState()); + c1.getProvisioningState()); } @Test http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java index 0d55792..30158cc 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java @@ -39,6 +39,7 @@ import org.apache.ambari.server.HostNotFoundException; import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.ClusterServiceDAO; import org.apache.ambari.server.orm.dao.ClusterStateDAO; import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO; @@ -73,6 +74,8 @@ public class ClustersTest { private Injector injector; @Inject private AmbariMetaInfo metaInfo; + @Inject + private OrmTestHelper helper; @Before public void setup() throws Exception { @@ -87,13 +90,13 @@ public class ClustersTest { public void teardown() { injector.getInstance(PersistService.class).stop(); } - + private void setOsFamily(Host host, String osFamily, String osVersion) { - Map<String, String> hostAttributes = new HashMap<String, String>(); - hostAttributes.put("os_family", osFamily); - hostAttributes.put("os_release_version", osVersion); - - host.setHostAttributes(hostAttributes); + Map<String, String> hostAttributes = new HashMap<String, String>(); + hostAttributes.put("os_family", osFamily); + hostAttributes.put("os_release_version", osVersion); + + host.setHostAttributes(hostAttributes); } @Test @@ -222,6 +225,7 @@ public class ClustersTest { Assert.assertNotNull(clusters.getCluster(c2)); StackId stackId = new StackId("HDP-0.1"); cluster1.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); cluster1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); cluster2.setDesiredStackVersion(stackId); cluster2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); @@ -256,19 +260,19 @@ public class ClustersTest { clusters.mapHostToCluster(h1, c1); clusters.mapHostToCluster(h2, c1); - + try { clusters.mapHostToCluster(h1, c1); fail("Expected exception for duplicate"); } catch (DuplicateResourceException e) { // expected } - + /* make sure 2 host mapping to same cluster are the same cluster objects */ - + Cluster c3 = (Cluster) clusters.getClustersForHost(h1).toArray()[0]; Cluster c4 = (Cluster) clusters.getClustersForHost(h2).toArray()[0]; - + Assert.assertEquals(c3, c4); Set<String> hostnames = new HashSet<String>(); hostnames.add(h1); @@ -278,7 +282,7 @@ public class ClustersTest { c = clusters.getClustersForHost(h1); Assert.assertEquals(2, c.size()); - + c = clusters.getClustersForHost(h2); Assert.assertEquals(2, c.size()); @@ -307,6 +311,7 @@ public class ClustersTest { Assert.assertNotNull(clusters.getCluster(c2)); StackId stackId = new StackId("HDP-0.1"); cluster1.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); cluster1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); cluster2.setDesiredStackVersion(stackId); cluster2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); @@ -339,6 +344,7 @@ public class ClustersTest { StackId stackId = new StackId("HDP-0.1"); cluster.setDesiredStackVersion(stackId); cluster.setCurrentStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); cluster.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); final Config config1 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", @@ -347,14 +353,14 @@ public class ClustersTest { }}, new HashMap<String, Map<String,String>>()); config1.setTag("1"); config1.persist(); - + Config config2 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", new HashMap<String, String>() {{ put("prop2", "val2"); }}, new HashMap<String, Map<String,String>>()); config2.setTag("2"); config2.persist(); - + // cluster desired config cluster.addDesiredConfig("_test", Collections.singleton(config1)); @@ -380,14 +386,14 @@ public class ClustersTest { Service hdfs = cluster.addService("HDFS"); hdfs.persist(); - + Assert.assertNotNull(injector.getInstance(ClusterServiceDAO.class).findByClusterAndServiceNames(c1, "HDFS")); ServiceComponent nameNode = hdfs.addServiceComponent("NAMENODE"); nameNode.persist(); ServiceComponent dataNode = hdfs.addServiceComponent("DATANODE"); dataNode.persist(); - + ServiceComponent serviceCheckNode = hdfs.addServiceComponent("HDFS_CLIENT"); serviceCheckNode.persist(); @@ -396,7 +402,7 @@ public class ClustersTest { ServiceComponentHost dataNodeHost = dataNode.addServiceComponentHost(h2); dataNodeHost.persist(); - + ServiceComponentHost serviceCheckNodeHost = serviceCheckNode.addServiceComponentHost(h2); serviceCheckNodeHost.persist(); serviceCheckNodeHost.setState(State.UNKNOWN); @@ -419,7 +425,7 @@ public class ClustersTest { Assert.assertEquals(2, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigEntity config").getResultList().size()); Assert.assertEquals(1, injector.getProvider(EntityManager.class).get().createQuery("SELECT state FROM ClusterStateEntity state").getResultList().size()); Assert.assertEquals(1, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigMappingEntity config").getResultList().size()); - + clusters.deleteCluster(c1); Assert.assertEquals(2, injector.getInstance(HostDAO.class).findAll().size()); http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java index ab158e9..2aac5f4 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java @@ -38,6 +38,7 @@ import org.apache.ambari.server.agent.HostInfo; import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.HostDAO; import org.apache.ambari.server.orm.entities.HostEntity; import org.apache.ambari.server.orm.entities.HostStateEntity; @@ -70,6 +71,7 @@ public class HostTest { private Injector injector; private Clusters clusters; private HostDAO hostDAO; + private OrmTestHelper helper; private static Log LOG = LogFactory.getLog(HostTest.class); @Before @@ -78,6 +80,7 @@ public class HostTest { injector.getInstance(GuiceJpaInitializer.class); clusters = injector.getInstance(Clusters.class); hostDAO = injector.getInstance(HostDAO.class); + helper = injector.getInstance(OrmTestHelper.class); } @After @@ -120,7 +123,7 @@ public class HostTest { private void registerHost(Host host) throws Exception { registerHost(host, true); } - + @Test public void testHostOs() throws Exception { Clusters clusters = mock(Clusters.class); @@ -135,7 +138,7 @@ public class HostTest { Assert.assertEquals("redhat6", os); os = handler.getOsType("RedHat6",""); Assert.assertEquals("redhat6", os); - + } private void registerHost(Host host, boolean firstReg) throws Exception { @@ -155,7 +158,7 @@ public class HostTest { AgentVersion agentVersion = null; long currentTime = System.currentTimeMillis(); - + AgentEnv agentEnv = new AgentEnv(); HostRegistrationRequestEvent e = @@ -166,7 +169,7 @@ public class HostTest { } host.handleEvent(e); Assert.assertEquals(currentTime, host.getLastRegistrationTime()); - + Assert.assertNotNull(host.getLastAgentEnv()); HostEntity entity = hostDAO.findByName(host.getHostName()); @@ -351,15 +354,16 @@ public class HostTest { registerHost(host, false); } - + @Test public void testHostDesiredConfig() throws Exception { AmbariMetaInfo metaInfo = injector.getInstance(AmbariMetaInfo.class); metaInfo.init(); - + clusters.addCluster("c1"); Cluster c1 = clusters.getCluster("c1"); StackId stackId = new StackId("HDP-0.1"); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); Assert.assertEquals("c1", c1.getClusterName()); Assert.assertEquals(1, c1.getClusterId()); @@ -367,20 +371,20 @@ public class HostTest { Host host = clusters.getHost("h1"); host.setIPv4("ipv4"); host.setIPv6("ipv6"); - + Map<String, String> hostAttributes = new HashMap<String, String>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "6.3"); host.setHostAttributes(hostAttributes); - + host.persist(); c1.setDesiredStackVersion(stackId); clusters.mapHostToCluster("h1", "c1"); - + ConfigFactory configFactory = injector.getInstance(ConfigFactory.class); Config config = configFactory.createNew(c1, "global", new HashMap<String,String>() {{ put("a", "b"); put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - + try { host.addDesiredConfig(c1.getClusterId(), true, null, config); Assert.fail("Expect failure when user is not specified."); @@ -388,36 +392,36 @@ public class HostTest { catch (Exception e) { // testing exception } - - + + config.setTag("v1"); host.addDesiredConfig(c1.getClusterId(), true, "_test", config); - + Map<String, DesiredConfig> map = host.getDesiredConfigs(c1.getClusterId()); Assert.assertTrue("Expect desired config to contain global", map.containsKey("global")); Assert.assertEquals("Expect global user to be '_test'", "_test", map.get("global").getUser()); - + config = configFactory.createNew(c1, "global", new HashMap<String,String>() {{ put("c", "d"); }}, new HashMap<String, Map<String,String>>()); config.setTag("v2"); host.addDesiredConfig(c1.getClusterId(), true, "_test1", config); - + map = host.getDesiredConfigs(c1.getClusterId()); Assert.assertTrue("Expect desired config to contain global", map.containsKey("global")); Assert.assertEquals("Expect version to be 'v2'", "v2", map.get("global").getTag()); Assert.assertEquals("Expect user to be '_test1'", "_test1", map.get("global").getUser()); - + host.addDesiredConfig(c1.getClusterId(), false, "_test2", config); map = host.getDesiredConfigs(c1.getClusterId()); Assert.assertEquals("Expect no mapping configs", 0, map.size()); - + } - + @Test public void testHostMaintenance() throws Exception { AmbariMetaInfo metaInfo = injector.getInstance(AmbariMetaInfo.class); metaInfo.init(); - + clusters.addCluster("c1"); Cluster c1 = clusters.getCluster("c1"); Assert.assertEquals("c1", c1.getClusterName()); @@ -426,14 +430,15 @@ public class HostTest { Host host = clusters.getHost("h1"); host.setIPv4("ipv4"); host.setIPv6("ipv6"); - + Map<String, String> hostAttributes = new HashMap<String, String>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "6.3"); host.setHostAttributes(hostAttributes); - + host.persist(); StackId stackId = new StackId("HDP-0.1"); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); c1.setDesiredStackVersion(stackId); clusters.mapHostToCluster("h1", "c1"); @@ -442,7 +447,7 @@ public class HostTest { HostStateEntity stateEntity = entity.getHostStateEntity(); Assert.assertNull(stateEntity.getMaintenanceState()); Assert.assertEquals(MaintenanceState.OFF, host.getMaintenanceState(c1.getClusterId())); - + host.setMaintenanceState(c1.getClusterId(), MaintenanceState.ON); entity = hostDAO.findByName("h1"); http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java index 2a04c71..bb0836f 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java @@ -32,6 +32,7 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.controller.ServiceComponentHostResponse; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO; import org.apache.ambari.server.orm.dao.HostComponentStateDAO; import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity; @@ -96,6 +97,8 @@ public class ServiceComponentHostTest { private ConfigGroupFactory configGroupFactory; @Inject private ConfigHelper configHelper; + @Inject + private OrmTestHelper helper; @Before public void setup() throws Exception { @@ -109,6 +112,7 @@ public class ServiceComponentHostTest { StackId stackId = new StackId("HDP-0.1"); Cluster c1 = clusters.getCluster("C1"); c1.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c1.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); metaInfo.init(); clusters.mapHostToCluster("h1","C1"); @@ -716,6 +720,7 @@ public class ServiceComponentHostTest { Cluster c2 = clusters.getCluster(clusterName); StackId stackId = new StackId(stackVersion); c2.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); metaInfo.init(); clusters.mapHostToCluster(hostName, clusterName); @@ -942,6 +947,7 @@ public class ServiceComponentHostTest { Cluster c2 = clusters.getCluster(clusterName); StackId stackId = new StackId(stackVersion); c2.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); metaInfo.init(); @@ -1076,6 +1082,7 @@ public class ServiceComponentHostTest { Cluster c2 = clusters.getCluster(clusterName); StackId stackId = new StackId(stackVersion); c2.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); metaInfo.init(); clusters.mapHostToCluster(hostName, clusterName); @@ -1119,6 +1126,7 @@ public class ServiceComponentHostTest { Cluster c2 = clusters.getCluster(clusterName); StackId stackId = new StackId(stackVersion); c2.setDesiredStackVersion(stackId); + helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion()); c2.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.CURRENT); metaInfo.init(); clusters.mapHostToCluster(hostName, clusterName); http://git-wip-us.apache.org/repos/asf/ambari/blob/92815dd5/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java index ee65c0c..f8d061a 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java @@ -239,8 +239,8 @@ public class UpgradeCatalog200Test { viewparameterDefaultValueColumnCapture); // Verify capture group sizes - assertEquals(8, clusterVersionCapture.getValue().size()); - assertEquals(5, hostVersionCapture.getValue().size()); + assertEquals(7, clusterVersionCapture.getValue().size()); + assertEquals(4, hostVersionCapture.getValue().size()); assertViewInstancePropertyColumns(valueColumnCapture); assertViewInstanceDataColumns(dataValueColumnCapture);