You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2015/04/16 16:37:26 UTC
[3/8] ambari git commit: AMBARI-10511 - Use Stack Table For Entity
Relationships (jonathanhurley)
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java
index 4837764..6a1c80d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java
@@ -18,21 +18,21 @@
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.ClusterEntity;
+import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.state.RepositoryVersionState;
+import org.apache.ambari.server.state.StackId;
import org.junit.After;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
-import org.junit.Assert;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
/**
* ClusterVersionDAO unit tests.
@@ -57,6 +57,9 @@ public class ClusterVersionDAOTest {
ClusterVersionEntity cvC;
long cvCId = 0L;
+ private final static StackId HDP_22_STACK = new StackId("HDP", "2.2.0");
+ private final static StackId BAD_STACK = new StackId("BADSTACK", "1.0");
+
@Before
public void before() {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
@@ -76,7 +79,7 @@ public class ClusterVersionDAOTest {
clusterId = helper.createCluster();
cluster = clusterDAO.findById(clusterId);
- cvA = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
+ cvA = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.0-995"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
clusterVersionDAO.create(cvA);
cvAId = cvA.getId();
} else {
@@ -87,7 +90,7 @@ public class ClusterVersionDAOTest {
// Install B
if (currStep >= 2) {
if (lastStep <= 1) {
- cvB = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.1-998"), RepositoryVersionState.INSTALLED, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
+ cvB = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.1-998"), RepositoryVersionState.INSTALLED, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
clusterVersionDAO.create(cvB);
cvBId = cvB.getId();
} else {
@@ -106,7 +109,7 @@ public class ClusterVersionDAOTest {
// Start upgrading C
if (currStep >= 4) {
if (lastStep <= 3) {
- cvC = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-100"), RepositoryVersionState.UPGRADING, System.currentTimeMillis(), "admin");
+ cvC = new ClusterVersionEntity(cluster, helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.1.0-100"), RepositoryVersionState.UPGRADING, System.currentTimeMillis(), "admin");
clusterVersionDAO.create(cvC);
cvCId = cvC.getId();
} else {
@@ -140,14 +143,21 @@ public class ClusterVersionDAOTest {
clusterVersionDAO.merge(cvB);
}
- this.lastStep = currStep;
+ lastStep = currStep;
}
@Test
public void testFindByStackAndVersion() {
createRecordsUntilStep(1);
- Assert.assertEquals(0, clusterVersionDAO.findByStackAndVersion("non existing", "non existing").size());
- Assert.assertEquals(1, clusterVersionDAO.findByStackAndVersion("HDP-2.2", "2.2.0.0-995").size());
+ Assert.assertEquals(
+ 0,
+ clusterVersionDAO.findByStackAndVersion("non existing", "non existing",
+ "non existing").size());
+
+ Assert.assertEquals(
+ 1,
+ clusterVersionDAO.findByStackAndVersion(HDP_22_STACK.getStackName(),
+ HDP_22_STACK.getStackVersion(), "2.2.0.0-995").size());
}
@Test
@@ -160,8 +170,11 @@ public class ClusterVersionDAOTest {
@Test
public void testFindByClusterAndStackAndVersion() {
createRecordsUntilStep(1);
- Assert.assertNull(clusterVersionDAO.findByClusterAndStackAndVersion(cluster.getClusterName(), "non existing", "non existing"));
- Assert.assertNotNull(clusterVersionDAO.findByClusterAndStackAndVersion(cluster.getClusterName(), "HDP-2.2", "2.2.0.0-995"));
+ Assert.assertNull(clusterVersionDAO.findByClusterAndStackAndVersion(
+ cluster.getClusterName(), BAD_STACK, "non existing"));
+
+ Assert.assertNotNull(clusterVersionDAO.findByClusterAndStackAndVersion(
+ cluster.getClusterName(), HDP_22_STACK, "2.2.0.0-995"));
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ConfigGroupDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ConfigGroupDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ConfigGroupDAOTest.java
index 304f5b6..2adbf9d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ConfigGroupDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ConfigGroupDAOTest.java
@@ -17,11 +17,15 @@
*/
package org.apache.ambari.server.orm.dao;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.persist.PersistService;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
import junit.framework.Assert;
+
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.cache.ConfigGroupHostMapping;
@@ -33,13 +37,14 @@ import org.apache.ambari.server.orm.entities.ConfigGroupHostMappingEntity;
import org.apache.ambari.server.orm.entities.HostEntity;
import org.apache.ambari.server.orm.entities.ResourceEntity;
import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
public class ConfigGroupDAOTest {
private Injector injector;
@@ -49,12 +54,17 @@ public class ConfigGroupDAOTest {
private ConfigGroupHostMappingDAO configGroupHostMappingDAO;
private HostDAO hostDAO;
private ResourceTypeDAO resourceTypeDAO;
+ private StackDAO stackDAO;
@Before
public void setup() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ // required to populate the database with stacks
+ injector.getInstance(AmbariMetaInfo.class);
+
+ stackDAO = injector.getInstance(StackDAO.class);
clusterDAO = injector.getInstance(ClusterDAO.class);
configGroupDAO = injector.getInstance(ConfigGroupDAO.class);
configGroupConfigMappingDAO = injector.getInstance
@@ -83,12 +93,17 @@ public class ConfigGroupDAOTest {
resourceTypeEntity.setName(ResourceTypeEntity.CLUSTER_RESOURCE_TYPE_NAME);
resourceTypeEntity = resourceTypeDAO.merge(resourceTypeEntity);
}
+
+ StackEntity stackEntity = stackDAO.find("HDP", "0.1");
+
ResourceEntity resourceEntity = new ResourceEntity();
resourceEntity.setResourceType(resourceTypeEntity);
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterName(clusterName);
clusterEntity.setResource(resourceEntity);
+ clusterEntity.setDesiredStack(stackEntity);
+
clusterDAO.create(clusterEntity);
configGroupEntity.setClusterEntity(clusterEntity);
@@ -104,6 +119,7 @@ public class ConfigGroupDAOTest {
ArrayList<ConfigGroupHostMappingEntity>();
for (HostEntity host : hosts) {
+ host.setClusterEntities(Arrays.asList(clusterEntity));
hostDAO.create(host);
ConfigGroupHostMappingEntity hostMappingEntity = new
@@ -213,9 +229,9 @@ public class ConfigGroupDAOTest {
.findByHost("h1");
Assert.assertNotNull(hostMappingEntities);
-
+
for (ConfigGroupHostMapping hostMappingEntity : hostMappingEntities) {
-
+
Assert.assertEquals("h1", hostMappingEntity.getHostname());
Assert.assertEquals("centOS", hostMappingEntity.getHost().getOsType());
}
@@ -223,11 +239,14 @@ public class ConfigGroupDAOTest {
@Test
public void testFindConfigsByGroup() throws Exception {
+ StackEntity stackEntity = stackDAO.find("HDP", "0.1");
+
ClusterConfigEntity configEntity = new ClusterConfigEntity();
configEntity.setType("core-site");
configEntity.setTag("version1");
configEntity.setData("someData");
configEntity.setAttributes("someAttributes");
+ configEntity.setStack(stackEntity);
List<ClusterConfigEntity> configEntities = new
ArrayList<ClusterConfigEntity>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/CrudDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/CrudDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/CrudDAOTest.java
index 7568150..8777d33 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/CrudDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/CrudDAOTest.java
@@ -18,9 +18,12 @@
package org.apache.ambari.server.orm.dao;
+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.entities.RepositoryVersionEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
+import org.apache.ambari.server.state.StackId;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -41,18 +44,31 @@ public class CrudDAOTest {
private int uniqueCounter = 0;
private static final long FIRST_ID = 1L;
+ private static final StackId HDP_206 = new StackId("HDP", "2.0.6");
+
+ private StackDAO stackDAO;
+
@Before
public void before() {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
+ stackDAO = injector.getInstance(StackDAO.class);
repositoryVersionDAO = injector.getInstance(RepositoryVersionDAO.class);
injector.getInstance(GuiceJpaInitializer.class);
+
+ // required to populate stacks into the database
+ injector.getInstance(AmbariMetaInfo.class);
}
private void createSingleRecord() {
+ StackEntity stackEntity = stackDAO.find(HDP_206.getStackName(),
+ HDP_206.getStackVersion());
+
+ Assert.assertNotNull(stackEntity);
+
final RepositoryVersionEntity entity = new RepositoryVersionEntity();
entity.setDisplayName("display name" + uniqueCounter);
entity.setOperatingSystems("repositories");
- entity.setStack("stack" + uniqueCounter);
+ entity.setStack(stackEntity);
entity.setUpgradePackage("upgrade package");
entity.setVersion("version");
repositoryVersionDAO.create(entity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/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 7cf59e9..5ae9f0c 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
@@ -18,23 +18,31 @@
package org.apache.ambari.server.orm.dao;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.persist.PersistService;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+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.entities.*;
+import org.apache.ambari.server.orm.entities.ClusterEntity;
+import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
+import org.apache.ambari.server.orm.entities.HostEntity;
+import org.apache.ambari.server.orm.entities.HostVersionEntity;
+import org.apache.ambari.server.orm.entities.ResourceEntity;
+import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.apache.ambari.server.state.RepositoryVersionState;
+import org.apache.ambari.server.state.StackId;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
/**
@@ -45,11 +53,15 @@ public class HostVersionDAOTest {
private static Injector injector;
private ResourceTypeDAO resourceTypeDAO;
private ClusterDAO clusterDAO;
+ private StackDAO stackDAO;
private ClusterVersionDAO clusterVersionDAO;
private HostDAO hostDAO;
private HostVersionDAO hostVersionDAO;
private OrmTestHelper helper;
+ private final static StackId HDP_22_STACK = new StackId("HDP", "2.2.0");
+ private final static StackId BAD_STACK = new StackId("BADSTACK", "1.0");
+
@Before
public void before() {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
@@ -57,11 +69,15 @@ public class HostVersionDAOTest {
resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class);
clusterDAO = injector.getInstance(ClusterDAO.class);
+ stackDAO = injector.getInstance(StackDAO.class);
clusterVersionDAO = injector.getInstance(ClusterVersionDAO.class);
hostDAO = injector.getInstance(HostDAO.class);
hostVersionDAO = injector.getInstance(HostVersionDAO.class);
helper = injector.getInstance(OrmTestHelper.class);
+ // required to populate the database with stacks
+ injector.getInstance(AmbariMetaInfo.class);
+
createDefaultData();
}
@@ -69,6 +85,9 @@ public class HostVersionDAOTest {
* Helper function to bootstrap some basic data about clusters, cluster version, host, and host versions.
*/
private void createDefaultData() {
+ StackEntity stackEntity = stackDAO.find(HDP_22_STACK.getStackName(), HDP_22_STACK.getStackVersion());
+ Assert.assertNotNull(stackEntity);
+
// Create the cluster
ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
resourceTypeEntity.setId(ResourceTypeEntity.CLUSTER_RESOURCE_TYPE);
@@ -82,10 +101,15 @@ public class HostVersionDAOTest {
clusterEntity.setClusterName("test_cluster1");
clusterEntity.setClusterInfo("test_cluster_info1");
clusterEntity.setResource(resourceEntity);
+ clusterEntity.setDesiredStack(stackEntity);
+
clusterDAO.create(clusterEntity);
// Create the Cluster Version and link it to the cluster
- ClusterVersionEntity clusterVersionEntity = new ClusterVersionEntity(clusterEntity, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
+ ClusterVersionEntity clusterVersionEntity = new ClusterVersionEntity(
+ clusterEntity, helper.getOrCreateRepositoryVersion(HDP_22_STACK,
+ "2.2.0.0-995"), RepositoryVersionState.CURRENT,
+ System.currentTimeMillis(), System.currentTimeMillis(), "admin");
List<ClusterVersionEntity> clusterVersionEntities = new ArrayList<ClusterVersionEntity>();
clusterVersionEntities.add(clusterVersionEntity);
clusterEntity.setClusterVersionEntities(clusterVersionEntities);
@@ -110,7 +134,6 @@ public class HostVersionDAOTest {
hostEntities.add(host2);
hostEntities.add(host3);
- clusterEntity.setHostEntities(hostEntities);
// Both sides of relation should be set when modifying in runtime
host1.setClusterEntities(Arrays.asList(clusterEntity));
host2.setClusterEntities(Arrays.asList(clusterEntity));
@@ -119,6 +142,8 @@ public class HostVersionDAOTest {
hostDAO.create(host1);
hostDAO.create(host2);
hostDAO.create(host3);
+
+ clusterEntity.setHostEntities(hostEntities);
clusterDAO.merge(clusterEntity);
// Create the Host Versions
@@ -149,7 +174,7 @@ public class HostVersionDAOTest {
Assert.fail("Cluster is expected to have at least one cluster version");
}
- ClusterVersionEntity newClusterVersionEntity = new ClusterVersionEntity(clusterEntity, helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.1-996"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
+ ClusterVersionEntity newClusterVersionEntity = new ClusterVersionEntity(clusterEntity, helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.1-996"), RepositoryVersionState.CURRENT, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
clusterEntity.addClusterVersionEntity(newClusterVersionEntity);
clusterVersionDAO.create(newClusterVersionEntity);
@@ -159,7 +184,7 @@ public class HostVersionDAOTest {
// For each of the hosts, add a host version
for (HostEntity host : hostEntities) {
- HostVersionEntity hostVersionEntity = new HostVersionEntity(host.getHostName(), helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.1-996"), RepositoryVersionState.INSTALLED);
+ HostVersionEntity hostVersionEntity = new HostVersionEntity(host.getHostName(), helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.1-996"), RepositoryVersionState.INSTALLED);
hostVersionEntity.setHostEntity(host);
hostVersionDAO.create(hostVersionEntity);
}
@@ -177,7 +202,7 @@ public class HostVersionDAOTest {
desiredState = RepositoryVersionState.UPGRADE_FAILED;
}
- HostVersionEntity hostVersionEntity = new HostVersionEntity(hostEntities[i].getHostName(), helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.1.0-500"), desiredState);
+ HostVersionEntity hostVersionEntity = new HostVersionEntity(hostEntities[i].getHostName(), helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.1.0-500"), desiredState);
hostVersionEntity.setHostEntity(hostEntities[i]);
hostVersionDAO.create(hostVersionEntity);
}
@@ -212,13 +237,13 @@ public class HostVersionDAOTest {
*/
@Test
public void testFindByClusterStackAndVersion() {
- Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", "HDP-2.2", "2.2.0.0-995").size());
+ Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", HDP_22_STACK, "2.2.0.0-995").size());
Assert.assertEquals(3, hostVersionDAO.findAll().size());
addMoreVersions();
- 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(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", HDP_22_STACK, "2.2.0.1-996").size());
+ Assert.assertEquals(3, hostVersionDAO.findByClusterStackAndVersion("test_cluster1", HDP_22_STACK, "2.2.1.0-500").size());
Assert.assertEquals(9, hostVersionDAO.findAll().size());
}
@@ -264,37 +289,37 @@ public class HostVersionDAOTest {
*/
@Test
public void testFindByClusterStackVersionAndHost() {
- HostVersionEntity hostVersionEntity1 = new HostVersionEntity("test_host1", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.CURRENT);
+ HostVersionEntity hostVersionEntity1 = new HostVersionEntity("test_host1", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.0-995"), RepositoryVersionState.CURRENT);
hostVersionEntity1.setId(1L);
hostVersionEntity1.setHostEntity(hostDAO.findByName("test_host1"));
- HostVersionEntity hostVersionEntity2 = new HostVersionEntity("test_host2", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.INSTALLED);
+ HostVersionEntity hostVersionEntity2 = new HostVersionEntity("test_host2", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.0.0-995"), RepositoryVersionState.INSTALLED);
hostVersionEntity2.setId(2L);
hostVersionEntity2.setHostEntity(hostDAO.findByName("test_host2"));
- HostVersionEntity hostVersionEntity3 = new HostVersionEntity("test_host3", helper.getOrCreateRepositoryVersion("HDP-2.2", "2.2.0.0-995"), RepositoryVersionState.INSTALLED);
+ HostVersionEntity hostVersionEntity3 = new HostVersionEntity("test_host3", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "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", "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"));
+ Assert.assertEquals(hostVersionEntity1, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "2.2.0.0-995", "test_host1"));
+ Assert.assertEquals(hostVersionEntity2, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "2.2.0.0-995", "test_host2"));
+ Assert.assertEquals(hostVersionEntity3, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "2.2.0.0-995", "test_host3"));
// Test non-existent objects
- 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-2.2", "non_existent_version", "test_host3"));
- Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", "HDP-2.2", "non_existent_version", "non_existent_host"));
+ Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("non_existent_cluster", HDP_22_STACK, "2.2.0.0-995", "test_host3"));
+ Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", BAD_STACK, "2.2.0.0-995", "test_host3"));
+ Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "non_existent_version", "test_host3"));
+ Assert.assertEquals(null, hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "non_existent_version", "non_existent_host"));
addMoreVersions();
// Expected
- 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);
+ HostVersionEntity hostVersionEntity1LastExpected = new HostVersionEntity("test_host1", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.1.0-500"), RepositoryVersionState.INSTALLED);
+ HostVersionEntity hostVersionEntity2LastExpected = new HostVersionEntity("test_host2", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.1.0-500"), RepositoryVersionState.UPGRADING);
+ HostVersionEntity hostVersionEntity3LastExpected = new HostVersionEntity("test_host3", helper.getOrCreateRepositoryVersion(HDP_22_STACK, "2.2.1.0-500"), RepositoryVersionState.UPGRADE_FAILED);
// Actual
- 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");
+ HostVersionEntity hostVersionEntity1LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "2.2.1.0-500", "test_host1");
+ HostVersionEntity hostVersionEntity2LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "2.2.1.0-500", "test_host2");
+ HostVersionEntity hostVersionEntity3LastActual = hostVersionDAO.findByClusterStackVersionAndHost("test_cluster1", HDP_22_STACK, "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/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java
index 09c8453..9a4ee5c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java
@@ -18,32 +18,40 @@
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.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.entities.ClusterEntity;
import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.apache.ambari.server.state.RepositoryVersionState;
+import org.apache.ambari.server.state.StackId;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
+
/**
* RepositoryVersionDAO unit tests.
*/
public class RepositoryVersionDAOTest {
private static Injector injector;
+
+ private static final StackId HDP_206 = new StackId("HDP", "2.0.6");
+ private static final StackId BAD_STACK = new StackId("BADSTACK", "1.0");
+
private RepositoryVersionDAO repositoryVersionDAO;
private ClusterVersionDAO clusterVersionDAO;
- private HostVersionDAO hostVersionDAO;
-
+
private ClusterDAO clusterDAO;
+ private StackDAO stackDAO;
private OrmTestHelper helper;
@Before
@@ -51,17 +59,25 @@ public class RepositoryVersionDAOTest {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
repositoryVersionDAO = injector.getInstance(RepositoryVersionDAO.class);
clusterVersionDAO = injector.getInstance(ClusterVersionDAO.class);
- hostVersionDAO = injector.getInstance(HostVersionDAO.class);
clusterDAO = injector.getInstance(ClusterDAO.class);
- helper = injector.getInstance(OrmTestHelper.class);
+ stackDAO = injector.getInstance(StackDAO.class);
+ helper = injector.getInstance(OrmTestHelper.class);
injector.getInstance(GuiceJpaInitializer.class);
+
+ // required to populate stacks into the database
+ injector.getInstance(AmbariMetaInfo.class);
}
private void createSingleRecord() {
+ StackEntity stackEntity = stackDAO.find(HDP_206.getStackName(),
+ HDP_206.getStackVersion());
+
+ Assert.assertNotNull(stackEntity);
+
final RepositoryVersionEntity entity = new RepositoryVersionEntity();
entity.setDisplayName("display name");
entity.setOperatingSystems("repositories");
- entity.setStack("stack");
+ entity.setStack(stackEntity);
entity.setUpgradePackage("upgrade package");
entity.setVersion("version");
repositoryVersionDAO.create(entity);
@@ -77,49 +93,58 @@ public class RepositoryVersionDAOTest {
@Test
public void testFindByStackAndVersion() {
createSingleRecord();
- Assert.assertNull(repositoryVersionDAO.findByStackAndVersion("non existing", "non existing"));
- Assert.assertNotNull(repositoryVersionDAO.findByStackAndVersion("stack", "version"));
+ Assert.assertNull(repositoryVersionDAO.findByStackAndVersion(BAD_STACK,
+ "non existing"));
+ Assert.assertNotNull(repositoryVersionDAO.findByStackAndVersion(HDP_206,
+ "version"));
}
@Test
public void testFindByStack() {
createSingleRecord();
- Assert.assertEquals(0, repositoryVersionDAO.findByStack("non existing").size());
- Assert.assertEquals(1, repositoryVersionDAO.findByStack("stack").size());
+ Assert.assertEquals(0, repositoryVersionDAO.findByStack(BAD_STACK).size());
+ Assert.assertEquals(1, repositoryVersionDAO.findByStack(HDP_206).size());
}
@Test
public void testDelete() {
createSingleRecord();
- Assert.assertNotNull(repositoryVersionDAO.findByStackAndVersion("stack", "version"));
- final RepositoryVersionEntity entity = repositoryVersionDAO.findByStackAndVersion("stack", "version");
+ Assert.assertNotNull(repositoryVersionDAO.findByStackAndVersion(HDP_206,
+ "version"));
+
+ final RepositoryVersionEntity entity = repositoryVersionDAO.findByStackAndVersion(
+ HDP_206, "version");
+
repositoryVersionDAO.remove(entity);
- Assert.assertNull(repositoryVersionDAO.findByStackAndVersion("stack", "version"));
- }
+ Assert.assertNull(repositoryVersionDAO.findByStackAndVersion(HDP_206,
+ "version"));
+ }
@Test
- public void testDeleteCascade() {
+ public void testDeleteCascade() {
long clusterId = helper.createCluster();
ClusterEntity cluster = clusterDAO.findById(clusterId);
createSingleRecord();
- final RepositoryVersionEntity entity = repositoryVersionDAO.findByStackAndVersion("stack", "version");
-
+ final RepositoryVersionEntity entity = repositoryVersionDAO.findByStackAndVersion(
+ HDP_206, "version");
+
ClusterVersionEntity cvA = new ClusterVersionEntity(cluster, entity, RepositoryVersionState.INSTALLED, System.currentTimeMillis(), System.currentTimeMillis(), "admin");
clusterVersionDAO.create(cvA);
long cvAId = cvA.getId();
cvA = clusterVersionDAO.findByPK(cvAId);
Assert.assertNotNull(cvA.getRepositoryVersion());
- final RepositoryVersionEntity newEntity = repositoryVersionDAO.findByStackAndVersion("stack", "version");
+ final RepositoryVersionEntity newEntity = repositoryVersionDAO.findByStackAndVersion(
+ HDP_206, "version");
try {
repositoryVersionDAO.remove(newEntity);
} catch (Exception e) {
//Cascade deletion will fail because absent integrity in in-memory DB
Assert.assertNotNull(clusterVersionDAO.findByPK(cvAId));
- }
+ }
//
-
- }
-
+
+ }
+
@After
public void after() {
injector.getInstance(PersistService.class).stop();
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
index 8ca53f7..7ebcdf9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestDAOTest.java
@@ -28,6 +28,7 @@ import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.Role;
import org.apache.ambari.server.RoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
+import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.controller.internal.CalculatedStatus;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
@@ -54,15 +55,16 @@ import com.google.inject.persist.PersistService;
public class RequestDAOTest {
private Injector injector;
private ClusterDAO clusterDAO;
- StageDAO stageDAO;
- HostRoleCommandDAO hostRoleCommandDAO;
- HostDAO hostDAO;
- RequestDAO requestDAO;
+ private StageDAO stageDAO;
+ private HostRoleCommandDAO hostRoleCommandDAO;
+ private HostDAO hostDAO;
+ private RequestDAO requestDAO;
@Before
public void setup() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ injector.getInstance(AmbariMetaInfo.class);
clusterDAO = injector.getInstance(ClusterDAO.class);
stageDAO = injector.getInstance(StageDAO.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestScheduleDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestScheduleDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestScheduleDAOTest.java
index b3a3ef2..75b937c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestScheduleDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RequestScheduleDAOTest.java
@@ -17,11 +17,12 @@
*/
package org.apache.ambari.server.orm.dao;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.persist.PersistService;
+import java.util.List;
+
import junit.framework.Assert;
+
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.entities.ClusterEntity;
@@ -30,12 +31,15 @@ import org.apache.ambari.server.orm.entities.RequestScheduleBatchRequestEntity;
import org.apache.ambari.server.orm.entities.RequestScheduleEntity;
import org.apache.ambari.server.orm.entities.ResourceEntity;
import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.apache.ambari.server.state.scheduler.BatchRequest;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import java.util.List;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
public class RequestScheduleDAOTest {
private Injector injector;
@@ -53,6 +57,9 @@ public class RequestScheduleDAOTest {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ // required to load stacks into the DB
+ injector.getInstance(AmbariMetaInfo.class);
+
clusterDAO = injector.getInstance(ClusterDAO.class);
hostDAO = injector.getInstance(HostDAO.class);
clusterDAO = injector.getInstance(ClusterDAO.class);
@@ -77,12 +84,18 @@ public class RequestScheduleDAOTest {
resourceTypeEntity.setName(ResourceTypeEntity.CLUSTER_RESOURCE_TYPE_NAME);
resourceTypeEntity = resourceTypeDAO.merge(resourceTypeEntity);
}
+
+ StackDAO stackDAO = injector.getInstance(StackDAO.class);
+ StackEntity stackEntity = stackDAO.find("HDP", "2.2.0");
+
ResourceEntity resourceEntity = new ResourceEntity();
resourceEntity.setResourceType(resourceTypeEntity);
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterName("c1");
clusterEntity.setResource(resourceEntity);
+ clusterEntity.setDesiredStack(stackEntity);
+
clusterDAO.create(clusterEntity);
scheduleEntity.setClusterEntity(clusterEntity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java
index 5118156..3cde243 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java
@@ -17,45 +17,46 @@
*/
package org.apache.ambari.server.orm.dao;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.persist.PersistService;
+import java.util.List;
+import java.util.Map;
+
import junit.framework.Assert;
+
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.cache.ConfigGroupHostMapping;
import org.apache.ambari.server.orm.entities.ClusterConfigEntity;
import org.apache.ambari.server.orm.entities.ClusterEntity;
-import org.apache.ambari.server.orm.entities.ConfigGroupConfigMappingEntity;
-import org.apache.ambari.server.orm.entities.ConfigGroupEntity;
-import org.apache.ambari.server.orm.entities.ConfigGroupHostMappingEntity;
-import org.apache.ambari.server.orm.entities.HostEntity;
import org.apache.ambari.server.orm.entities.ResourceEntity;
import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
import org.apache.ambari.server.orm.entities.ServiceConfigEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.persist.PersistService;
public class ServiceConfigDAOTest {
private Injector injector;
private ServiceConfigDAO serviceConfigDAO;
private ClusterDAO clusterDAO;
private ResourceTypeDAO resourceTypeDAO;
-
+ private StackDAO stackDAO;
@Before
public void setup() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
injector.getInstance(GuiceJpaInitializer.class);
+ // required to load stack information into the DB
+ injector.getInstance(AmbariMetaInfo.class);
+
clusterDAO = injector.getInstance(ClusterDAO.class);
+ stackDAO = injector.getInstance(StackDAO.class);
serviceConfigDAO = injector.getInstance(ServiceConfigDAO.class);
resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class);
}
@@ -78,6 +79,9 @@ public class ServiceConfigDAOTest {
resourceTypeEntity.setName(ResourceTypeEntity.CLUSTER_RESOURCE_TYPE_NAME);
resourceTypeEntity = resourceTypeDAO.merge(resourceTypeEntity);
}
+
+ StackEntity stackEntity = stackDAO.find("HDP", "0.1");
+
ResourceEntity resourceEntity = new ResourceEntity();
resourceEntity.setResourceType(resourceTypeEntity);
@@ -86,6 +90,8 @@ public class ServiceConfigDAOTest {
clusterEntity = new ClusterEntity();
clusterEntity.setClusterName("c1");
clusterEntity.setResource(resourceEntity);
+ clusterEntity.setDesiredStack(stackEntity);
+
clusterDAO.create(clusterEntity);
}
@@ -98,6 +104,7 @@ public class ServiceConfigDAOTest {
serviceConfigEntity.setCreateTimestamp(createTimestamp);
serviceConfigEntity.setClusterConfigEntities(clusterConfigEntities);
serviceConfigEntity.setClusterEntity(clusterEntity);
+ serviceConfigEntity.setStack(clusterEntity.getDesiredStack());
serviceConfigDAO.create(serviceConfigEntity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/BlueprintEntityTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/BlueprintEntityTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/BlueprintEntityTest.java
index b965554..2587f6d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/BlueprintEntityTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/BlueprintEntityTest.java
@@ -18,12 +18,13 @@
package org.apache.ambari.server.orm.entities;
-import com.google.gson.Gson;
-
-import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.state.PropertyInfo;
-import org.apache.ambari.server.state.ServiceInfo;
-import org.junit.Test;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Collection;
@@ -34,18 +35,28 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import org.apache.ambari.server.api.services.AmbariMetaInfo;
+import org.apache.ambari.server.state.PropertyInfo;
+import org.apache.ambari.server.state.ServiceInfo;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.gson.Gson;
/**
* BlueprintEntity unit tests
*/
public class BlueprintEntityTest {
+
+ private StackEntity stackEntity = new StackEntity();
+
+ @Before
+ public void setup() {
+ stackEntity = new StackEntity();
+ stackEntity.setStackName("HDP");
+ stackEntity.setStackVersion("2.0.6");
+ }
+
@Test
public void testSetGetBlueprintName() {
BlueprintEntity entity = new BlueprintEntity();
@@ -54,17 +65,10 @@ public class BlueprintEntityTest {
}
@Test
- public void testSetGetStackName() {
- BlueprintEntity entity = new BlueprintEntity();
- entity.setStackName("foo");
- assertEquals("foo", entity.getStackName());
- }
-
- @Test
- public void testSetGetStackVersion() {
+ public void testSetGetStack() {
BlueprintEntity entity = new BlueprintEntity();
- entity.setStackVersion("1");
- assertEquals("1", entity.getStackVersion());
+ entity.setStack(stackEntity);
+ assertEquals(stackEntity, entity.getStack());
}
@Test
@@ -104,8 +108,7 @@ public class BlueprintEntityTest {
service.getProperties().addAll(serviceProperties);
BlueprintEntity entity = new BlueprintEntity();
- entity.setStackName("stackName");
- entity.setStackVersion("version");
+ entity.setStack(stackEntity);
Collection<BlueprintConfigEntity> configurations = new HashSet<BlueprintConfigEntity>();
BlueprintConfigEntity configEntity = new BlueprintConfigEntity();
@@ -137,8 +140,8 @@ public class BlueprintEntityTest {
hostGroupEntities.add(hostGroupEntity);
entity.setHostGroups(hostGroupEntities);
- expect(metaInfo.getComponentToService("stackName", "version", "component1")).andReturn("service1");
- expect(metaInfo.getService("stackName", "version", "service1")).andReturn(service);
+ expect(metaInfo.getComponentToService("HDP", "2.0.6", "component1")).andReturn("service1");
+ expect(metaInfo.getService("HDP", "2.0.6", "service1")).andReturn(service);
replay(metaInfo);
@@ -169,8 +172,7 @@ public class BlueprintEntityTest {
service.getProperties().addAll(serviceProperties);
BlueprintEntity entity = new BlueprintEntity();
- entity.setStackName("stackName");
- entity.setStackVersion("version");
+ entity.setStack(stackEntity);
entity.setConfigurations(Collections.<BlueprintConfigEntity>emptyList());
@@ -203,8 +205,8 @@ public class BlueprintEntityTest {
hostGroupEntities.add(hostGroupEntity);
entity.setHostGroups(hostGroupEntities);
- expect(metaInfo.getComponentToService("stackName", "version", "component1")).andReturn("service1");
- expect(metaInfo.getService("stackName", "version", "service1")).andReturn(service);
+ expect(metaInfo.getComponentToService("HDP", "2.0.6", "component1")).andReturn("service1");
+ expect(metaInfo.getService("HDP", "2.0.6", "service1")).andReturn(service);
replay(metaInfo);
@@ -247,8 +249,7 @@ public class BlueprintEntityTest {
service.getProperties().addAll(serviceProperties);
BlueprintEntity entity = new BlueprintEntity();
- entity.setStackName("stackName");
- entity.setStackVersion("version");
+ entity.setStack(stackEntity);
Collection<BlueprintConfigEntity> configurations = new HashSet<BlueprintConfigEntity>();
BlueprintConfigEntity configEntity = new BlueprintConfigEntity();
@@ -280,8 +281,9 @@ public class BlueprintEntityTest {
hostGroupEntities.add(hostGroupEntity);
entity.setHostGroups(hostGroupEntities);
- expect(metaInfo.getComponentToService("stackName", "version", "component1")).andReturn("service1");
- expect(metaInfo.getService("stackName", "version", "service1")).andReturn(service);
+ expect(metaInfo.getComponentToService("HDP", "2.0.6", "component1")).andReturn(
+ "service1");
+ expect(metaInfo.getService("HDP", "2.0.6", "service1")).andReturn(service);
replay(metaInfo);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/scheduler/ExecutionScheduleManagerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/scheduler/ExecutionScheduleManagerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/scheduler/ExecutionScheduleManagerTest.java
index 41050c6..8743142 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/scheduler/ExecutionScheduleManagerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/scheduler/ExecutionScheduleManagerTest.java
@@ -117,9 +117,8 @@ public class ExecutionScheduleManagerTest {
requestExecutionFactory = injector.getInstance(RequestExecutionFactory.class);
clusterName = "c1";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP-0.1"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
Assert.assertNotNull(cluster);
assertThat(executionScheduler, instanceOf(TestExecutionScheduler.class));
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
index 87dd18b..df65319 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java
@@ -39,8 +39,10 @@ import org.apache.ambari.server.orm.dao.ClusterVersionDAO;
import org.apache.ambari.server.orm.dao.HostDAO;
import org.apache.ambari.server.orm.dao.HostVersionDAO;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
+import org.apache.ambari.server.orm.dao.StackDAO;
import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.HostVersionEntity;
+import org.apache.ambari.server.orm.entities.StackEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Host;
@@ -84,13 +86,11 @@ public class UpgradeActionTest {
String clusterName = "c1";
String hostName = "h1";
- Clusters clusters = m_injector.getInstance(Clusters.class);
- clusters.addCluster(clusterName);
-
StackId stackId = new StackId("HDP-2.1.1");
+ Clusters clusters = m_injector.getInstance(Clusters.class);
+ clusters.addCluster(clusterName, stackId);
Cluster c = clusters.getCluster(clusterName);
- c.setDesiredStackVersion(stackId);
// add a host component
clusters.addHost(hostName);
@@ -106,20 +106,23 @@ public class UpgradeActionTest {
OrmTestHelper helper = m_injector.getInstance(OrmTestHelper.class);
- helper.getOrCreateRepositoryVersion(stackId.getStackId(), DOWNGRADE_VERSION);
- helper.getOrCreateRepositoryVersion(stackId.getStackId(), UPGRADE_VERSION);
+ helper.getOrCreateRepositoryVersion(stackId, DOWNGRADE_VERSION);
+ helper.getOrCreateRepositoryVersion(stackId, UPGRADE_VERSION);
RepositoryVersionDAO repoVersionDao = m_injector.getInstance(RepositoryVersionDAO.class);
HostVersionDAO hostVersionDao = m_injector.getInstance(HostVersionDAO.class);
- c.createClusterVersion(stackId.getStackId(), DOWNGRADE_VERSION, "admin",
+ c.createClusterVersion(stackId, DOWNGRADE_VERSION, "admin",
RepositoryVersionState.UPGRADING);
- c.createClusterVersion(stackId.getStackId(), UPGRADE_VERSION, "admin",
+ c.createClusterVersion(stackId, UPGRADE_VERSION, "admin",
RepositoryVersionState.INSTALLING);
- c.transitionClusterVersion(stackId.getStackId(), DOWNGRADE_VERSION, RepositoryVersionState.CURRENT);
- c.transitionClusterVersion(stackId.getStackId(), UPGRADE_VERSION, RepositoryVersionState.INSTALLED);
- c.transitionClusterVersion(stackId.getStackId(), UPGRADE_VERSION, RepositoryVersionState.UPGRADING);
+ c.transitionClusterVersion(stackId, DOWNGRADE_VERSION,
+ RepositoryVersionState.CURRENT);
+ c.transitionClusterVersion(stackId, UPGRADE_VERSION,
+ RepositoryVersionState.INSTALLED);
+ c.transitionClusterVersion(stackId, UPGRADE_VERSION,
+ RepositoryVersionState.UPGRADING);
c.mapHostVersions(Collections.singleton(hostName), c.getCurrentClusterVersion(),
RepositoryVersionState.CURRENT);
@@ -129,8 +132,8 @@ public class UpgradeActionTest {
HostVersionEntity entity = new HostVersionEntity();
entity.setHostEntity(hostDAO.findByName(hostName));
entity.setHostName(hostName);
- entity.setRepositoryVersion(
- repoVersionDao.findByStackAndVersion(stackId.getStackId(), UPGRADE_VERSION));
+ entity.setRepositoryVersion(repoVersionDao.findByStackAndVersion(stackId,
+ UPGRADE_VERSION));
entity.setState(RepositoryVersionState.UPGRADING);
hostVersionDao.create(entity);
}
@@ -139,10 +142,15 @@ public class UpgradeActionTest {
String clusterName = "c1";
String hostName = "h1";
+ StackId stackId = new StackId("HDP-2.1.1");
Clusters clusters = m_injector.getInstance(Clusters.class);
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, stackId);
- StackId stackId = new StackId("HDP-2.1.1");
+ StackDAO stackDAO = m_injector.getInstance(StackDAO.class);
+ StackEntity stackEntity = stackDAO.find(stackId.getStackName(),
+ stackId.getStackVersion());
+
+ assertNotNull(stackEntity);
Cluster c = clusters.getCluster(clusterName);
c.setDesiredStackVersion(stackId);
@@ -165,24 +173,28 @@ public class UpgradeActionTest {
"{'Repositories/base_url':'http://foo1','Repositories/repo_name':'HDP','Repositories/repo_id':'HDP-2.1.1'}" +
"], 'OperatingSystems/os_type':'redhat6'}]";
- helper.getOrCreateRepositoryVersion(stackId.getStackId(), DOWNGRADE_VERSION);
-// helper.getOrCreateRepositoryVersion(stackId.getStackId(), UPGRADE_VERSION);
- repositoryVersionDAO.create(
- stackId.getStackId (), UPGRADE_VERSION, String.valueOf(System.currentTimeMillis()), "pack",
+ helper.getOrCreateRepositoryVersion(stackId, DOWNGRADE_VERSION);
+
+ repositoryVersionDAO.create(stackEntity, UPGRADE_VERSION,
+ String.valueOf(System.currentTimeMillis()), "pack",
urlInfo);
RepositoryVersionDAO repoVersionDao = m_injector.getInstance(RepositoryVersionDAO.class);
HostVersionDAO hostVersionDao = m_injector.getInstance(HostVersionDAO.class);
- c.createClusterVersion(stackId.getStackId(), DOWNGRADE_VERSION, "admin",
+ c.createClusterVersion(stackId, DOWNGRADE_VERSION, "admin",
RepositoryVersionState.UPGRADING);
- c.createClusterVersion(stackId.getStackId(), UPGRADE_VERSION, "admin",
+ c.createClusterVersion(stackId, UPGRADE_VERSION, "admin",
RepositoryVersionState.INSTALLING);
- c.transitionClusterVersion(stackId.getStackId(), DOWNGRADE_VERSION, RepositoryVersionState.CURRENT);
- c.transitionClusterVersion(stackId.getStackId(), UPGRADE_VERSION, RepositoryVersionState.INSTALLED);
- c.transitionClusterVersion(stackId.getStackId(), UPGRADE_VERSION, RepositoryVersionState.UPGRADING);
- c.transitionClusterVersion(stackId.getStackId(), UPGRADE_VERSION, RepositoryVersionState.UPGRADED);
+ c.transitionClusterVersion(stackId, DOWNGRADE_VERSION,
+ RepositoryVersionState.CURRENT);
+ c.transitionClusterVersion(stackId, UPGRADE_VERSION,
+ RepositoryVersionState.INSTALLED);
+ c.transitionClusterVersion(stackId, UPGRADE_VERSION,
+ RepositoryVersionState.UPGRADING);
+ c.transitionClusterVersion(stackId, UPGRADE_VERSION,
+ RepositoryVersionState.UPGRADED);
c.setCurrentStackVersion(stackId);
c.mapHostVersions(Collections.singleton(hostName), c.getCurrentClusterVersion(),
@@ -193,8 +205,8 @@ public class UpgradeActionTest {
HostVersionEntity entity = new HostVersionEntity();
entity.setHostEntity(hostDAO.findByName(hostName));
entity.setHostName(hostName);
- entity.setRepositoryVersion(
- repoVersionDao.findByStackAndVersion(stackId.getStackId(), UPGRADE_VERSION));
+ entity.setRepositoryVersion(repoVersionDao.findByStackAndVersion(stackId,
+ UPGRADE_VERSION));
entity.setState(RepositoryVersionState.UPGRADED);
hostVersionDao.create(entity);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java
index 4d4d674..28059c0 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java
@@ -71,9 +71,8 @@ public class ConfigGroupTest {
(ConfigGroupHostMappingDAO.class);
clusterName = "foo";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP-0.1"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
Assert.assertNotNull(cluster);
clusters.addHost("h1");
clusters.addHost("h2");
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
index 751583e..930e45f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
@@ -94,9 +94,8 @@ public class ConfigHelperTest {
managementController = injector.getInstance(AmbariManagementController.class);
clusterName = "c1";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP-2.0.6"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-2.0.6"));
Assert.assertNotNull(cluster);
clusters.addHost("h1");
clusters.addHost("h2");
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/RequestExecutionTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/RequestExecutionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/RequestExecutionTest.java
index abbee45..46dcc8d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/RequestExecutionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/RequestExecutionTest.java
@@ -65,9 +65,8 @@ public class RequestExecutionTest {
requestScheduleDAO = injector.getInstance(RequestScheduleDAO.class);
clusterName = "foo";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP-0.1"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
Assert.assertNotNull(cluster);
clusters.addHost("h1");
clusters.addHost("h2");
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/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 00894f1..96bbb1d 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
@@ -82,13 +82,16 @@ public class ServiceComponentTest {
clusterName = "foo";
serviceName = "HDFS";
- clusters.addCluster(clusterName);
- cluster = clusters.getCluster(clusterName);
+
StackId stackId = new StackId("HDP-0.1");
+ clusters.addCluster(clusterName, stackId);
+ cluster = clusters.getCluster(clusterName);
+
cluster.setDesiredStackVersion(stackId);
Assert.assertNotNull(cluster);
- helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion());
- cluster.createClusterVersion(stackId.getStackName(), stackId.getStackVersion(), "admin", RepositoryVersionState.UPGRADING);
+ helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
+ cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
+ RepositoryVersionState.UPGRADING);
Service s = serviceFactory.createNew(cluster, serviceName);
cluster.addService(s);
@@ -140,8 +143,8 @@ public class ServiceComponentTest {
sc.setDesiredState(State.INSTALLED);
Assert.assertEquals(State.INSTALLED, sc.getDesiredState());
- sc.setDesiredStackVersion(new StackId("HDP-1.0.0"));
- Assert.assertEquals("HDP-1.0.0", sc.getDesiredStackVersion().getStackId());
+ sc.setDesiredStackVersion(new StackId("HDP-1.2.0"));
+ Assert.assertEquals("HDP-1.2.0", sc.getDesiredStackVersion().getStackId());
ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO =
injector.getInstance(ServiceComponentDesiredStateDAO.class);
@@ -159,7 +162,7 @@ public class ServiceComponentTest {
serviceComponentDesiredStateEntity);
Assert.assertNotNull(sc1);
Assert.assertEquals(State.INSTALLED, sc1.getDesiredState());
- Assert.assertEquals("HDP-1.0.0",
+ Assert.assertEquals("HDP-1.2.0",
sc1.getDesiredStackVersion().getStackId());
}
@@ -256,9 +259,9 @@ public class ServiceComponentTest {
sch3.persist();
Assert.assertNotNull(sc.getServiceComponentHost("h3"));
- sch1.setDesiredStackVersion(new StackId("HDP-1.1.0"));
+ sch1.setDesiredStackVersion(new StackId("HDP-1.2.0"));
sch1.setState(State.STARTING);
- sch1.setStackVersion(new StackId("HDP-1.0.0"));
+ sch1.setStackVersion(new StackId("HDP-1.2.0"));
sch1.setDesiredState(State.STARTED);
HostComponentDesiredStateDAO desiredStateDAO = injector.getInstance(
@@ -290,9 +293,9 @@ public class ServiceComponentTest {
Assert.assertNotNull(sch);
Assert.assertEquals(State.STARTING, sch.getState());
Assert.assertEquals(State.STARTED, sch.getDesiredState());
- Assert.assertEquals("HDP-1.0.0",
+ Assert.assertEquals("HDP-1.2.0",
sch.getStackVersion().getStackId());
- Assert.assertEquals("HDP-1.1.0",
+ Assert.assertEquals("HDP-1.2.0",
sch.getDesiredStackVersion().getStackId());
}
@@ -319,7 +322,7 @@ public class ServiceComponentTest {
ServiceComponent sc = service.getServiceComponent(componentName);
Assert.assertNotNull(sc);
sc.setDesiredState(State.INSTALLED);
- sc.setDesiredStackVersion(new StackId("HDP-1.0.0"));
+ sc.setDesiredStackVersion(new StackId("HDP-1.2.0"));
ServiceComponentResponse r = sc.convertToResponse();
Assert.assertEquals(sc.getClusterName(), r.getClusterName());
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
index 552edec..ccceac9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
@@ -63,9 +63,8 @@ public class ServiceTest {
ServiceComponentFactory.class);
metaInfo = injector.getInstance(AmbariMetaInfo.class);
clusterName = "foo";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP-0.1"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP-0.1"));
Assert.assertNotNull(cluster);
}
@@ -104,8 +103,8 @@ public class ServiceTest {
Service service = cluster.getService(serviceName);
Assert.assertNotNull(service);
- service.setDesiredStackVersion(new StackId("HDP-1.1.0"));
- Assert.assertEquals("HDP-1.1.0",
+ service.setDesiredStackVersion(new StackId("HDP-1.2.0"));
+ Assert.assertEquals("HDP-1.2.0",
service.getDesiredStackVersion().getStackId());
service.setDesiredState(State.INSTALLING);
@@ -210,7 +209,7 @@ public class ServiceTest {
Assert.assertEquals(s.getDesiredState().toString(),
r.getDesiredState());
- service.setDesiredStackVersion(new StackId("HDP-1.1.0"));
+ service.setDesiredStackVersion(new StackId("HDP-1.2.0"));
service.setDesiredState(State.INSTALLING);
r = s.convertToResponse();
Assert.assertEquals(s.getName(), r.getServiceName());
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/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 e05d16e..9c129e8 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
@@ -536,16 +536,17 @@ public class UpgradeHelperTest {
String clusterName = "c1";
- clusters.addCluster(clusterName);
-
+ StackId stackId = new StackId("HDP-2.1.1");
+ clusters.addCluster(clusterName, stackId);
Cluster c = clusters.getCluster(clusterName);
- c.setDesiredStackVersion(new StackId("HDP-2.1.1"));
- helper.getOrCreateRepositoryVersion(c.getDesiredStackVersion().getStackName(),
+ helper.getOrCreateRepositoryVersion(stackId,
c.getDesiredStackVersion().getStackVersion());
- c.createClusterVersion(c.getDesiredStackVersion().getStackName(),
- c.getDesiredStackVersion().getStackVersion(), "admin", RepositoryVersionState.UPGRADING);
+ c.createClusterVersion(stackId,
+ c.getDesiredStackVersion().getStackVersion(), "admin",
+ RepositoryVersionState.UPGRADING);
+
for (int i = 0; i < 4; i++) {
String hostName = "h" + (i+1);
clusters.addHost(hostName);
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertEventPublisherTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertEventPublisherTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertEventPublisherTest.java
index 1c4567f..d1b27a9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertEventPublisherTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertEventPublisherTest.java
@@ -93,9 +93,8 @@ public class AlertEventPublisherTest {
aggregateMapping = injector.getInstance(AggregateDefinitionMapping.class);
clusterName = "foo";
- clusters.addCluster(clusterName);
+ clusters.addCluster(clusterName, new StackId("HDP", "2.0.6"));
cluster = clusters.getCluster(clusterName);
- cluster.setDesiredStackVersion(new StackId("HDP", "2.0.6"));
Assert.assertNotNull(cluster);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/InitialAlertEventTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/InitialAlertEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/InitialAlertEventTest.java
index 73bf6c4..f3694c9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/InitialAlertEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/InitialAlertEventTest.java
@@ -91,9 +91,8 @@ public class InitialAlertEventTest {
m_alertsDao = m_injector.getInstance(AlertsDAO.class);
m_clusterName = "c1";
- m_clusters.addCluster(m_clusterName);
+ m_clusters.addCluster(m_clusterName, new StackId("HDP", "2.0.6"));
m_cluster = m_clusters.getCluster(m_clusterName);
- m_cluster.setDesiredStackVersion(new StackId("HDP", "2.0.6"));
Assert.assertNotNull(m_cluster);
// install HDFS to get 6 definitions
http://git-wip-us.apache.org/repos/asf/ambari/blob/746df034/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java
index ff039a9..2f064ab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.ServiceComponentNotFoundException;
import org.apache.ambari.server.ServiceNotFoundException;
+import org.apache.ambari.server.events.listeners.upgrade.HostVersionOutOfSyncListener;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
import org.apache.ambari.server.orm.OrmTestHelper;
@@ -43,15 +44,19 @@ import org.apache.ambari.server.state.ServiceComponentHostFactory;
import org.apache.ambari.server.state.ServiceFactory;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.State;
+import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
+import com.google.inject.Module;
import com.google.inject.persist.PersistService;
+import com.google.inject.util.Modules;
/**
* Tests AMBARI-9368 and AMBARI-9761 which produced a deadlock during read and
@@ -100,14 +105,15 @@ public class ClusterDeadlockTest {
*/
@Before
public void setup() throws Exception {
- injector = Guice.createInjector(new InMemoryDefaultTestModule());
+ injector = Guice.createInjector(Modules.override(
+ new InMemoryDefaultTestModule()).with(new MockModule()));
+
injector.getInstance(GuiceJpaInitializer.class);
injector.injectMembers(this);
- clusters.addCluster("c1");
+ clusters.addCluster("c1", stackId);
cluster = clusters.getCluster("c1");
- cluster.setDesiredStackVersion(stackId);
- helper.getOrCreateRepositoryVersion(stackId.getStackName(), stackId.getStackVersion());
- cluster.createClusterVersion(stackId.getStackName(),
+ helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
+ cluster.createClusterVersion(stackId,
stackId.getStackVersion(), "admin", RepositoryVersionState.UPGRADING);
// 100 hosts
@@ -199,7 +205,7 @@ public class ClusterDeadlockTest {
*
* @throws Exception
*/
- @Test(timeout = 60000)
+ @Test(timeout = 75000)
public void testDeadlockWhileRestartingComponents() throws Exception {
// for each host, install both components
List<ServiceComponentHost> serviceComponentHosts = new ArrayList<ServiceComponentHost>();
@@ -509,4 +515,20 @@ public class ClusterDeadlockTest {
return serviceComponent;
}
+
+ /**
+ *
+ */
+ private class MockModule implements Module {
+ /**
+ *
+ */
+ @Override
+ public void configure(Binder binder) {
+ // this listener gets in the way of actually testing the concurrency
+ // between the threads; it slows them down too much, so mock it out
+ binder.bind(HostVersionOutOfSyncListener.class).toInstance(
+ EasyMock.createNiceMock(HostVersionOutOfSyncListener.class));
+ }
+ }
}