You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by me...@apache.org on 2014/02/09 14:15:15 UTC

svn commit: r1566293 - in /jspwiki/trunk: ChangeLog jspwiki-war/src/main/java/org/apache/wiki/Release.java jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java

Author: metskem
Date: Sun Feb  9 13:15:15 2014
New Revision: 1566293

URL: http://svn.apache.org/r1566293
Log:
2014-02-09  Harry Metske (metskem@apache.org)
       * 2.10.0-svn-71

       * Fixed JSPWIKI-813 - ReferenceManagerTest - two cases fail, patch by Brian Burch

Modified:
    jspwiki/trunk/ChangeLog
    jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
    jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java
    jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java

Modified: jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/jspwiki/trunk/ChangeLog?rev=1566293&r1=1566292&r2=1566293&view=diff
==============================================================================
--- jspwiki/trunk/ChangeLog (original)
+++ jspwiki/trunk/ChangeLog Sun Feb  9 13:15:15 2014
@@ -1,3 +1,8 @@
+2014-02-09  Harry Metske (metskem@apache.org)
+       * 2.10.0-svn-71
+
+       * Fixed JSPWIKI-813 - ReferenceManagerTest - two cases fail, patch by Brian Burch
+
 2014-02-08  Harry Metske (metskem@apache.org)
        * 2.10.0-svn-70
 

Modified: jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java?rev=1566293&r1=1566292&r2=1566293&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java (original)
+++ jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java Sun Feb  9 13:15:15 2014
@@ -72,7 +72,7 @@ public final class Release {
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "70";
+    public static final String     BUILD         = "71";
     
     /**
      *  This is the generic version string you should use when printing out the version.  It is of 

Modified: jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java?rev=1566293&r1=1566292&r2=1566293&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java (original)
+++ jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/ReferenceManagerTest.java Sun Feb  9 13:15:15 2014
@@ -23,17 +23,19 @@ import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
+import net.sf.ehcache.CacheManager;
+
 import org.apache.wiki.api.exceptions.WikiException;
-import org.apache.wiki.providers.FileSystemProvider;
 
 /**
+ * The ReferenceManager maintains all hyperlinks between wiki pages.
  */
 public class ReferenceManagerTest extends TestCase
 {
     Properties props = TestEngine.getTestProperties();
     TestEngine engine;
     ReferenceManager mgr;
-    
+
     public ReferenceManagerTest( String s )
     {
         super( s );
@@ -44,26 +46,14 @@ public class ReferenceManagerTest extend
     {
         props.setProperty( "jspwiki.translatorReader.matchEnglishPlurals", "true");
 
-        //
-        //  We must make sure that the reference manager cache is cleaned first.
-        //
-        String workDir = props.getProperty( "jspwiki.workDir" );
-
-        if( workDir != null )
-        {
-            File refmgrfile = new File( workDir, "refmgr.ser" );
-            if( refmgrfile.exists() ) refmgrfile.delete();
-        }
+        // make sure that the reference manager cache is cleaned first
+        TestEngine.emptyWorkDir(null);
+        CacheManager.getInstance().removalAll();
 
-        String fileDir = props.getProperty( FileSystemProvider.PROP_PAGEDIR );
-        
-        if( fileDir != null )
-        {
-            TestEngine.deleteAll( new File(fileDir) );
-        }
-        
         engine = new TestEngine(props);
 
+        // create two handy wiki pages used in most test cases
+        // Danger! all wiki page names must start with a capital letter!
         engine.saveText( "TestPage", "Reference to [Foobar]." );
         engine.saveText( "Foobar", "Reference to [Foobar2], [Foobars], [Foobar]" );
 
@@ -73,57 +63,48 @@ public class ReferenceManagerTest extend
     public void tearDown()
         throws Exception
     {
-        engine.deletePage( "TestPage" );
-        engine.deletePage( "Foobar" );
-        engine.deletePage( "Foobars" );
-        engine.deletePage( "Foobar2" );
-        engine.deletePage( "Foobar2s" );
-        engine.deletePage( "BugCommentPreviewDeletesAllComments" );
-        engine.deletePage( "FatalBugs" );
-        engine.deletePage( "RandomPage" );
-        engine.deletePage( "NewBugs" );
-        engine.deletePage( "OpenBug" );
-        engine.deletePage( "OpenBugs" );
-        engine.deletePage( "NewBug" );
-        engine.deletePage( "BugOne" );
-        engine.deletePage( "BugTwo" );
+        // any wiki page that was created must be deleted!
+        TestEngine.emptyWikiDir();
     }
 
     public void testNonExistant1()
         throws Exception
     {
         Collection c = mgr.findReferrers("Foobar2");
-        
+
+        assertNotNull( "referrers expected", c );
         assertTrue( c.size() == 1 && c.contains("Foobar") );
     }
-    
+
     public void testNonExistant2()
     {
         Collection c = mgr.findReferrers("TestBug");
-        
+
         assertNull( c );
     }
-    
+
     public void testRemove()
         throws Exception
     {
         Collection c = mgr.findReferrers("Foobar2");
-        
+
+        assertNotNull( "referrers expected", c );
         assertTrue( c.size() == 1 && c.contains("Foobar") );
 
         engine.deletePage( "Foobar" );
-        
+
         c = mgr.findReferrers("Foobar2");
-        
+
         assertNull( c );
-        
+
         engine.saveText( "Foobar", "[Foobar2]");
-        
+
         c = mgr.findReferrers("Foobar2");
-        
-        assertTrue( c.size() == 1 && c.contains("Foobar") );        
+
+        assertNotNull( "referrers expected", c );
+        assertTrue( c.size() == 1 && c.contains("Foobar") );
     }
-    
+
     public void testUnreferenced()
         throws Exception
     {
@@ -154,7 +135,7 @@ public class ReferenceManagerTest extend
         throws Exception
     {
         Collection c = mgr.findUncreated();
-        
+
         assertTrue( c.size()==1 && ((String) c.iterator().next()).equals("Foobar2") );
     }
 
@@ -165,12 +146,15 @@ public class ReferenceManagerTest extend
         assertNull( "TestPage referrers", c );
 
         c = mgr.findReferrers( "Foobar" );
+        assertNotNull( "referrers expected", c );
         assertTrue( "Foobar referrers", c.size()==2  );
 
         c = mgr.findReferrers( "Foobar2" );
+        assertNotNull( "referrers expected", c );
         assertTrue( "Foobar2 referrers", c.size()==1 && ((String) c.iterator().next()).equals("Foobar") );
 
         c = mgr.findReferrers( "Foobars" );
+        assertNotNull( "referrers expected", c );
         assertEquals( "Foobars referrers", 2, c.size() );
         //assertEquals( "Foobars referrer 'TestPage'", "TestPage", (String) c.iterator().next() );
     }
@@ -179,12 +163,12 @@ public class ReferenceManagerTest extend
         throws Exception
     {
         Collection s = mgr.findRefersTo( "Foobar" );
-        
+
         assertTrue( "does not have Foobar", s.contains("Foobar") );
         // assertTrue( "does not have Foobars", s.contains("Foobars") );
         assertTrue( "does not have Foobar2", s.contains("Foobar2") );
     }
-    
+
     /**
      *  Should fail in 2.2.14-beta
      * @throws Exception
@@ -195,13 +179,14 @@ public class ReferenceManagerTest extend
         engine.saveText( "RandomPage", "FatalBugs" );
         engine.saveText( "FatalBugs", "<foo>" );
         engine.saveText( "BugCommentPreviewDeletesAllComments", "FatalBug" );
-        
+
         Collection c = mgr.findReferrers( "FatalBugs" );
-        
+
+        assertNotNull( "referrers expected", c );
         assertEquals( "FatalBugs referrers number", 2, c.size()  );
     }
 
-    /** 
+    /**
      *  Is a page recognized as referenced if only plural form links exist.
      */
 
@@ -216,14 +201,15 @@ public class ReferenceManagerTest extend
         assertTrue( "Foobar unreferenced", c.size()==1 && ((String) c.iterator().next()).equals("TestPage") );
 
         c = mgr.findReferrers( "Foobar" );
+        assertNotNull( "referrers expected", c );
         Iterator it = c.iterator();
         String s1 = (String)it.next();
-        assertTrue( "Foobar referrers", 
+        assertTrue( "Foobar referrers",
                     c.size()==2 );
     }
 
 
-    /** 
+    /**
      *  Opposite to testUpdatePluralOnlyRef(). Is a page with plural form recognized as
      *  the page referenced by a singular link.
      */
@@ -235,6 +221,7 @@ public class ReferenceManagerTest extend
         assertTrue( "no uncreated", mgr.findUncreated().size()==0 );
 
         Collection c = mgr.findReferrers( "Foobar2s" );
+        assertNotNull( "referrers expected", c );
         assertTrue( "referrers", c!=null && c.size()==1 && ((String) c.iterator().next()).equals("Foobar") );
     }
 
@@ -243,6 +230,7 @@ public class ReferenceManagerTest extend
     {
         engine.saveText( "Foobars", "qwertz" );
         Collection c = mgr.findReferrers( "Foobars" );
+        assertNotNull( "referrers expected", c );
         assertEquals( "Foobars referrers", 2, c.size() );
         assertTrue( "Foobars referrer is not TestPage", c.contains( "TestPage" ) && c.contains("Foobar"));
     }
@@ -252,14 +240,15 @@ public class ReferenceManagerTest extend
     {
         engine.saveText( "Foobars", "qwertz" );
         engine.saveText( "TestPage", "Reference to [Foobar], [Foobars]." );
-        
+
         Collection c = mgr.findReferrers( "Foobars" );
+        assertNotNull( "referrers expected", c );
         assertEquals( "Foobars referrers count", 2, c.size() );
 
         Iterator i = c.iterator();
         String first = (String) i.next();
 
-        assertTrue( "Foobars referrers", 
+        assertTrue( "Foobars referrers",
                     c.contains("TestPage") && c.contains("Foobar"));
     }
 
@@ -267,7 +256,7 @@ public class ReferenceManagerTest extend
         throws Exception
     {
         engine.saveText( "Foobar2", "ref to [TestPage]" );
-        
+
         assertTrue( "no uncreated", mgr.findUncreated().size()==0 );
         assertTrue( "no unreferenced", mgr.findUnreferenced().size()==0 );
     }
@@ -278,9 +267,9 @@ public class ReferenceManagerTest extend
         engine.saveText( "BugOne", "NewBug" );
         engine.saveText( "NewBugs", "foo" );
         engine.saveText( "OpenBugs", "bar" );
-        
+
         engine.saveText( "BugOne", "OpenBug" );
-        
+
         Collection ref = mgr.findReferrers( "NewBugs" );
         assertNull("newbugs",ref); // No referrers must be found
 
@@ -288,10 +277,12 @@ public class ReferenceManagerTest extend
         assertNull("newbug",ref); // No referrers must be found
 
         ref = mgr.findReferrers( "OpenBugs" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbugs",1,ref.size());
         assertEquals("openbugs2","BugOne",ref.iterator().next());
 
         ref = mgr.findReferrers( "OpenBug" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbug",1,ref.size());
         assertEquals("openbug2","BugOne",ref.iterator().next());
 
@@ -303,9 +294,9 @@ public class ReferenceManagerTest extend
         engine.saveText( "BugOne", "NewBug" );
         engine.saveText( "NewBug", "foo" );
         engine.saveText( "OpenBug", "bar" );
-    
+
         engine.saveText( "BugOne", "OpenBug" );
-    
+
         Collection ref = mgr.findReferrers( "NewBugs" );
         assertNull("newbugs",ref); // No referrers must be found
 
@@ -313,10 +304,12 @@ public class ReferenceManagerTest extend
         assertNull("newbug",ref); // No referrers must be found
 
         ref = mgr.findReferrers( "OpenBugs" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbugs",1,ref.size());
         assertEquals("openbugs2","BugOne",ref.iterator().next());
 
         ref = mgr.findReferrers( "OpenBug" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbug",1,ref.size());
         assertEquals("openbug2","BugOne",ref.iterator().next());
 
@@ -329,22 +322,26 @@ public class ReferenceManagerTest extend
         engine.saveText( "BugTwo", "NewBug" );
         engine.saveText( "NewBugs", "foo" );
         engine.saveText( "OpenBugs", "bar" );
-    
+
         engine.saveText( "BugOne", "OpenBug" );
-    
+
         Collection ref = mgr.findReferrers( "NewBugs" );
-        assertEquals("newbugs",1,ref.size()); 
-        assertEquals("newbugs2","BugTwo",ref.iterator().next()); 
+        assertNotNull("referrers expected", ref);
+        assertEquals("newbugs",1,ref.size());
+        assertEquals("newbugs2","BugTwo",ref.iterator().next());
 
         ref = mgr.findReferrers( "NewBug" );
-        assertEquals("newbugs",1,ref.size()); 
-        assertEquals("newbugs2","BugTwo",ref.iterator().next()); 
+        assertNotNull("referrers expected", ref);
+        assertEquals("newbugs",1,ref.size());
+        assertEquals("newbugs2","BugTwo",ref.iterator().next());
 
         ref = mgr.findReferrers( "OpenBugs" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbugs",1,ref.size());
         assertEquals("openbugs2","BugOne",ref.iterator().next());
 
         ref = mgr.findReferrers( "OpenBug" );
+        assertNotNull("referrers expected", ref);
         assertEquals("openbug",1,ref.size());
         assertEquals("openbug2","BugOne",ref.iterator().next());
 
@@ -354,21 +351,22 @@ public class ReferenceManagerTest extend
     {
         engine.saveText( "BugOne", "BugOne" );
         Collection ref = mgr.findReferrers( "BugOne" );
+        assertNotNull("referrers expected", ref);
         assertEquals("wrong size",1,ref.size());
         assertEquals("ref", "BugOne", ref.iterator().next());
     }
-    
+
     public static Test suite()
     {
         return new TestSuite( ReferenceManagerTest.class );
     }
-    
+
     public static void main(String[] args)
     {
         junit.textui.TestRunner.main( new String[] { ReferenceManagerTest.class.getName() } );
     }
-    
-    
+
+
     /**
      * Test method: dumps the contents of  ReferenceManager link lists to stdout.
      * This method is NOT synchronized, and should be used in testing
@@ -396,8 +394,8 @@ public class ReferenceManagerTest extend
                 }
                 buf.append( "\n" );
             }
-            
-            
+
+
             buf.append( "----------------------------------------------------------------\n" );
             buf.append( "Refers To list:\n" );
             keys = rm.getRefersTo().keySet();
@@ -426,7 +424,7 @@ public class ReferenceManagerTest extend
         {
             buf.append("Problem in dump(): " + e + "\n" );
         }
-        
+
         return( buf.toString() );
     }
 

Modified: jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java?rev=1566293&r1=1566292&r2=1566293&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java (original)
+++ jspwiki/trunk/jspwiki-war/src/test/java/org/apache/wiki/TestEngine.java Sun Feb  9 13:15:15 2014
@@ -1,4 +1,4 @@
-/* 
+/*
     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -14,7 +14,7 @@
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
-    under the License.  
+    under the License.
  */
 
 package org.apache.wiki;
@@ -69,7 +69,7 @@ public class TestEngine extends WikiEngi
      * Creates WikiSession with the privileges of the administrative user.
      * For testing purposes, obviously.
      * @return the wiki session
-     * @throws WikiSecurityException 
+     * @throws WikiSecurityException
      */
     public WikiSession adminSession() throws WikiSecurityException
     {
@@ -105,7 +105,7 @@ public class TestEngine extends WikiEngi
      * Creates WikiSession with the privileges of the Janne.
      * For testing purposes, obviously.
      * @return the wiki session
-     * @throws WikiSecurityException 
+     * @throws WikiSecurityException
      */
     public WikiSession janneSession() throws WikiSecurityException
     {
@@ -125,12 +125,12 @@ public class TestEngine extends WikiEngi
         throws WikiException
     {
         super( new MockServletContext( "test" ), "test", cleanTestProps( props ) );
-        
+
         // Stash the WikiEngine in the servlet context
         ServletContext servletContext = this.getServletContext();
         servletContext.setAttribute("org.apache.wiki.WikiEngine", this);
     }
-    
+
     /**
      * Creates a correctly-instantiated mock HttpServletRequest with an associated
      * HttpSession.
@@ -175,6 +175,25 @@ public class TestEngine extends WikiEngi
         }
     }
 
+    public static void emptyWikiDir() {
+        emptyWikiDir( null );
+    }
+
+    public static void emptyWikiDir(Properties properties) {
+        if (properties == null) {
+            properties = getTestProperties();
+        }
+
+        String wikidir = properties.getProperty( AbstractFileProvider.PROP_PAGEDIR );
+        if ( wikidir != null ) {
+            File f = new File( wikidir );
+
+            if (f.exists() && f.isDirectory()) {
+                deleteAll( f );
+            }
+        }
+    }
+
     public static final Properties getTestProperties() {
         if (combinedProperties == null) {
             combinedProperties = PropertyReader.getCombinedProperties(PropertyReader.CUSTOM_JSPWIKI_CONFIG);
@@ -269,7 +288,7 @@ public class TestEngine extends WikiEngi
 
             if( f.exists() )
                 f.delete();
-            
+
             deleteAttachments( name );
             firePageEvent( WikiPageEvent.PAGE_DELETED, name );
         }
@@ -383,7 +402,7 @@ public class TestEngine extends WikiEngi
             e.printStackTrace();
         }
     }
-    
+
     /**
      * Supplies a clean set of test properties for the TestEngine constructor.
      * @param props the properties supplied by callers