modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/alert/test/DeleteAlertsTest.java
| 10 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/DynamicConfigurationPropertyBeanTest.java
| 5
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
| 12 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
| 38 ++--
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbSetupTest.java
| 8 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbUpgradeTest.java
| 13 -
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java
| 36 ----
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/drift/DriftManagerBeanTest.java
| 67 +-------
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
| 78 ++++------
9 files changed, 97 insertions(+), 170 deletions(-)
New commits:
commit a0b5a51ac5f176e55e34171af424898f3d369137
Author: Jay Shaughnessy <jshaughn(a)jshaughn.csb>
Date: Tue Nov 6 21:36:26 2012 -0500
More test classes working
- fixed bug in prepareForTestAgents
- simplified other prepare/unprepare methods
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/alert/test/DeleteAlertsTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/alert/test/DeleteAlertsTest.java
index 487a0ea..0c232b6 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/alert/test/DeleteAlertsTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/alert/test/DeleteAlertsTest.java
@@ -27,8 +27,6 @@ import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.dataset.xml.FlatXmlProducer;
import org.dbunit.operation.DatabaseOperation;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.xml.sax.InputSource;
@@ -50,8 +48,8 @@ public class DeleteAlertsTest extends AbstractEJB3Test {
private Subject superuser;
private Resource newResource;
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
alertManager = LookupUtil.getAlertManager();
superuser = LookupUtil.getSubjectManager().getOverlord();
@@ -70,8 +68,8 @@ public class DeleteAlertsTest extends AbstractEJB3Test {
newResource = getEntityManager().find(Resource.class, 1);
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
if ("true".equals(System.getProperty("clean.db"))) {
Connection connection = null;
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/DynamicConfigurationPropertyBeanTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/DynamicConfigurationPropertyBeanTest.java
index dba76ed..1c52833 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/DynamicConfigurationPropertyBeanTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/DynamicConfigurationPropertyBeanTest.java
@@ -31,7 +31,6 @@ import javax.transaction.Status;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.authz.Role;
@@ -51,8 +50,8 @@ public class DynamicConfigurationPropertyBeanTest extends
AbstractEJB3Test {
private DynamicConfigurationPropertyLocal bean;
- @BeforeMethod
- public void setUp() {
+ @Override
+ protected void beforeMethod() {
bean = LookupUtil.getDynamicConfigurationProperty();
}
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
index 037c071..2b2ee87 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/content/test/DistributionManagerBeanTest.java
@@ -2,12 +2,9 @@ package org.rhq.enterprise.server.content.test;
import java.util.List;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.transaction.TransactionManager;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
@@ -27,8 +24,8 @@ public class DistributionManagerBeanTest extends AbstractEJB3Test {
private DistributionType distType;
private Subject overlord;
- @BeforeMethod
- public void setupBeforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
TransactionManager tx = getTransactionManager();
tx.begin();
@@ -38,8 +35,8 @@ public class DistributionManagerBeanTest extends AbstractEJB3Test {
overlord = LookupUtil.getSubjectManager().getOverlord();
}
- @AfterMethod
- public void tearDownAfterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
TransactionManager tx = getTransactionManager();
if (tx != null) {
tx.rollback();
@@ -73,7 +70,6 @@ public class DistributionManagerBeanTest extends AbstractEJB3Test {
Distribution distro = distManager.getDistributionByLabel(kslabel);
DistributionFile distfile = new DistributionFile(distro, "vmlinux",
"d41d8cd98f00b204e9800998ecf8427e");
- EntityManager em = getEntityManager();
em.persist(distfile);
Query query = em.createNamedQuery(DistributionFile.SELECT_BY_DIST_ID);
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
index 4a6a241..90b5cdc 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/core/plugin/DatabaseAndFilePluginDeploymentTest.java
@@ -30,15 +30,10 @@ import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
-import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;
import javax.transaction.TransactionManager;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.core.clientapi.descriptor.AgentPluginDescriptorUtil;
@@ -53,7 +48,8 @@ import org.rhq.enterprise.server.util.LookupUtil;
//make sure we run this after the plugins.metadata tests are done so that
//the db contents don't interfere
-@Test(dependsOnGroups = "plugin.metadata")
+@Test
+//(dependsOnGroups = "plugin.metadata")
public class DatabaseAndFilePluginDeploymentTest extends AbstractEJB3Test {
private static final String PLUGIN_NAME = "DeployTest"; // as defined in
our test descriptors
@@ -110,7 +106,14 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
// | 1.0-feb-2 | | | | one of the files gets deleted
// --------------------------------------------------------------------------
- @BeforeClass
+ // README
+ // Arquillian (1.0.2) does not honor Testng's lifecycle, Before/AfterClass are
invoked on
+ // every test. Since beforeClass sets instance variables, we need to now call it
for
+ // every test, so we call it from beforeMethod(). We use a stand-in test to simulate
AfterClass,
+ // using priorities to make it run last. Testng (I believe) applies priority after
dependencies, so it
+ // is important that afterClassStandIn() have a dependency such that it runs in the
last test-set.
+
+ //@BeforeClass
public void beforeClass() throws Exception {
Calendar cal = Calendar.getInstance();
cal.set(2009, Calendar.FEBRUARY, 1, 1, 0, 0);
@@ -161,8 +164,9 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
return;
}
- @AfterClass(alwaysRun = true)
- public void afterClass() throws Exception {
+ //@AfterClass(alwaysRun = true)
+ @Test(priority = 10, alwaysRun = true)
+ public void afterClassStandIn() throws Exception {
for (Map.Entry<String, File> entry : testPluginFiles.entrySet()) {
File doomed = entry.getValue();
doomed.delete();
@@ -177,8 +181,10 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
return;
}
- @BeforeMethod
- public void beforeMethod() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
+ beforeClass();
+
afterMethod(); // we clean up before and after, just to be sure we're clean
File deployDir = new File(DEPLOY_LOCATION);
@@ -207,15 +213,14 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
}
- @AfterMethod(alwaysRun = true)
+ @Override
@SuppressWarnings("unchecked")
- public void afterMethod() throws Exception {
+ protected void afterMethod() throws Exception {
emptyDirectory(new File(DEPLOY_LOCATION));
TransactionManager tm = getTransactionManager();
tm.begin();
- EntityManager em = getEntityManager();
try {
Query q = em.createNamedQuery(Plugin.QUERY_FIND_BY_NAME);
q.setParameter("name", PLUGIN_NAME);
@@ -226,7 +231,6 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
} catch (NoResultException ignore) {
} finally {
tm.commit();
- em.close();
}
return;
@@ -473,14 +477,12 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
TransactionManager tm = getTransactionManager();
tm.begin();
- EntityManager em = getEntityManager();
try {
Query q = em.createNamedQuery(Plugin.QUERY_FIND_BY_NAME);
q.setParameter("name", PLUGIN_NAME);
dbPlugin = (Plugin) q.getSingleResult();
} finally {
tm.rollback();
- em.close();
}
assertSamePlugin(plugin, dbPlugin);
@@ -547,7 +549,6 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
TransactionManager tm = getTransactionManager();
tm.begin();
- EntityManager em = getEntityManager();
try {
em.persist(pluginPojo);
} catch (Exception e) {
@@ -555,7 +556,6 @@ public class DatabaseAndFilePluginDeploymentTest extends
AbstractEJB3Test {
throw e;
} finally {
tm.commit();
- em.close();
}
return plugin; // do not return the persisted pojo, let GC collect the larger
pojo with the file content
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbSetupTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbSetupTest.java
index c21bb72..557f03c 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbSetupTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbSetupTest.java
@@ -20,6 +20,8 @@ package org.rhq.enterprise.server.db;
import java.util.Set;
+import org.testng.annotations.Test;
+
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.authz.Role;
@@ -28,8 +30,6 @@ import org.rhq.enterprise.server.authz.RoleManagerLocal;
import org.rhq.enterprise.server.test.AbstractEJB3Test;
import org.rhq.enterprise.server.util.DbSetupUtility;
import org.rhq.enterprise.server.util.LookupUtil;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
/**
* Test that dbsetup initializes the data in the RHQ schema as intended (e.g. test that
the Superuser and All Resources
@@ -40,8 +40,8 @@ import org.testng.annotations.Test;
@Test(groups = "db", singleThreaded = true)
public class DbSetupTest extends AbstractEJB3Test {
- @BeforeClass(groups = "db")
- public void setUp() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
// Recreate a fresh JON DB with the latest schema.
DbSetupUtility.dbreset();
DbSetupUtility.dbsetup();
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbUpgradeTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbUpgradeTest.java
index 8883419..a1bfc48 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbUpgradeTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/db/DbUpgradeTest.java
@@ -21,6 +21,8 @@ package org.rhq.enterprise.server.db;
import java.util.Set;
import java.util.UUID;
+import org.testng.annotations.Test;
+
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.authz.Role;
@@ -29,9 +31,6 @@ import org.rhq.enterprise.server.authz.RoleManagerLocal;
import org.rhq.enterprise.server.test.AbstractEJB3Test;
import org.rhq.enterprise.server.util.DbSetupUtility;
import org.rhq.enterprise.server.util.LookupUtil;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
/**
* Test that various dbupgrade schema versions update the data model as intended.
@@ -41,16 +40,16 @@ import org.testng.annotations.Test;
@Test(groups = "db", singleThreaded = true)
public class DbUpgradeTest extends AbstractEJB3Test {
- @BeforeClass(groups = "db")
- public void setUp() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
// Recreate a fresh JON DB with the JON 2.3.1 schema, then upgrade it to the JON
3.0.0 schema.
DbSetupUtility.dbreset();
DbSetupUtility.dbsetup("2.3.1");
DbSetupUtility.dbupgrade(DbSetupUtility.JON300_SCHEMA_VERSION);
}
- @AfterClass(groups = "db")
- public void tearDown() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
// Upgrade to the latest schema version so the DB is left in a state usable by
other tests.
DbSetupUtility.dbupgrade("LATEST");
}
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java
index d4d9cbf..e12dbb0 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java
@@ -33,8 +33,6 @@ import java.util.UUID;
import javax.ejb.EJBException;
import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.dbunit.database.DatabaseConfig;
@@ -51,14 +49,9 @@ import org.dbunit.operation.DatabaseOperation;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.xml.sax.InputSource;
-import org.jboss.mx.util.MBeanServerLocator;
-
import org.rhq.core.clientapi.agent.discovery.DiscoveryAgentService;
import org.rhq.core.clientapi.server.discovery.InventoryReport;
import org.rhq.core.domain.configuration.Configuration;
@@ -68,8 +61,6 @@ import org.rhq.core.domain.resource.Agent;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
-import org.rhq.enterprise.server.core.comm.ServerCommunicationsService;
-import org.rhq.enterprise.server.core.comm.ServerCommunicationsServiceMBean;
import org.rhq.enterprise.server.resource.ResourceManagerLocal;
import org.rhq.enterprise.server.test.AbstractEJB3Test;
import org.rhq.enterprise.server.test.TestServerCommunicationsService;
@@ -101,19 +92,11 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test {
private TestServerCommunicationsService agentServiceContainer;
- @BeforeClass
- public void beforeClass() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
discoveryBoss = LookupUtil.getDiscoveryBoss();
subjectManager = LookupUtil.getSubjectManager();
resourceManager = LookupUtil.getResourceManager();
- }
-
- @BeforeMethod
- public void setupTestData() throws Exception {
- dummyJBossMBeanServer = MBeanServerFactory.createMBeanServer("jboss");
- MBeanServerLocator.setJBoss(dummyJBossMBeanServer);
- dummyJBossMBeanServer.registerMBean(new ServerCommunicationsService(),
- ServerCommunicationsServiceMBean.OBJECT_NAME);
initDB();
@@ -140,16 +123,15 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test {
Resource parentResource =
resourceManager.getResource(subjectManager.getOverlord(), parentResourceId);
resource.setParentResource(parentResource);
Integer ownerSubjectId = (Integer) invocation.getArguments()[3];
- return discoveryBoss.addResource(resource, ownerSubjectId);
+ MergeResourceResponse response = discoveryBoss.addResource(resource,
ownerSubjectId);
+ return response;
}
});
}
- @AfterMethod(alwaysRun = true)
+ @Override
public void afterMethod() throws Exception {
try {
- MBeanServerFactory.releaseMBeanServer(dummyJBossMBeanServer);
-
cleanDB();
} finally {
unprepareForTestAgents();
@@ -283,11 +265,9 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test {
public void cleanDB() throws Exception {
Connection connection = null;
- EntityManager em = null;
try {
getTransactionManager().begin();
- em = getEntityManager();
Query q;
List<?> doomed;
@@ -299,18 +279,12 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test {
}
em.flush();
getTransactionManager().commit();
- em.close();
- em = null;
} catch (Exception e) {
try {
System.out.println("CANNOT CLEAN UP TEST: Cause: " + e);
getTransactionManager().rollback();
} catch (Exception ignore) {
}
- } finally {
- if (null != em) {
- em.close();
- }
}
try {
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/drift/DriftManagerBeanTest.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/drift/DriftManagerBeanTest.java
index 6b4b356..8389f17 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/drift/DriftManagerBeanTest.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/drift/DriftManagerBeanTest.java
@@ -19,7 +19,6 @@
package org.rhq.enterprise.server.drift;
import static org.apache.commons.io.FileUtils.deleteDirectory;
-import static org.apache.commons.io.FileUtils.toFile;
import static org.rhq.common.drift.FileEntry.addedFileEntry;
import static org.rhq.common.drift.FileEntry.changedFileEntry;
import static org.rhq.core.domain.drift.DriftChangeSetCategory.COVERAGE;
@@ -29,14 +28,7 @@ import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
-import java.util.Set;
-import javax.persistence.EntityManager;
-
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.rhq.common.drift.ChangeSetWriter;
@@ -46,8 +38,8 @@ import org.rhq.core.clientapi.server.drift.DriftServerService;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.criteria.DriftDefinitionCriteria;
import org.rhq.core.domain.criteria.JPADriftChangeSetCriteria;
-import org.rhq.core.domain.criteria.ResourceCriteria;
import org.rhq.core.domain.drift.Drift;
import org.rhq.core.domain.drift.DriftCategory;
import org.rhq.core.domain.drift.DriftChangeSet;
@@ -88,26 +80,15 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
MessageDigestGenerator digestGenerator;
- /**
- * Prepares things for the entire test class.
- */
- @BeforeClass
- public void beforeClass() throws Exception {
+ @Override
+ protected void beforeMethod() throws Exception {
digestGenerator = new MessageDigestGenerator(MessageDigestGenerator.SHA_256);
jpaDriftServer = LookupUtil.getJPADriftServer();
driftManager = LookupUtil.getDriftManager();
overlord = LookupUtil.getSubjectManager().getOverlord();
driftServerService = new DriftServerServiceImpl();
- }
-
- @AfterClass(alwaysRun = true)
- public void afterClass() {
- driftServerService = null;
- }
- @BeforeMethod
- public void beforeMethod() throws Exception {
TestServerCommunicationsService agentServiceContainer = prepareForTestAgents();
agentServiceContainer.driftService = new TestDefService();
@@ -118,8 +99,8 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
newResource = createNewResource();
}
- @AfterMethod(alwaysRun = true)
- public void afterMethod() throws Exception {
+ @Override
+ protected void afterMethod() throws Exception {
try {
deleteNewResource(newResource);
} finally {
@@ -130,7 +111,7 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
@Test
public void testStoreChangeSet() throws Exception {
- File rootDir = toFile(getClass().getResource("."));
+ File rootDir = new File(System.getProperty("java.io.tmpdir"));
File changeSetsDir = new File(rootDir, "changesets");
deleteDirectory(changeSetsDir);
changeSetsDir.mkdirs();
@@ -217,13 +198,10 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
driftManager.updateDriftDefinition(overlord,
EntityContext.forResource(newResource.getId()), driftDefPojo);
- ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
- ResourceCriteria c = new ResourceCriteria();
- c.addFilterId(newResource.getId());
- c.fetchDriftDefinitions(true);
- List<Resource> resources =
resourceManager.findResourcesByCriteria(overlord, c);
- assertEquals(1, resources.size());
- Set<DriftDefinition> driftDefs = resources.get(0).getDriftDefinitions();
+ DriftDefinitionCriteria c = new DriftDefinitionCriteria();
+ c.addFilterResourceIds(newResource.getId());
+ c.fetchConfiguration(true);
+ List<DriftDefinition> driftDefs =
driftManager.findDriftDefinitionsByCriteria(overlord, c);
assertNotNull(driftDefs);
assertEquals(3, driftDefs.size());
DriftDefinition driftDef = null;
@@ -240,9 +218,7 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
driftDefPojo.setInterval(120L);
driftManager.updateDriftDefinition(overlord,
EntityContext.forResource(newResource.getId()), driftDefPojo);
- resources = resourceManager.findResourcesByCriteria(overlord, c);
- assertEquals(1, resources.size());
- driftDefs = resources.get(0).getDriftDefinitions();
+ driftDefs = driftManager.findDriftDefinitionsByCriteria(overlord, c);
assertNotNull(driftDefs);
assertEquals(3, driftDefs.size());
driftDef = null;
@@ -263,9 +239,7 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
driftManager.updateDriftDefinition(overlord,
EntityContext.forResource(newResource.getId()), driftDefPojo);
- resources = resourceManager.findResourcesByCriteria(overlord, c);
- assertEquals(1, resources.size());
- driftDefs = resources.get(0).getDriftDefinitions();
+ driftDefs = driftManager.findDriftDefinitionsByCriteria(overlord, c);
assertNotNull(driftDefs);
assertEquals(4, driftDefs.size());
for (Iterator<DriftDefinition> i = driftDefs.iterator(); i.hasNext();) {
@@ -285,9 +259,7 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
}
driftManager.deleteDriftDefinition(overlord,
EntityContext.forResource(newResource.getId()), "testDriftDef");
- resources = resourceManager.findResourcesByCriteria(overlord, c);
- assertEquals(1, resources.size());
- driftDefs = resources.get(0).getDriftDefinitions();
+ driftDefs = driftManager.findDriftDefinitionsByCriteria(overlord, c);
assertNotNull(driftDefs);
assertEquals(3, driftDefs.size());
for (Iterator<DriftDefinition> i = driftDefs.iterator(); i.hasNext();) {
@@ -303,7 +275,6 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
private void deleteDriftFiles() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
try {
try {
@@ -321,14 +292,11 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
em.flush();
getTransactionManager().commit();
} finally {
- em.close();
}
}
private Resource createNewResource() throws Exception {
getTransactionManager().begin();
- EntityManager em = getEntityManager();
-
Resource resource;
try {
@@ -371,7 +339,6 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
em.flush();
getTransactionManager().commit();
} finally {
- em.close();
}
return resource;
@@ -379,7 +346,6 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
private void deleteNewResource(Resource resource) throws Exception {
if (null != resource) {
- EntityManager em = null;
try {
ResourceManagerLocal resourceManager = LookupUtil.getResourceManager();
@@ -393,7 +359,6 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
// now dispose of other hibernate entities
getTransactionManager().begin();
- em = getEntityManager();
ResourceType type = em.find(ResourceType.class,
resource.getResourceType().getId());
Agent agent = em.find(Agent.class, resource.getAgent().getId());
@@ -407,14 +372,12 @@ public class DriftManagerBeanTest extends AbstractEJB3Test {
getTransactionManager().commit();
} catch (Exception e) {
try {
- System.out.println("CANNOT CLEAN UP TEST (" +
this.getClass().getSimpleName() + ") Cause: " + e);
+ System.out.println("CANNOT CLEAN UP TEST (" +
this.getClass().getSimpleName() + ")");
+ e.printStackTrace();
getTransactionManager().rollback();
} catch (Exception ignore) {
}
} finally {
- if (null != em) {
- em.close();
- }
}
}
}
diff --git
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
index edd9867..628df29 100644
---
a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
+++
b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java
@@ -18,6 +18,7 @@ import java.util.Properties;
import java.util.regex.Pattern;
import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -128,6 +129,7 @@ public abstract class AbstractEJB3Test extends Arquillian {
testClassesJar.addAsManifestResource(EmptyAsset.INSTANCE,
ArchivePaths.create("beans.xml")); // add CDI injection (needed by arquillian
injection);
testClassesJar.addAsResource("test-scheduler.properties");
testClassesJar.addAsResource("test-alert-sender-serverplugin.xml");
+
testClassesJar.addAsResource("org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml");
// create test ear by starting with rhq.ear and thinning it
MavenDependencyResolver earResolver =
DependencyResolvers.use(MavenDependencyResolver.class);
@@ -551,7 +553,23 @@ public abstract class AbstractEJB3Test extends Arquillian {
public void prepareCustomServerService(Object testServiceMBean, String objectNameStr)
{
try {
ObjectName objectName = new ObjectName(objectNameStr);
+ prepareCustomServerService(testServiceMBean, objectName);
+ } catch (MalformedObjectNameException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ /**
+ * If you need to test server plugins, you must first prepare the server plugin
service.
+ * After this returns, the caller must explicitly start the PC by using the
appropriate API
+ * on the given mbean; this method will only start the service, it will NOT start the
master PC.
+ *
+ * @param testServiceMBean the object that will house your test server plugins
+ *
+ * @throws RuntimeException
+ */
+ public void prepareCustomServerService(Object testServiceMBean, ObjectName
objectName) {
+ try {
// first, unregister the real service...
MBeanServer mbs = getPlatformMBeanServer();
if (mbs.isRegistered(objectName)) {
@@ -567,7 +585,11 @@ public abstract class AbstractEJB3Test extends Arquillian {
}
public void unprepareCustomServerService(String objectNameStr) throws Exception {
- ObjectName objectName = new ObjectName(objectNameStr);
+ ObjectName objectName = new ObjectName(objectNameStr);
+ unprepareCustomServerService(objectName);
+ }
+
+ public void unprepareCustomServerService(ObjectName objectName) throws Exception {
MBeanServer mbs = getPlatformMBeanServer();
if (mbs.isRegistered(objectName)) {
mbs.unregisterMBean(objectName);
@@ -602,24 +624,16 @@ public abstract class AbstractEJB3Test extends Arquillian {
}
public void unprepareServerPluginService() throws Exception {
- unprepareServerPluginService(false);
- }
-
- public void unprepareServerPluginService(boolean beanOnly) throws Exception {
if (serverPluginService != null) {
serverPluginService.stopMasterPluginContainer();
serverPluginService.stop();
- MBeanServer mbs = getPlatformMBeanServer();
- if (beanOnly) {
- if (mbs.isRegistered(ServerPluginService.OBJECT_NAME)) {
- mbs.unregisterMBean(ServerPluginService.OBJECT_NAME);
- }
-
- } else {
- //MBeanServerFactory.releaseMBeanServer(mbs);
- }
serverPluginService = null;
}
+
+ MBeanServer mbs = getPlatformMBeanServer();
+ if (mbs.isRegistered(ServerPluginService.OBJECT_NAME)) {
+ mbs.unregisterMBean(ServerPluginService.OBJECT_NAME);
+ }
}
public SchedulerService getSchedulerService() {
@@ -655,22 +669,14 @@ public abstract class AbstractEJB3Test extends Arquillian {
}
public void unprepareScheduler() throws Exception {
- unprepareScheduler(false);
- }
-
- public void unprepareScheduler(boolean beanOnly) throws Exception {
if (schedulerService != null) {
schedulerService.stop();
schedulerService = null;
+ }
- MBeanServer mbs = getPlatformMBeanServer();
- if (beanOnly) {
- if (mbs.isRegistered(SchedulerService.SCHEDULER_MBEAN_NAME)) {
- mbs.unregisterMBean(SchedulerService.SCHEDULER_MBEAN_NAME);
- }
- } else {
- //MBeanServerFactory.releaseMBeanServer(mbs);
- }
+ MBeanServer mbs = getPlatformMBeanServer();
+ if (mbs.isRegistered(SchedulerService.SCHEDULER_MBEAN_NAME)) {
+ mbs.unregisterMBean(SchedulerService.SCHEDULER_MBEAN_NAME);
}
}
@@ -713,8 +719,8 @@ public abstract class AbstractEJB3Test extends Arquillian {
}
// Now replace with the test service...
- TestServerCommunicationsService agentService = new
TestServerCommunicationsService();
- mbs.registerMBean(customAgentService,
ServerCommunicationsServiceMBean.OBJECT_NAME);
+ agentService = (TestServerCommunicationsService) customAgentService;
+ mbs.registerMBean(agentService,
ServerCommunicationsServiceMBean.OBJECT_NAME);
return agentService;
} catch (Exception e) {
@@ -728,23 +734,15 @@ public abstract class AbstractEJB3Test extends Arquillian {
* {@link #prepareForTestAgents()}.
*/
public void unprepareForTestAgents() {
- unprepareForTestAgents(false);
- }
-
- public void unprepareForTestAgents(boolean beanOnly) {
try {
if (agentService != null) {
agentService.stop();
agentService = null;
+ }
- MBeanServer mbs = getPlatformMBeanServer();
- if (beanOnly) {
- if (mbs.isRegistered(ServerCommunicationsServiceMBean.OBJECT_NAME))
{
-
mbs.unregisterMBean(ServerCommunicationsServiceMBean.OBJECT_NAME);
- }
- } else {
- //MBeanServerFactory.releaseMBeanServer(mbs);
- }
+ MBeanServer mbs = getPlatformMBeanServer();
+ if (mbs.isRegistered(ServerCommunicationsServiceMBean.OBJECT_NAME)) {
+ mbs.unregisterMBean(ServerCommunicationsServiceMBean.OBJECT_NAME);
}
} catch (Exception e) {
throw new RuntimeException(e);