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]>

Reply via email to