modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DeletedResourceTypeFilterTest.java | 9 modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java | 216 ++++++++++ modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java | 190 -------- modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml | 84 +++ 4 files changed, 309 insertions(+), 190 deletions(-)
New commits: commit 537a4db3e003f6dc7b7658f64153339f576d3c81 Author: John Sanda jsanda@redhat.com Date: Tue Nov 16 15:33:14 2010 -0500
Fixing test failures
Refactoring DiscoveryBossBeanTest to use dbunit to put the db in a known, consistent state at the start of each test.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java new file mode 100644 index 0000000..46005c3 --- /dev/null +++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.java @@ -0,0 +1,216 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2008 Red Hat, Inc. + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +package org.rhq.enterprise.server.discovery; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.Random; + +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; +import javax.persistence.EntityManager; + +import org.dbunit.database.DatabaseConfig; +import org.dbunit.database.DatabaseConnection; +import org.dbunit.database.IDatabaseConnection; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.datatype.IDataTypeFactory; +import org.dbunit.dataset.xml.FlatXmlDataSet; +import org.dbunit.dataset.xml.FlatXmlProducer; +import org.dbunit.ext.oracle.Oracle10DataTypeFactory; +import org.dbunit.ext.oracle.OracleDataTypeFactory; +import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory; +import org.dbunit.operation.DatabaseOperation; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import org.jboss.mx.util.MBeanServerLocator; + +import org.rhq.core.clientapi.server.discovery.InventoryReport; +import org.rhq.core.domain.discovery.ResourceSyncInfo; +import org.rhq.core.domain.resource.Agent; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.resource.ResourceCategory; +import org.rhq.core.domain.resource.ResourceType; +import org.rhq.enterprise.server.core.comm.ServerCommunicationsService; +import org.rhq.enterprise.server.core.comm.ServerCommunicationsServiceMBean; +import org.rhq.enterprise.server.discovery.DiscoveryBossLocal; +import org.rhq.enterprise.server.test.AbstractEJB3Test; +import org.rhq.enterprise.server.util.LookupUtil; +import org.xml.sax.InputSource; + +public class DiscoveryBossBeanTest extends AbstractEJB3Test { + private DiscoveryBossLocal discoveryBoss; + private MBeanServer dummyJBossMBeanServer; + + private ResourceType platformType; + + private ResourceType serverType; + + private ResourceType serviceType1; + + private ResourceType serviceType2; + + private Agent agent; + + @BeforeClass + public void beforeClass() throws Exception { + discoveryBoss = LookupUtil.getDiscoveryBoss(); + + dummyJBossMBeanServer = MBeanServerFactory.createMBeanServer("jboss"); + MBeanServerLocator.setJBoss(dummyJBossMBeanServer); + dummyJBossMBeanServer.registerMBean(new ServerCommunicationsService(), + ServerCommunicationsServiceMBean.OBJECT_NAME); + } + + @AfterClass + public void afterClass() { + MBeanServerFactory.releaseMBeanServer(dummyJBossMBeanServer); + } + + @BeforeMethod + public void setupTestData() throws Exception { + initDB(); + platformType = getEntityManager().find(ResourceType.class, 1); + serverType = getEntityManager().find(ResourceType.class, 2); + serviceType1 = getEntityManager().find(ResourceType.class, 3); + serviceType2 = getEntityManager().find(ResourceType.class, 4); + agent = getEntityManager().find(Agent.class, 1); + } + + @Test(groups = "integration.ejb3") + public void testBasicInventoryReport() throws Exception { + InventoryReport inventoryReport = new InventoryReport(agent); + + Resource platform = new Resource("alpha", "platform", platformType); + Resource server = new Resource("bravo", "server", serverType); + platform.addChildResource(server); + Resource service1 = new Resource("charlie", "service 1", serviceType1); + Resource service2 = new Resource("delta", "service 2", serviceType2); + server.addChildResource(service1); + server.addChildResource(service2); + + platform.setUuid("" + new Random().nextInt()); + server.setUuid("" + new Random().nextInt()); + service1.setUuid("" + new Random().nextInt()); + service2.setUuid("" + new Random().nextInt()); + + inventoryReport.addAddedRoot(platform); + + ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); + assert syncInfo != null; + } + + @Test(groups = "integration.ejb3") + public void testUpdateInventoryReport() throws Exception { + // First just submit the platform + InventoryReport inventoryReport = new InventoryReport(agent); + Resource platform = new Resource("alpha", "platform", platformType); + platform.setUuid("" + new Random().nextInt()); + inventoryReport.addAddedRoot(platform); + ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); + assert syncInfo != null; + + platform.setId(syncInfo.getId()); + + // Now submit the server and its children as an update report + inventoryReport = new InventoryReport(agent); + Resource server = new Resource("bravo", "server", serverType); + platform.addChildResource(server); + Resource service1 = new Resource("charlie", "service 1", serviceType1); + Resource service2 = new Resource("delta", "service 2", serviceType2); + server.addChildResource(service1); + server.addChildResource(service2); + + server.setUuid("" + new Random().nextInt()); + service1.setUuid("" + new Random().nextInt()); + service2.setUuid("" + new Random().nextInt()); + + inventoryReport.addAddedRoot(server); + + syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); + assert syncInfo != null; + } + + /** + * Use this to fake like your remoting objects. Can be used to keep your own copy of objects locally transient. + * + * @param object + * @return + */ + @SuppressWarnings("unchecked") + private static <T> T serialize(T object) { + try { + ByteArrayOutputStream baos = new ByteArrayOutputStream(10000); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(object); + System.out.println("****** Size of serialized object: " + baos.size()); + + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); + Object transfered = ois.readObject(); + + return (T) transfered; + } catch (Exception e) { + throw new RuntimeException("Failed serializing and deserializing object: " + object); + } + } + + public void initDB() throws Exception { + IDatabaseConnection conn = new DatabaseConnection(getConnection()); + setDbType(conn); + DatabaseOperation.CLEAN_INSERT.execute(conn, getDataSet()); + } + + void setDbType(IDatabaseConnection connection) throws Exception { + DatabaseConfig dbConfig = connection.getConfig(); + String name = connection.getConnection().getMetaData().getDatabaseProductName().toLowerCase(); + int major = connection.getConnection().getMetaData().getDatabaseMajorVersion(); + IDataTypeFactory type = null; + + if (name.contains("postgres")) { + type = new PostgresqlDataTypeFactory(); + } else if (name.contains("oracle")) { + if (major >= 10) { + type = new Oracle10DataTypeFactory(); + } else { + type = new OracleDataTypeFactory(); + } + } + + if (type != null) { + dbConfig.setProperty("http://www.dbunit.org/properties/datatypeFactory", type); + } + } + + IDataSet getDataSet() throws Exception { + FlatXmlProducer xmlProducer = new FlatXmlProducer(new InputSource(getClass().getResourceAsStream( + getDataSetFile()))); + xmlProducer.setColumnSensing(true); + return new FlatXmlDataSet(xmlProducer); + } + + String getDataSetFile() { + return getClass().getSimpleName() + ".xml"; + } + +} \ No newline at end of file diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java deleted file mode 100644 index f70afa0..0000000 --- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2008 Red Hat, Inc. - * All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ -package org.rhq.enterprise.server.discovery.test; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.Random; - -import javax.management.MBeanServer; -import javax.management.MBeanServerFactory; -import javax.persistence.EntityManager; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import org.jboss.mx.util.MBeanServerLocator; - -import org.rhq.core.clientapi.server.discovery.InventoryReport; -import org.rhq.core.domain.discovery.ResourceSyncInfo; -import org.rhq.core.domain.resource.Agent; -import org.rhq.core.domain.resource.Resource; -import org.rhq.core.domain.resource.ResourceCategory; -import org.rhq.core.domain.resource.ResourceType; -import org.rhq.enterprise.server.core.comm.ServerCommunicationsService; -import org.rhq.enterprise.server.core.comm.ServerCommunicationsServiceMBean; -import org.rhq.enterprise.server.discovery.DiscoveryBossLocal; -import org.rhq.enterprise.server.test.AbstractEJB3Test; -import org.rhq.enterprise.server.util.LookupUtil; - -public class DiscoveryBossBeanTest extends AbstractEJB3Test { - private DiscoveryBossLocal discoveryBoss; - private MBeanServer dummyJBossMBeanServer; - - @BeforeClass - public void beforeClass() throws Exception { - discoveryBoss = LookupUtil.getDiscoveryBoss(); - - dummyJBossMBeanServer = MBeanServerFactory.createMBeanServer("jboss"); - MBeanServerLocator.setJBoss(dummyJBossMBeanServer); - dummyJBossMBeanServer.registerMBean(new ServerCommunicationsService(), - ServerCommunicationsServiceMBean.OBJECT_NAME); - return; - } - - @AfterClass - public void afterClass() { - MBeanServerFactory.releaseMBeanServer(dummyJBossMBeanServer); - } - - private ResourceType platformType; - - private ResourceType serverType; - - private ResourceType serviceType1; - - private ResourceType serviceType2; - - private Agent agent; - - @Test(groups = "integration.ejb3") - public void testBasicInventoryReport() throws Exception { - createResourceTypes(getEntityManager()); - getTransactionManager().begin(); - EntityManager em = getEntityManager(); - try { -// createResourceTypes(em); - createAgent(em); - em.flush(); - - InventoryReport inventoryReport = new InventoryReport(agent); - - Resource platform = new Resource("alpha", "platform", platformType); - Resource server = new Resource("bravo", "server", serverType); - platform.addChildResource(server); - Resource service1 = new Resource("charlie", "service 1", serviceType1); - Resource service2 = new Resource("delta", "service 2", serviceType2); - server.addChildResource(service1); - server.addChildResource(service2); - - platform.setUuid("" + new Random().nextInt()); - server.setUuid("" + new Random().nextInt()); - service1.setUuid("" + new Random().nextInt()); - service2.setUuid("" + new Random().nextInt()); - - inventoryReport.addAddedRoot(platform); - - ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); - assert syncInfo != null; - } finally { - getTransactionManager().rollback(); - } - } - -// @Test(groups = "integration.ejb3") -// public void testUpdateInventoryReport() throws Exception { -// getTransactionManager().begin(); -// EntityManager em = getEntityManager(); -// try { -// createResourceTypes(em); -// createAgent(em); -// em.flush(); -// -// // First just submit the platform -// InventoryReport inventoryReport = new InventoryReport(agent); -// Resource platform = new Resource("alpha", "platform", platformType); -// platform.setUuid("" + new Random().nextInt()); -// inventoryReport.addAddedRoot(platform); -// ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); -// assert syncInfo != null; -// -// platform.setId(syncInfo.getId()); -// -// // Now submit the server and its children as an update report -// inventoryReport = new InventoryReport(agent); -// Resource server = new Resource("bravo", "server", serverType); -// platform.addChildResource(server); -// Resource service1 = new Resource("charlie", "service 1", serviceType1); -// Resource service2 = new Resource("delta", "service 2", serviceType2); -// server.addChildResource(service1); -// server.addChildResource(service2); -// -// server.setUuid("" + new Random().nextInt()); -// service1.setUuid("" + new Random().nextInt()); -// service2.setUuid("" + new Random().nextInt()); -// -// inventoryReport.addAddedRoot(server); -// -// syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); -// assert syncInfo != null; -// } finally { -// getTransactionManager().rollback(); -// } -// } - - /** - * Use this to fake like your remoting objects. Can be used to keep your own copy of objects locally transient. - * - * @param object - * - * @return - */ - @SuppressWarnings("unchecked") - private static <T> T serialize(T object) { - try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(10000); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(object); - System.out.println("****** Size of serialized object: " + baos.size()); - - ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); - Object transfered = ois.readObject(); - - return (T) transfered; - } catch (Exception e) { - throw new RuntimeException("Failed serializing and deserializing object: " + object); - } - } - - private void createAgent(EntityManager em) { - agent = new Agent("TestAgent-dbbt", "0.0.0.0", 1, "http://here", "tok"); - em.persist(agent); - } - - private void createResourceTypes(EntityManager entityManager) throws Exception { - getTransactionManager().begin(); - platformType = new ResourceType("test platform", "test", ResourceCategory.PLATFORM, null); - serverType = new ResourceType("test server", "test", ResourceCategory.SERVER, platformType); - serviceType1 = new ResourceType("test service 1", "test", ResourceCategory.SERVICE, serverType); - serviceType2 = new ResourceType("test service 2", "test", ResourceCategory.SERVICE, serverType); - - entityManager.persist(platformType); - getTransactionManager().commit(); - } -} \ No newline at end of file diff --git a/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml new file mode 100644 index 0000000..b2ed56e --- /dev/null +++ b/modules/enterprise/server/jar/src/test/resources/org/rhq/enterprise/server/discovery/DiscoveryBossBeanTest.xml @@ -0,0 +1,84 @@ +<dataset> + <rhq_agent id="1" + name="TestAgent-dbbt" + address="0.0.0.0" + port="16163" + remote_endpoint="http://here" + agenttoken="tok" + backfilled="false" + ctime="123456" + mtime="123456"/> + + <rhq_config_def/> + <rhq_config_prop_def/> + <rhq_conf_prop_def_enum/> + <rhq_config_prop_constr/> + + <rhq_resource_type id="1" + name="test platform" + category="PLATFORM" + creation_data_type="CONFIGURATION" + create_delete_policy="BOTH" + supports_manual_add="true" + singleton="false" + plugin="test" + deleted="false"/> + <rhq_resource_type id="2" + name="test server" + category="SERVER" + creation_data_type="CONFIGURATION" + create_delete_policy="BOTH" + supports_manual_add="true" + singleton="false" + plugin="test" + deleted="false"/> + <rhq_resource_type id="3" + name="test service 1" + category="SERVICE" + creation_data_type="CONFIGURATION" + create_delete_policy="BOTH" + supports_manual_add="true" + singleton="false" + plugin="test" + deleted="false"/> + <rhq_resource_type id="4" + name="test service 2" + category="SERVICE" + creation_data_type="CONFIGURATION" + create_delete_policy="BOTH" + supports_manual_add="true" + singleton="false" + plugin="test" + deleted="false"/> + + <rhq_resource_type_parents resource_type_id="2" + parent_resource_type_id="1"/> + <rhq_resource_type_parents resource_type_id="3" + parent_resource_type_id="2"/> + <rhq_resource_type_parents resource_type_id="4" + parent_resource_type_id="2"/> + + <rhq_process_scan/> + <rhq_event_def/> + <rhq_measurement_def/> + <rhq_operation_def/> + <rhq_package_type/> + <rhq_bundle_type/> + <rhq_config/> + <rhq_config_property/> + <rhq_config_template/> + <rhq_resource/> + <rhq_resource_subcat/> + <rhq_resource_group/> + <rhq_prd_ver/> + <rhq_alert_definition/> + <rhq_alert_condition/> + <rhq_alert/> + <rhq_alert_condition_log/> + <rhq_alert_notif_log/> + <rhq_availability/> + <rhq_measurement_sched/> + <rhq_package/> + <rhq_bundle/> + <rhq_plugin/> +</dataset> \ No newline at end of file
commit 8cf573410b6c35c964afb80bdb4db769218bd399 Author: John Sanda jsanda@redhat.com Date: Tue Nov 16 14:11:02 2010 -0500
Stubbing out call to resourceTypeManager.getResourceTypeByNameAndPlugin
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DeletedResourceTypeFilterTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DeletedResourceTypeFilterTest.java index a3cdcd2..efb7acf 100644 --- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DeletedResourceTypeFilterTest.java +++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/DeletedResourceTypeFilterTest.java @@ -1,6 +1,7 @@ package org.rhq.enterprise.server.discovery;
import org.jmock.Expectations; +import org.rhq.core.domain.resource.ResourceCategory; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test;
@@ -41,6 +42,10 @@ public class DeletedResourceTypeFilterTest extends JMockTest { allowing(resourceTypeMgr).findResourceTypesByCriteria(with(aNonNull(Subject.class)), with(aNonNull(ResourceTypeCriteria.class))); will(returnValue(new PageList<ResourceType>())); + + allowing(resourceTypeMgr).getResourceTypeByNameAndPlugin(with(aNonNull(String.class)), + with(aNonNull(String.class))); + will(returnValue(new ResourceType("TestServer", "TestPlugin", ResourceCategory.SERVER, null))); }});
InventoryReport report = createReport(); @@ -78,6 +83,10 @@ public class DeletedResourceTypeFilterTest extends JMockTest { allowing(resourceTypeMgr).findResourceTypesByCriteria(with(aNonNull(Subject.class)), with(aNonNull(ResourceTypeCriteria.class))); will(returnValue(deletedTypes)); + + allowing(resourceTypeMgr).getResourceTypeByNameAndPlugin(with(aNonNull(String.class)), + with(aNonNull(String.class))); + will(returnValue(new ResourceType("TestServer", "TestPlugin", ResourceCategory.SERVER, null))); }});
InventoryReport report = createReport(); diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java index 930ec84..f70afa0 100644 --- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java +++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/discovery/test/DiscoveryBossBeanTest.java @@ -78,10 +78,11 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test {
@Test(groups = "integration.ejb3") public void testBasicInventoryReport() throws Exception { + createResourceTypes(getEntityManager()); getTransactionManager().begin(); EntityManager em = getEntityManager(); try { - createResourceTypes(em); +// createResourceTypes(em); createAgent(em); em.flush();
@@ -109,46 +110,46 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test { } }
- @Test(groups = "integration.ejb3") - public void testUpdateInventoryReport() throws Exception { - getTransactionManager().begin(); - EntityManager em = getEntityManager(); - try { - createResourceTypes(em); - createAgent(em); - em.flush(); - - // First just submit the platform - InventoryReport inventoryReport = new InventoryReport(agent); - Resource platform = new Resource("alpha", "platform", platformType); - platform.setUuid("" + new Random().nextInt()); - inventoryReport.addAddedRoot(platform); - ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); - assert syncInfo != null; - - platform.setId(syncInfo.getId()); - - // Now submit the server and its children as an update report - inventoryReport = new InventoryReport(agent); - Resource server = new Resource("bravo", "server", serverType); - platform.addChildResource(server); - Resource service1 = new Resource("charlie", "service 1", serviceType1); - Resource service2 = new Resource("delta", "service 2", serviceType2); - server.addChildResource(service1); - server.addChildResource(service2); - - server.setUuid("" + new Random().nextInt()); - service1.setUuid("" + new Random().nextInt()); - service2.setUuid("" + new Random().nextInt()); - - inventoryReport.addAddedRoot(server); - - syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); - assert syncInfo != null; - } finally { - getTransactionManager().rollback(); - } - } +// @Test(groups = "integration.ejb3") +// public void testUpdateInventoryReport() throws Exception { +// getTransactionManager().begin(); +// EntityManager em = getEntityManager(); +// try { +// createResourceTypes(em); +// createAgent(em); +// em.flush(); +// +// // First just submit the platform +// InventoryReport inventoryReport = new InventoryReport(agent); +// Resource platform = new Resource("alpha", "platform", platformType); +// platform.setUuid("" + new Random().nextInt()); +// inventoryReport.addAddedRoot(platform); +// ResourceSyncInfo syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); +// assert syncInfo != null; +// +// platform.setId(syncInfo.getId()); +// +// // Now submit the server and its children as an update report +// inventoryReport = new InventoryReport(agent); +// Resource server = new Resource("bravo", "server", serverType); +// platform.addChildResource(server); +// Resource service1 = new Resource("charlie", "service 1", serviceType1); +// Resource service2 = new Resource("delta", "service 2", serviceType2); +// server.addChildResource(service1); +// server.addChildResource(service2); +// +// server.setUuid("" + new Random().nextInt()); +// service1.setUuid("" + new Random().nextInt()); +// service2.setUuid("" + new Random().nextInt()); +// +// inventoryReport.addAddedRoot(server); +// +// syncInfo = discoveryBoss.mergeInventoryReport(serialize(inventoryReport)); +// assert syncInfo != null; +// } finally { +// getTransactionManager().rollback(); +// } +// }
/** * Use this to fake like your remoting objects. Can be used to keep your own copy of objects locally transient. @@ -179,12 +180,14 @@ public class DiscoveryBossBeanTest extends AbstractEJB3Test { em.persist(agent); }
- private void createResourceTypes(EntityManager entityManager) { + private void createResourceTypes(EntityManager entityManager) throws Exception { + getTransactionManager().begin(); platformType = new ResourceType("test platform", "test", ResourceCategory.PLATFORM, null); serverType = new ResourceType("test server", "test", ResourceCategory.SERVER, platformType); serviceType1 = new ResourceType("test service 1", "test", ResourceCategory.SERVICE, serverType); serviceType2 = new ResourceType("test service 2", "test", ResourceCategory.SERVICE, serverType);
entityManager.persist(platformType); + getTransactionManager().commit(); } } \ No newline at end of file
rhq-commits@lists.fedorahosted.org