modules/enterprise/server/jar/src/test/groovy/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.groovy | 32 +++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
New commits:
commit a33abb1372430d015a2d0d0957d42e3ad4ca2f91
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Nov 1 10:39:16 2010 -0400
Adding test to verify that compatible groups are deleted
diff --git a/modules/enterprise/server/jar/src/test/groovy/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.groovy b/modules/enterprise/server/jar/src/test/groovy/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.groovy
index 421d28f..9b2f4c3 100644
--- a/modules/enterprise/server/jar/src/test/groovy/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.groovy
+++ b/modules/enterprise/server/jar/src/test/groovy/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.groovy
@@ -21,7 +21,8 @@ import org.rhq.core.domain.criteria.ResourceCriteria
import org.rhq.core.domain.resource.InventoryStatus
import org.testng.annotations.BeforeClass
import org.rhq.enterprise.server.bundle.TestBundleServerPluginService
-import org.rhq.core.domain.content.Package;
+import org.rhq.core.domain.content.Package
+import org.rhq.core.domain.resource.group.ResourceGroup;
class ResourceMetadataManagerBeanTest extends AbstractEJB3Test {
@@ -32,10 +33,12 @@ class ResourceMetadataManagerBeanTest extends AbstractEJB3Test {
def bundleService = new TestBundleServerPluginService();
prepareCustomServerPluginService(bundleService)
bundleService.startMasterPluginContainerWithoutSchedulingJobs()
+ prepareScheduler()
}
@AfterClass
void removePluginsFromDB() {
+ unprepareScheduler()
transaction {
// using direct hibernate query here because JPA 1.0 lacks support for the IN clause
// where you can directly specify a collection for the parameter value used in an IN
@@ -332,6 +335,7 @@ class ResourceMetadataManagerBeanTest extends AbstractEJB3Test {
createResources(3, 'RemoveTypesPlugin', 'ServerC')
createBundle("test-bundle-1", "Test Bundle", "ServerC", "RemoveTypesPlugin")
createPackage('ServerC::test-package', 'ServerC', 'RemoveTypesPlugin')
+ createResourceGroup('ServerC Group', 'ServerC', 'RemoveTypesPlugin')
def updatedDescriptor = """
<plugin name="RemoveTypesPlugin" displayName="Remove Types Plugin" package="org.rhq.plugins.test"
@@ -483,6 +487,16 @@ class ResourceMetadataManagerBeanTest extends AbstractEJB3Test {
assertEquals "All package types should have been deleted", 0, packageTypes.size()
}
+ @Test(dependsOnMethods = ['upgradePluginWithTypesRemoved'], groups = ['RemoveTypes'])
+ void deleteResourceGroups() {
+ def groups = entityManager.createQuery("from ResourceGroup g where g.name = :name and g.resourceType.name = :typeName")
+ .setParameter("name", "ServerC Group")
+ .setParameter("typeName", "ServerC")
+ .getResultList()
+
+ assertEquals "All resource groups should have been deleted", 0, groups.size()
+ }
+
/**
* This method creates the plugin-related artifacts that are need to call
* ResourceMetadataManager.registerPlugin. It creates the PluginDescriptor object, and
@@ -619,6 +633,22 @@ class ResourceMetadataManagerBeanTest extends AbstractEJB3Test {
contentMgr.persistPackage(pkg)
}
+ def createResourceGroup(groupName, resourceTypeName, pluginName) {
+ def subjectMgr = LookupUtil.subjectManager
+ def resourceTypeMgr = LookupUtil.resourceTypeManager
+ def resourceGroupMgr = LookupUtil.resourceGroupManager
+
+ def resourceType = resourceTypeMgr.getResourceTypeByNameAndPlugin(resourceTypeName, pluginName)
+
+ assertNotNull(
+ "Cannot create resource group. Unable to find resource type for [name: $resourceTypeName, plugin: $pluginName]",
+ resourceType
+ )
+
+ def resourceGroup = new ResourceGroup(groupName, resourceType)
+ resourceGroupMgr.createResourceGroup(subjectMgr.overlord, resourceGroup)
+ }
+
def transaction(work) {
try {
transactionManager.begin()