modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/AlertMetadataManagerBeanTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ContentMetadataManagerBeanTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/EventMetadataManagerBeanTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MeasurementMetadataManagerBeanTest.java | 7 - modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java | 57 +++++----- modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionMetadataTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionSinglePluginDescriptorMetadataTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/OperationMetadataManagerBeanTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginExtensionMetadataTest.java | 6 + modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java | 35 ++++-- modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java | 44 ++----- modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.java | 7 - modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/AbstractEJB3Test.java | 2 modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_1.xml | 1 modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_2.xml | 1 modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml | 1 modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.xml | 1 17 files changed, 116 insertions(+), 82 deletions(-)
New commits: commit 51ed8e9ea125c4e33685573751af7c3e73a8115f Merge: dadcd3f 943cc78 Author: John Mazzitelli mazz@redhat.com Date: Fri Nov 30 21:02:24 2012 -0500
Merge remote-tracking branch 'origin/master' into rhq-on-as7
commit 943cc7818a3934dc3516ea39ddf632d437e9d0a5 Author: Jay Shaughnessy jshaughn@redhat.com Date: Fri Nov 30 17:26:15 2012 -0500
trivial - remove a debugging sleep stmt
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java index 2df0d96..36b0821 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java @@ -88,9 +88,6 @@ public class PluginManagerBeanTest extends MetadataBeanTest { createPluginJarFile("test-plugin3.jar", "plugin_3.xml"); createPluginJarFile("test-plugin3.1.jar", "plugin_3.1.xml");
- System.out.println("***** SLEEP"); - Thread.sleep(60000); - pluginScanner.startDeployment(); }
commit 01044f44df613b54d5d5fb36c4b4c713bf1fcd1b Author: Jay Shaughnessy jshaughn@redhat.com Date: Fri Nov 30 17:22:34 2012 -0500
More work on the metadata tests. - better protect against test interaction issues by using explicit "AfterClass" stand-in tests for each subclass. - work on PluginManagerBeanTest such that it registers plugins to be enabled before trying to disable them. - Not passing, maybe a real problem?
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/AlertMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/AlertMetadataManagerBeanTest.java index 29c146f..26e1cab 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/AlertMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/AlertMetadataManagerBeanTest.java @@ -41,6 +41,12 @@ public class AlertMetadataManagerBeanTest extends MetadataBeanTest { assertEquals("Alert templates should have been deleted.", 0, templates.size()); }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnGroups = { "Alerts.UpgradePlugin" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + void createAlertTemplate(String name, String resourceTypeName, String pluginName) throws Exception { SubjectManagerLocal subjectMgr = LookupUtil.getSubjectManager(); ResourceTypeManagerLocal resourceTypeMgr = LookupUtil.getResourceTypeManager(); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ContentMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ContentMetadataManagerBeanTest.java index 6f5582a..c109bf8 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ContentMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ContentMetadataManagerBeanTest.java @@ -108,6 +108,12 @@ public class ContentMetadataManagerBeanTest extends MetadataBeanTest { bundleType.getName()); }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnGroups = { "Content.UpgradePlugin" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + PackageType loadPackageType(String resourceType, String plugin, String packageType) { return (PackageType) getEntityManager() .createQuery( diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/EventMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/EventMetadataManagerBeanTest.java index 99e1e22..8a11e07 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/EventMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/EventMetadataManagerBeanTest.java @@ -60,6 +60,12 @@ public class EventMetadataManagerBeanTest extends MetadataBeanTest { assertEquals("The description property should have been updated", "EVENT ONE", eventDef.getDescription()); }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnGroups = { "Events.UpgradePlugin" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + EventDefinition loadEventDef(String name, String resourceType) { return (EventDefinition) getEntityManager() .createQuery("from EventDefinition e where e.name = :name and e.resourceType.name = :resourceType") diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MeasurementMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MeasurementMetadataManagerBeanTest.java index 2bf2f31..25fbd5c 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MeasurementMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MeasurementMetadataManagerBeanTest.java @@ -16,13 +16,6 @@ import org.rhq.test.AssertUtils;
public class MeasurementMetadataManagerBeanTest extends MetadataBeanTest {
- @Override - protected void beforeMethod() throws Exception { - super.beforeMethod(); - - disableAfterClassStandIn = true; - } - @Test(groups = { "plugin.metadata", "Metrics.NewPlugin" }) void registerMetricsPlugin() throws Exception { createPlugin("metric-test-plugin", "1.0", "plugin_v1.xml"); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java index cfaf7a8..dbdb765 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MetadataBeanTest.java @@ -28,7 +28,6 @@ import org.dbunit.dataset.datatype.IDataTypeFactory; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import org.dbunit.operation.DatabaseOperation; -import org.testng.annotations.Test; import org.xml.sax.InputSource;
import org.rhq.core.clientapi.descriptor.plugin.PluginDescriptor; @@ -40,6 +39,7 @@ import org.rhq.core.util.MessageDigestGenerator; import org.rhq.core.util.stream.StreamUtil; import org.rhq.enterprise.server.auth.SubjectManagerLocal; import org.rhq.enterprise.server.bundle.TestBundleServerPluginService; +import org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner; import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal; import org.rhq.enterprise.server.scheduler.jobs.PurgePluginsJob; import org.rhq.enterprise.server.scheduler.jobs.PurgeResourceTypesJob; @@ -48,28 +48,21 @@ import org.rhq.enterprise.server.util.LookupUtil;
public class MetadataBeanTest extends AbstractEJB3Test {
+ protected PluginDeploymentScanner pluginScanner; + private List<Integer> pluginIds = new ArrayList<Integer>(); - protected boolean disableAfterClassStandIn = false;
- // Arquillian (1.0.2) executes @AfterClass after each test. So, instead turn it into a low priority - // test that should execute last. - /** - * !! Important !! This should be disabled if the subclass has tests in groups other than plugin.metadata because<br/> - * !! priority applies only to the tests in the same grouping.<br/> - * <br/> + /** + * <pre>IMPORTANT NOTE FOR SUBCLASS IMPLEMENTORS + * Arquillian (1.0.2) executes @AfterXXX after each test. The work below would normally be done in + * an AfterClass method, but instead we'll use mock tests, that perform last for each subclass, to + * perform this cleanup code. + * </pre> * Need to delete rows from RHQ_PLUGINS because subsequent tests in server/jar would otherwise fail. Some tests look * at what plugins are in the database, and then look for corresponding plugin files on the file system. MetadataTest * however removes the generated plugin files during each test run. + * */ - @Test(priority = 10, alwaysRun = true, groups = { "plugin.metadata" }) - void afterClassStandIn() throws Exception { - if (!disableAfterClassStandIn) { - afterClassWork(); - } else { - System.out.println("Skipping MetadataBeanTest.afterClassStandIn, it is disabled by a subclass."); - } - } - protected void afterClassWork() throws Exception { PluginManagerLocal pluginMgr = LookupUtil.getPluginManager(); Subject overlord = LookupUtil.getSubjectManager().getOverlord(); @@ -81,9 +74,6 @@ public class MetadataBeanTest extends AbstractEJB3Test {
@Override protected void beforeMethod() throws Exception { - if (!inContainer()) { - return; - }
setupDB();
@@ -100,9 +90,6 @@ public class MetadataBeanTest extends AbstractEJB3Test { */ @Override protected void afterMethod() throws Exception { - if (!inContainer()) { - return; - }
unprepareServerPluginService(); unprepareScheduler(); @@ -158,8 +145,7 @@ public class MetadataBeanTest extends AbstractEJB3Test { protected void createPlugin(String pluginFileName, String version, String descriptorFileName) throws Exception { URL descriptorURL = getDescriptorURL(descriptorFileName); PluginDescriptor pluginDescriptor = loadPluginDescriptor(descriptorURL); - String pluginFilePath = getCurrentWorkingDir() + "/" + pluginFileName + ".jar"; - File pluginFile = new File(pluginFilePath); + String pluginFilePath = getPluginWorkDir() + "/" + pluginFileName + ".jar";
Plugin plugin = new Plugin(pluginDescriptor.getName(), pluginFilePath); plugin.setDisplayName(pluginDescriptor.getName()); @@ -169,7 +155,6 @@ public class MetadataBeanTest extends AbstractEJB3Test { plugin.setVersion(pluginDescriptor.getVersion()); plugin.setMD5(MessageDigestGenerator.getDigestString(descriptorURL));
- SubjectManagerLocal subjectMgr = LookupUtil.getSubjectManager(); PluginManagerLocal pluginMgr = LookupUtil.getPluginManager();
pluginMgr.registerPlugin(plugin, pluginDescriptor, null, true); @@ -177,13 +162,31 @@ public class MetadataBeanTest extends AbstractEJB3Test { pluginIds.add(plugin.getId()); }
+ protected void preparePluginScannerService() { + if (this.pluginScanner == null) { + this.pluginScanner = new PluginDeploymentScanner(); + + String pluginDirPath = null; + try { + pluginDirPath = getPluginWorkDir(); + } catch (Exception e) { + throw new RuntimeException("Cannot determine where to put the plugin jar files", e); + } + this.pluginScanner.setAgentPluginDir(pluginDirPath); // we don't want to scan for these + this.pluginScanner.setServerPluginDir(null); // we don't want to scan for these + this.pluginScanner.setScanPeriod("9999999"); // we want to manually scan - don't allow for auto-scan to happen + } + + preparePluginScannerService(this.pluginScanner); + } + private URL getDescriptorURL(String descriptor) { String dir = getClass().getSimpleName(); return getClass().getResource(dir + "/" + descriptor); }
protected String getPluginWorkDir() throws Exception { - return getCurrentWorkingDir() + "/rhqtest"; + return getCurrentWorkingDir() + "/" + this.getClass().getSimpleName() + "/" + "plugins"; }
protected String getCurrentWorkingDir() throws Exception { diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionMetadataTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionMetadataTest.java index b395120..b34fa4c 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionMetadataTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionMetadataTest.java @@ -56,6 +56,12 @@ public class MultiplePluginExtensionMetadataTest extends MetadataBeanTest { checkChild2Plugin(); // check that the changes to the parent type propogated to the child #2 }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnMethods = { "testRegisterPlugins" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + private void registerParentPluginV1() throws Exception { // register the plugin, load the new type and test to make sure its what we expect createPlugin("parent-plugin.jar", "1.0", "parent_plugin_v1.xml"); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionSinglePluginDescriptorMetadataTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionSinglePluginDescriptorMetadataTest.java index e381168..337efd2 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionSinglePluginDescriptorMetadataTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/MultiplePluginExtensionSinglePluginDescriptorMetadataTest.java @@ -50,6 +50,12 @@ public class MultiplePluginExtensionSinglePluginDescriptorMetadataTest extends M checkChildPlugin(); // check that the changes to the parent type propogated to the child #1 and #2 }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnMethods = { "testRegisterPlugins" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + private void registerParentPluginV1() throws Exception { // register the plugin, load the new type and test to make sure its what we expect createPlugin("parent-plugin.jar", "1.0", "parent_plugin_v1.xml"); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/OperationMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/OperationMetadataManagerBeanTest.java index 59f5d44..f863fb1 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/OperationMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/OperationMetadataManagerBeanTest.java @@ -111,6 +111,12 @@ public class OperationMetadataManagerBeanTest extends MetadataBeanTest { assertNull("Results definition should have been removed", resultsDef); }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnGroups = { "Operations.UpgradePlugin" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + ResourceType loadResourceTypeWithOperationDefs(String resourceType, String plugin) { return (ResourceType) getEntityManager().createQuery( "from ResourceType t left join fetch t.operationDefinitions tod " diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginExtensionMetadataTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginExtensionMetadataTest.java index fedd45e..af24f3c 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginExtensionMetadataTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginExtensionMetadataTest.java @@ -123,6 +123,12 @@ public class PluginExtensionMetadataTest extends MetadataBeanTest { checkChildPlugin(); // check that the changes to the parent type propogated to the child }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnMethods = { "testRegisterPlugins" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + private void registerParentPluginV1() throws Exception { // register the plugin, load the new type and test to make sure its what we expect createPlugin("parent-plugin.jar", "1.0", "parent_plugin_v1.xml"); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java index ff279d9..2df0d96 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest.java @@ -21,6 +21,7 @@ package org.rhq.enterprise.server.resource.metadata;
import static java.util.Arrays.asList;
+import java.io.File; import java.util.List;
import javax.ejb.EJBException; @@ -30,6 +31,7 @@ import org.testng.annotations.Test; import org.rhq.core.domain.plugin.Plugin; import org.rhq.core.domain.plugin.PluginStatusType; import org.rhq.core.domain.resource.ResourceType; +import org.rhq.core.util.file.FileUtil; import org.rhq.enterprise.server.auth.SubjectManagerLocal; import org.rhq.enterprise.server.inventory.InventoryManagerLocal; import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal; @@ -53,7 +55,14 @@ public class PluginManagerBeanTest extends MetadataBeanTest { subjectMgr = LookupUtil.getSubjectManager(); pluginMgr = LookupUtil.getPluginManager();
- disableAfterClassStandIn = true; + FileUtil.purge(new File(getPluginWorkDir()), true); + + preparePluginScannerService(); + } + + @Override + protected void afterMethod() throws Exception { + unpreparePluginScannerService(); }
public void registerPlugins() throws Exception { @@ -71,16 +80,24 @@ public class PluginManagerBeanTest extends MetadataBeanTest { new PurgeResourceTypesJob().execute(null); new PurgePluginsJob().execute(null); } + + //createPluginJarFile("child1-plugin.jar", "child1_plugin_v1.xml")); + + createPluginJarFile("test-plugin1.jar", "plugin_1.xml"); + createPluginJarFile("test-plugin2.jar", "plugin_2.xml"); + createPluginJarFile("test-plugin3.jar", "plugin_3.xml"); + createPluginJarFile("test-plugin3.1.jar", "plugin_3.1.xml"); + + System.out.println("***** SLEEP"); + Thread.sleep(60000);
- createPlugin("test-plugin1", "1.0", "plugin_1.xml"); - createPlugin("test-plugin2", "1.0", "plugin_2.xml"); - createPlugin("test-plugin3", "1.0", "plugin_3.xml"); - createPlugin("test-plugin3.1", "1.0", "plugin_3.1.xml"); + pluginScanner.startDeployment(); }
@Test(dependsOnMethods = { "registerPlugins" }) public void disablePlugin() throws Exception { Plugin plugin = getPlugin("PluginManagerBeanTestPlugin3"); + assertTrue("Plugin should not already be disabled", plugin.isEnabled());
pluginMgr.disablePlugins(subjectMgr.getOverlord(), asList(plugin.getId())); plugin = pluginMgr.getPlugin("PluginManagerBeanTestPlugin3"); @@ -92,18 +109,23 @@ public class PluginManagerBeanTest extends MetadataBeanTest { @Test(dependsOnMethods = { "registerPlugins" }) public void doNotDisablePluginIfDependentPluginsAreNotAlsoDisabled() throws Exception { Plugin plugin = getPlugin("PluginManagerBeanTestPlugin1"); - EJBException exception = null; + assertTrue("Plugin should not already be disabled", plugin.isEnabled()); + + Exception exception = null;
try { pluginMgr.disablePlugins(subjectMgr.getOverlord(), asList(plugin.getId())); - } catch (EJBException e) { + } catch (Exception e) { exception = e; }
+ plugin = getPlugin("PluginManagerBeanTestPlugin1"); + assertTrue("Plugin should not have been disabled", plugin.isEnabled()); + assertNotNull("Expected exception to be thrown when trying to disable a plugin that has dependent plugins", exception); assertTrue("Expected an IllegalArgumentException when trying to disable a plugin with dependent plugins", - exception.getCausedByException() instanceof IllegalArgumentException); + exception.getCause() instanceof IllegalArgumentException); }
@Test(dependsOnMethods = { "doNotDisablePluginIfDependentPluginsAreNotAlsoDisabled" }) diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java index 4e19f85..5417305 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/PluginScanningExtensionMetadataTest.java @@ -4,15 +4,12 @@ import java.io.File; import java.util.ArrayList; import java.util.List;
-import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test;
import org.rhq.core.domain.criteria.ResourceTypeCriteria; import org.rhq.core.domain.operation.OperationDefinition; import org.rhq.core.domain.resource.ResourceType; import org.rhq.enterprise.server.auth.SubjectManagerLocal; -import org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner; import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal; import org.rhq.enterprise.server.util.LookupUtil;
@@ -54,13 +51,10 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest { private ResourceTypeManagerLocal resourceTypeMgr;
private List<File> createdJarFiles = new ArrayList<File>(); - private PluginDeploymentScanner pluginScanner;
- @BeforeMethod(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" }) - protected void beforeTestMethod() throws Exception { - if (!inContainer()) { - return; - } + @Override + protected void beforeMethod() throws Exception { + super.beforeMethod();
preparePluginScannerService();
@@ -76,11 +70,8 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest { createdJarFiles.clear(); }
- @AfterMethod(groups = { "plugin.metadata" }, dependsOnGroups = { "integration.ejb3" }) - protected void afterTestMethod() throws Exception { - if (!inContainer()) { - return; - } + @Override + protected void afterMethod() throws Exception { // clean up any generated jar files - we want to remove these so they don't get in the way of a future test run if (!createdJarFiles.isEmpty()) { for (File doomed : createdJarFiles) { @@ -90,25 +81,8 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest { createdJarFiles.clear();
unpreparePluginScannerService(); - }
- // this method isn't a test method - private void preparePluginScannerService() { - if (this.pluginScanner == null) { - this.pluginScanner = new PluginDeploymentScanner(); - - String pluginDirPath = null; - try { - pluginDirPath = getPluginWorkDir(); - } catch (Exception e) { - throw new RuntimeException("Cannot determine where to put the plugin jar files", e); - } - this.pluginScanner.setAgentPluginDir(pluginDirPath); // we don't want to scan for these - this.pluginScanner.setServerPluginDir(null); // we don't want to scan for these - this.pluginScanner.setScanPeriod("9999999"); // we want to manually scan - don't allow for auto-scan to happen - } - - preparePluginScannerService(this.pluginScanner); + super.afterMethod(); }
public void testRegisterPlugins() throws Exception { @@ -127,6 +101,12 @@ public class PluginScanningExtensionMetadataTest extends MetadataBeanTest { } }
+ // this needs to be the last test executed in the class, it does cleanup + @Test(priority = 10, alwaysRun = true, dependsOnMethods = { "testRegisterPlugins" }) + public void afterClassWorkTest() throws Exception { + afterClassWork(); + } + private void registerParentPluginV1() throws Exception { // register the plugin, load the new type and test to make sure its what we expect createdJarFiles.add(createPluginJarFile("parent-plugin.jar", "parent_plugin_v1.xml")); diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.java index 5f2acd8..a5e23ff 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBeanTest.java @@ -53,13 +53,6 @@ import org.rhq.enterprise.server.util.LookupUtil; @Test(groups = { "plugin.metadata" }) public class ResourceMetadataManagerBeanTest extends MetadataBeanTest {
- @Override - protected void beforeMethod() throws Exception { - super.beforeMethod(); - - disableAfterClassStandIn = true; - } - @Test(groups = { "plugin.resource.metadata.test", "NewPlugin" }) public void testRemovalOfObsoleteBundleAndDriftConfig() throws Exception { // create the initial type that has bundle and drift definitions 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 6fc8350..975efb8 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 @@ -341,7 +341,7 @@ public abstract class AbstractEJB3Test extends Arquillian { testEar.addAsLibraries(dependencies);
// Print out the test EAR structure - // System.out.println("** The Deployment EAR: " + ear.toString(true) + "\n"); + //System.out.println("** The Deployment EAR: " + testEar.toString(true) + "\n");
// Save the test EAR to a zip file for inspection (set file explicitly) //exportZip(testEar, new File("/home/jshaughn/temp/test-ear.ear")); diff --git a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_1.xml b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_1.xml index 6680aa6..a639a3b 100644 --- a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_1.xml +++ b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_1.xml @@ -1,4 +1,5 @@ <plugin name="PluginManagerBeanTestPlugin1" + version="1.0" package="org.rhq.plugins.test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:xmlns:rhq-plugin" diff --git a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_2.xml b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_2.xml index c6f8736..e2c7b22 100644 --- a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_2.xml +++ b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_2.xml @@ -1,4 +1,5 @@ <plugin name="PluginManagerBeanTestPlugin2" + version="1.0" package="org.rhq.plugins.test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:xmlns:rhq-plugin" diff --git a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml index e885167..ec2aef1 100644 --- a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml +++ b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.1.xml @@ -1,4 +1,5 @@ <plugin name="PluginManagerBeanTestPlugin3.1" + version="1.0" package="org.rhq.plugins.test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:xmlns:rhq-plugin" diff --git a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.xml b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.xml index 78184bf..c2bde29 100644 --- a/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.xml +++ b/modules/enterprise/server/itests-2/src/test/resources/org/rhq/enterprise/server/resource/metadata/PluginManagerBeanTest/plugin_3.xml @@ -1,4 +1,5 @@ <plugin name="PluginManagerBeanTestPlugin3" + version="1.0" package="org.rhq.plugins.test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:xmlns:rhq-plugin"
commit 59514c1a6a6a879d6a7bf0174c0d3ca252ebbfed Author: John Mazzitelli mazz@redhat.com Date: Fri Nov 30 17:11:20 2012 -0500
[BZ 882280] purge old perspective plugin from the DB during db upgrade (cherry picked from commit dadcd3fbff9d883c7d6a166ad42687c26c9b5a70)
diff --git a/modules/core/dbutils/pom.xml b/modules/core/dbutils/pom.xml index 615b252..036b65b 100644 --- a/modules/core/dbutils/pom.xml +++ b/modules/core/dbutils/pom.xml @@ -17,7 +17,7 @@ <description>Database schema setup, upgrade and other utilities</description>
<properties> - <db.schema.version>2.127</db.schema.version> + <db.schema.version>2.128</db.schema.version> <rhq.ds.type-mapping>${rhq.test.ds.type-mapping}</rhq.ds.type-mapping> <rhq.ds.server-name>${rhq.test.ds.server-name}</rhq.ds.server-name> <rhq.ds.db-name>${rhq.test.ds.db-name}</rhq.ds.db-name> diff --git a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml index 7188198..19ac9dd 100644 --- a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml +++ b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml @@ -30,8 +30,8 @@ <!-- Empty initial schema to avoid install failure on default latest schema version --> </schemaSpec>
- <!-- 2.1 through 2.69 removed, no longer needed as these versions are not in use --> - + <!-- 2.1 through 2.69 removed, no longer needed as these versions are not in use --> + <schemaSpec version="2.70"> <schema-addColumn table="RHQ_ALERT" column="ACK_TIME" columnType="LONG" /> <schema-addColumn table="RHQ_ALERT" column="ACK_SUBJECT" precision="100" columnType="VARCHAR2" /> @@ -1267,10 +1267,10 @@ UPDATE RHQ_RESOURCE_TYPE SET DELETED = false </statement> - <statement targetDBVendor="oracle" desc="Set deleted flag for existing resources types to false"> + <statement targetDBVendor="oracle" desc="Set deleted flag for existing resources types to false"> UPDATE RHQ_RESOURCE_TYPE SET DELETED = 0 - </statement> + </statement> </schema-directSQL> <schema-alterColumn table="RHQ_RESOURCE_TYPE" column="DELETED" nullable="FALSE" /> </schemaSpec> @@ -1351,14 +1351,14 @@ <schemaSpec version="2.105"> <schema-addColumn table="RHQ_REPO" column="OWNER_ID" columnType="INTEGER" /> <schema-addColumn table="RHQ_REPO" column="IS_PRIVATE" columnType="BOOLEAN" /> - <schema-directSQL> + <schema-directSQL> <statement targetDBVendor="postgresql" desc="Set is_private flag for existing repos to false"> UPDATE RHQ_REPO SET IS_PRIVATE = false </statement> <statement targetDBVendor="oracle" desc="Set is_private flag for existing repos to false"> UPDATE RHQ_REPO SET IS_PRIVATE = 0 </statement> - </schema-directSQL> + </schema-directSQL> <schema-alterColumn table="RHQ_REPO" column="IS_PRIVATE" nullable="FALSE"/> <schema-directSQL> <statement desc="Creating OWNER_ID foreign key relation on RHQ_REPO"> @@ -1970,7 +1970,7 @@ </schema-directSQL> </schemaSpec>
- <!-- Remove unnecessary tables for RHQ on AS7 --> + <!-- Remove unnecessary tables for RHQ on AS7 --> <schemaSpec version="2.127"> <schema-dropTable table="JMS_MESSAGES" ignoreError="true" /> <schema-dropTable table="JMS_TRANSACTIONS" ignoreError="true" /> @@ -1978,7 +1978,16 @@ <schema-dropTable table="JMS_ROLES" ignoreError="true" /> <schema-dropTable table="JMS_SUBSCRIPTIONS" ignoreError="true" /> </schemaSpec> - + + <!-- The perspective server plugin type has been removed - delete perspective plugin from DB --> + <schemaSpec version="2.128"> + <schema-directSQL> + <statement> + DELETE FROM RHQ_PLUGIN WHERE NAME = 'CorePerspective' + </statement> + </schema-directSQL> + </schemaSpec> + </dbupgrade> </target> </project>
rhq-commits@lists.fedorahosted.org