mwomack 2002/12/11 23:54:48
Modified: tests/src/java/org/apache/log4j/plugins PluginTestCase.java
Log:
Expanded test case 1 (plugin usage in defautl repository), added test case 2 (plugin
usage with multiple repositories).
Revision Changes Path
1.2 +158 -15
jakarta-log4j/tests/src/java/org/apache/log4j/plugins/PluginTestCase.java
Index: PluginTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/tests/src/java/org/apache/log4j/plugins/PluginTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PluginTestCase.java 11 Dec 2002 07:32:19 -0000 1.1
+++ PluginTestCase.java 12 Dec 2002 07:54:48 -0000 1.2
@@ -7,6 +7,7 @@
package org.apache.log4j.plugins;
+import java.util.HashMap;
import java.io.File;
import java.io.IOException;
@@ -38,6 +39,8 @@
// delete the output file if they happen to exist
File file = new File(getOutputFile("test1"));
file.delete();
+ file = new File(getOutputFile("test2"));
+ file.delete();
}
private String getOutputFile(String caseName) {
@@ -79,7 +82,7 @@
logger.info("test 1.1 - basic starting/stopping");
logger.info("starting " + plugin1.getIdentifier());
PluginRegistry.startPlugin(plugin1);
- logger.info("stopping " + plugin1.getIdentifier());
+ logger.info("stopping " + plugin1.getIdentifier() + " using plugin object");
PluginRegistry.stopPlugin(plugin1);
// test restarting and starting when already started
@@ -96,41 +99,65 @@
logger.info("stopping " + plugin1.getIdentifier() + " again");
PluginRegistry.stopPlugin(plugin1);
+ logger.info("test 1.4 - restarting then stopping by plugin name");
+ logger.info("starting " + plugin1.getIdentifier());
+ PluginRegistry.startPlugin(plugin1);
+ logger.info("stopping " + plugin1.getIdentifier() + " using plugin name");
+ PluginRegistry.stopPlugin(plugin1.getName());
+
// test starting of an "equal" plugin
- logger.info("test 1.4 - starting of an \"equal\" plugin");
+ logger.info("test 1.5 - starting of an \"equal\" plugin");
logger.info("starting " + plugin1.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1);
logger.info("returned plugin is " + retPlugin.getIdentifier());
logger.info("starting " + plugin2.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2);
logger.info("returned plugin is " + retPlugin.getIdentifier());
- logger.info("stopping " + plugin1.getIdentifier());
- PluginRegistry.stopPlugin(plugin1);
+ logger.info("stopping " + retPlugin.getIdentifier());
+ PluginRegistry.stopPlugin(retPlugin);
// test starting an "equal" plugin after original stopped
- logger.info("test 1.5 - starting an \"equal\" plugin after original stopped");
+ logger.info("test 1.6 - starting an \"equal\" plugin after original stopped");
logger.info("starting " + plugin2.getIdentifier());
- PluginRegistry.startPlugin(plugin2);
- logger.info("stopping " + plugin2.getIdentifier());
- PluginRegistry.stopPlugin(plugin2);
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier());
+ logger.info("stopping " + retPlugin.getIdentifier());
+ PluginRegistry.stopPlugin(retPlugin);
// test starting of an "unequal" plugin with same name
- logger.info("test 1.6 - starting of an \"unequal\" plugin with same name");
+ logger.info("test 1.7 - starting of an \"unequal\" plugin with same name");
logger.info("starting " + plugin1.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1);
logger.info("returned plugin is " + retPlugin.getIdentifier());
logger.info("starting " + plugin3.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin3);
logger.info("returned plugin is " + retPlugin.getIdentifier());
- logger.info("stopping " + plugin3.getIdentifier());
- PluginRegistry.stopPlugin(plugin3);
+ logger.info("stopping " + retPlugin.getIdentifier());
+ PluginRegistry.stopPlugin(retPlugin);
// test starting of multiple plugins and stopAll
- logger.info("test 1.7 - starting of multiple plugins and stopAll");
+ logger.info("test 1.8 - starting of multiple plugins and stopAll");
logger.info("starting " + plugin1.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier());
logger.info("starting " + plugin4.getIdentifier());
retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin4);
+ logger.info("returned plugin is " + retPlugin.getIdentifier());
+ logger.info("stopping all plugins");
+ PluginRegistry.stopAllPlugins();
+ logger.info("stopping all plugins again");
+ PluginRegistry.stopAllPlugins();
+
+ // test starting of multiple plugins and stopAll
+ logger.info("test 1.9 - starting of multiple plugins, stopping, and stopAll");
+ logger.info("starting " + plugin1.getIdentifier());
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier());
+ logger.info("starting " + plugin4.getIdentifier());
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin4);
+ logger.info("returned plugin is " + retPlugin.getIdentifier());
+ logger.info("stopping " + plugin1.getIdentifier() + " using plugin object");
+ PluginRegistry.stopPlugin(plugin1);
logger.info("stopping all plugins");
PluginRegistry.stopAllPlugins();
logger.info("stopping all plugins again");
@@ -139,6 +166,111 @@
assertTrue(Compare.compare(getOutputFile(testName), getWitnessFile(testName)));
}
+ // basic test of plugin with repositories
+ public void test2() throws Exception {
+ String testName = "test2";
+ Logger logger = Logger.getLogger(testName);
+
+ setupAppender(testName);
+
+ PluginTester plugin1 = new PluginTester1("plugin1", 1);
+ PluginTester plugin2 = new PluginTester1("plugin2", 2);
+ PluginTester retPlugin;
+ LoggerRepository repo1 = new Hierarchy(new RootCategory(Level.DEBUG));
+ LoggerRepository repo2 = new Hierarchy(new RootCategory(Level.DEBUG));
+ HashMap repoMap = new HashMap();
+ repoMap.put(repo1, "repository1");
+ repoMap.put(repo2, "repository2");
+
+ logger.info("test 2.1 - starting plugins in multiple repositories");
+ logger.info("starting " + plugin1.getIdentifier() +
+ " in " + repoMap.get(repo1));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1, repo1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("starting " + plugin2.getIdentifier() +
+ " in " + repoMap.get(repo2));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2, repo2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+
+ logger.info("test 2.2 - stopping plugins in multiple repositories");
+ logger.info("stopping " + plugin1.getIdentifier() +
+ " in " + repoMap.get(plugin1.getLoggerRepository()));
+ retPlugin = (PluginTester)PluginRegistry.stopPlugin(plugin1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("stopping " + plugin2.getIdentifier() +
+ " in " + repoMap.get(plugin2.getLoggerRepository()));
+ retPlugin = (PluginTester)PluginRegistry.stopPlugin(plugin2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+
+ logger.info("test 2.3 - restarting plugins in different repositories");
+ logger.info("starting " + plugin1.getIdentifier() +
+ " in " + repoMap.get(repo2));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1, repo2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("starting " + plugin2.getIdentifier() +
+ " in " + repoMap.get(repo1));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2, repo1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+
+ logger.info("test 2.4 - stopping plugins using stopAll");
+ logger.info("stopping all plugins in " + repoMap.get(repo1));
+ PluginRegistry.stopAllPlugins(repo1);
+ logger.info("stopping all plugins in " + repoMap.get(repo2));
+ PluginRegistry.stopAllPlugins(repo2);
+
+ logger.info("test 2.5 - starting a plugin already active in another
repository");
+ logger.info("starting " + plugin1.getIdentifier() +
+ " in " + repoMap.get(repo1));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1, repo1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("starting " + plugin2.getIdentifier() +
+ " in " + repoMap.get(repo2));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2, repo2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("restarting " + plugin1.getIdentifier() +
+ " in " + repoMap.get(repo2));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1, repo2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("restarting " + plugin2.getIdentifier() +
+ " in " + repoMap.get(repo1));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2, repo1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+
+ logger.info("test 2.6 - handle repository reset");
+ logger.info("resetting " + repoMap.get(repo1));
+ repo1.resetConfiguration();
+ logger.info("resetting " + repoMap.get(repo2));
+ repo2.resetConfiguration();
+
+ logger.info("test 2.7 - handle repository shutdown");
+ logger.info("starting " + plugin1.getIdentifier() +
+ " in " + repoMap.get(repo1));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin1, repo1);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("starting " + plugin2.getIdentifier() +
+ " in " + repoMap.get(repo2));
+ retPlugin = (PluginTester)PluginRegistry.startPlugin(plugin2, repo2);
+ logger.info("returned plugin is " + retPlugin.getIdentifier() +
+ " in " + repoMap.get(retPlugin.getLoggerRepository()));
+ logger.info("shutting down " + repoMap.get(repo1));
+ repo1.shutdown();
+ logger.info("shutting down " + repoMap.get(repo2));
+ repo2.shutdown();
+
+ //assertTrue(Compare.compare(getOutputFile(testName),
getWitnessFile(testName)));
+ }
+
/*
System.out.println("creating the sink repository");
LoggerRepository repo1 = new Hierarchy(new RootCategory(Level.DEBUG));
@@ -175,6 +307,7 @@
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new PluginTestCase("test1"));
+ suite.addTest(new PluginTestCase("test2"));
return suite;
}
@@ -190,17 +323,27 @@
// considered equal if same class, same name and same
// repository
public boolean equals(Object obj) {
- if (!(obj.getClass() == this.getClass()))
+ if (!(obj.getClass() == this.getClass())) {
+ logger.debug("plugin not equal, different class: " +
+ this.getClass().getName() + " != " + obj.getClass().getName());
return false;
+ }
Plugin plugin = (PluginTester)obj;
- if (!this.getName().equals(plugin.getName()))
+ if (!this.getName().equals(plugin.getName())) {
+ logger.debug("plugin not equal, different name: " +
+ this.getName() + " != " + plugin.getName());
return false;
+ }
- if (!this.getLoggerRepository().equals(plugin.getLoggerRepository()))
+ if (!this.getLoggerRepository().equals(plugin.getLoggerRepository())) {
+ logger.debug("plugin not equal, different repository: " +
+ this.getLoggerRepository() + " != " + plugin.getLoggerRepository());
return false;
+ }
+ logger.debug("plugin equal");
return true;
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>