You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ja...@apache.org on 2009/11/29 13:32:22 UTC
svn commit: r885221 -
/incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java
Author: jalkanen
Date: Sun Nov 29 12:32:21 2009
New Revision: 885221
URL: http://svn.apache.org/viewvc?rev=885221&view=rev
Log:
Adding a bunch of unit tests to improve coverage around versioning.
Modified:
incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java
Modified: incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java?rev=885221&r1=885220&r2=885221&view=diff
==============================================================================
--- incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java (original)
+++ incubator/jspwiki/trunk/tests/java/org/apache/wiki/content/ContentManagerTest.java Sun Nov 29 12:32:21 2009
@@ -22,6 +22,7 @@
package org.apache.wiki.content;
import java.util.Collection;
+import java.util.List;
import java.util.Properties;
import junit.framework.Test;
@@ -34,6 +35,8 @@
import org.apache.wiki.api.WikiPage;
import org.apache.wiki.providers.ProviderException;
+import stress.Benchmark;
+
public class ContentManagerTest extends TestCase
{
@@ -224,8 +227,15 @@
{
WikiPage p = m_mgr.addPage( WikiPath.valueOf( "TestPage" ), ContentManager.JSPWIKI_CONTENT_TYPE );
+ Benchmark b = new Benchmark();
+ b.start();
+
storeVersions( p, 100 );
+ b.stop();
+
+ System.out.println( "100 versions stored in "+b+", "+b.toString( 100 ) + " stores/second");
+
p = m_engine.getPage( "TestPage", 100 );
assertEquals( "content 100","Test 100", p.getContentAsString() );
assertEquals( "version 100", 100, p.getVersion() );
@@ -239,6 +249,94 @@
assertEquals( "version 51", 51, p.getVersion() );
}
+ public void testDeleteLastVersion() throws Exception
+ {
+ WikiPage p = m_engine.createPage("TestPage");
+
+ storeVersions( p, 3 );
+
+ WikiPage current = m_engine.getPage( "TestPage" );
+
+ assertEquals( current.getVersion(), 3 );
+
+ m_engine.deleteVersion( current );
+
+ assertFalse( m_engine.pageExists( "TestPage", 3 ));
+
+ current = m_engine.getPage("TestPage");
+
+ assertEquals( current.getVersion(), 2 );
+
+ try
+ {
+ m_engine.getPage("TestPage",3);
+ fail("Got v3");
+ }
+ catch(PageNotFoundException e) {}
+ }
+
+ public void testDeleteInTheMiddle() throws Exception
+ {
+ WikiPage p = m_engine.createPage("TestPage");
+
+ storeVersions( p, 3 );
+
+ WikiPage current = m_engine.getPage( "TestPage", 2 );
+
+ assertEquals( current.getVersion(), 2 );
+
+ m_engine.deleteVersion( current );
+
+ assertFalse( m_engine.pageExists( "TestPage", 2 ));
+
+ current = m_engine.getPage("TestPage");
+
+ assertEquals( current.getVersion(), 3 );
+
+ try
+ {
+ m_engine.getPage("TestPage",2);
+ fail("Got v2");
+ }
+ catch(PageNotFoundException e) {}
+
+ List<WikiPage> vh = m_engine.getVersionHistory( "TestPage" );
+ assertEquals( 2, vh.size() );
+ assertEquals( 1, vh.get(0).getVersion() );
+ assertEquals( 3, vh.get(1).getVersion() );
+ }
+
+ public void testDeleteFirst() throws Exception
+ {
+ WikiPage p = m_engine.createPage("TestPage");
+
+ storeVersions( p, 3 );
+
+ WikiPage current = m_engine.getPage( "TestPage", 1 );
+
+ assertEquals( current.getVersion(), 1 );
+
+ m_engine.deleteVersion( current );
+
+ assertFalse( m_engine.pageExists( "TestPage", 1 ));
+
+ current = m_engine.getPage("TestPage");
+
+ assertEquals( current.getVersion(), 3 );
+
+ try
+ {
+ m_engine.getPage("TestPage",1);
+ fail("Got v1");
+ }
+ catch(PageNotFoundException e) {}
+
+ List<WikiPage> vh = m_engine.getVersionHistory( "TestPage" );
+ assertEquals( 2, vh.size() );
+ assertEquals( 2, vh.get(0).getVersion() );
+ assertEquals( 3, vh.get(1).getVersion() );
+ }
+
public void testDeleteAllVersions() throws Exception
{
WikiPage p = m_engine.createPage( "TestPage" );
@@ -250,14 +348,24 @@
p = m_engine.getPage( "TestPage", i );
m_engine.deleteVersion( p );
+
+ assertFalse( "exists "+i, m_engine.pageExists( "TestPage", i ) );
+
+ try
+ {
+ p = m_engine.getPage( "TestPage", i );
+ fail("Didn't get exception for "+i);
+ }
+ catch( PageNotFoundException e ) {} // Expected
+
}
assertFalse( m_engine.pageExists( "TestPage" ) );
try
{
- m_engine.getPage( "TestPage" );
- fail("Didn't get exception!");
+ p = m_engine.getPage( "TestPage" );
+ fail("Didn't get exception for the whole page");
}
catch( PageNotFoundException e ) {} // Expected
}