You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2021/11/15 14:24:01 UTC
[jspwiki] 11/14: Speed up tests by reusing the same TestEngine
This is an automated email from the ASF dual-hosted git repository.
juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit 598c59c4690e5d8c4fb40d9616eb6e066cdcfa67
Author: Juan Pablo Santos RodrÃguez <ju...@gmail.com>
AuthorDate: Mon Nov 15 15:19:03 2021 +0100
Speed up tests by reusing the same TestEngine
---
.../test/java/org/apache/wiki/WikiSessionTest.java | 81 +++++++------------
.../org/apache/wiki/plugin/CounterPluginTest.java | 2 +-
.../wiki/plugin/DefaultPluginManagerTest.java | 11 ++-
.../java/org/apache/wiki/plugin/GroupsTest.java | 2 +-
.../java/org/apache/wiki/plugin/IfPluginTest.java | 16 ++--
.../org/apache/wiki/plugin/InsertPageTest.java | 24 ++----
.../org/apache/wiki/plugin/PageViewPluginTest.java | 28 ++-----
.../wiki/plugin/RecentChangesPluginTest.java | 12 +--
.../wiki/plugin/ReferringPagesPluginTest.java | 91 +++++++++-------------
.../plugin/ReferringUndefinedPagesPluginTest.java | 86 ++++++++++----------
.../wiki/plugin/UndefinedPagesPluginTest.java | 23 +++---
.../org/apache/wiki/plugin/WeblogPluginTest.java | 2 +-
12 files changed, 153 insertions(+), 225 deletions(-)
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java b/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
index 6a810ca..e40fad2 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/WikiSessionTest.java
@@ -35,7 +35,6 @@ import org.apache.wiki.auth.login.CookieAssertionLoginModule;
import org.apache.wiki.auth.login.CookieAuthenticationLoginModule;
import org.apache.wiki.ui.WikiServletFilter;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import javax.servlet.Filter;
@@ -53,21 +52,13 @@ import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
-public class WikiSessionTest
-{
- private TestEngine m_engine = null;
+public class WikiSessionTest {
- @BeforeEach
- public void setUp() throws Exception
- {
- final Properties props = TestEngine.getTestProperties();
- m_engine = new TestEngine( props );
- }
+ private static TestEngine m_engine = TestEngine.build();
@Test
- public void testRoles() throws Exception
- {
+ public void testRoles() throws Exception {
Session session;
Principal[] principals;
@@ -191,10 +182,9 @@ public class WikiSessionTest
}
@Test
- public void testAuthenticationCookieWhenOn() throws WikiException, ServletException, IOException
- {
+ public void testAuthenticationCookieWhenOn() throws WikiException, ServletException, IOException {
final Properties props = TestEngine.getTestProperties();
- props.setProperty( AuthenticationManager.PROP_ALLOW_COOKIE_AUTH, "true");
+ props.setProperty( AuthenticationManager.PROP_ALLOW_COOKIE_AUTH, "true" );
m_engine = new TestEngine( props );
final MockHttpServletRequest request;
@@ -211,10 +201,10 @@ public class WikiSessionTest
request = m_engine.newHttpRequest();
request.setUserPrincipal( null );
request.setCookies( new Cookie[] { new Cookie( "JSPWikiUID", uid ) } );
- runSecurityFilter(m_engine, request);
+ runSecurityFilter( m_engine, request );
wikiSession = Wiki.session().find( m_engine, request );
- Assertions.assertFalse( wikiSession.isAnonymous());
- Assertions.assertTrue( wikiSession.isAuthenticated());
+ Assertions.assertFalse( wikiSession.isAnonymous() );
+ Assertions.assertTrue( wikiSession.isAuthenticated() );
Assertions.assertEquals( "Fred Flintstone", wikiSession.getUserPrincipal().getName() );
// Clear the authentication cookie
@@ -226,10 +216,9 @@ public class WikiSessionTest
* Creates an anonymous user session.
* @param engine the wiki engine
* @return the new session
- * @throws Exception
+ * @throws Exception session not anonymous.
*/
- public static Session anonymousSession( final TestEngine engine ) throws Exception
- {
+ public static Session anonymousSession( final TestEngine engine ) throws Exception {
// Build anon session
final MockHttpServletRequest request = engine.newHttpRequest();
@@ -238,8 +227,7 @@ public class WikiSessionTest
// Make sure the user is actually anonymous
final Session session = Wiki.session().find( engine, request );
- if ( !session.isAnonymous() )
- {
+ if ( !session.isAnonymous() ) {
throw new IllegalStateException( "Session is not anonymous." );
}
return session;
@@ -250,20 +238,17 @@ public class WikiSessionTest
return assertedSession( engine, name, new Principal[0] );
}
- public static Session assertedSession( final TestEngine engine, final String name, final Principal[] roles ) throws Exception
- {
+ public static Session assertedSession( final TestEngine engine, final String name, final Principal[] roles ) throws Exception {
// We can use cookies right?
- if ( !engine.getManager( AuthenticationManager.class ).allowsCookieAssertions() )
- {
+ if ( !engine.getManager( AuthenticationManager.class ).allowsCookieAssertions() ) {
throw new IllegalStateException( "Couldn't set up asserted user: login config doesn't allow cookies." );
}
// Build anon session
final MockHttpServletRequest request = engine.newHttpRequest();
final Set<String> r = new HashSet<>();
- for ( int i = 0; i < roles.length; i++ )
- {
- r.add( roles[i].getName() );
+ for( final Principal role : roles ) {
+ r.add( role.getName() );
}
request.setRoles( r );
@@ -278,13 +263,11 @@ public class WikiSessionTest
return Wiki.session().find( engine, request );
}
- public static Session adminSession( final TestEngine engine ) throws Exception
- {
+ public static Session adminSession( final TestEngine engine ) throws Exception {
return authenticatedSession( engine, Users.ADMIN, Users.ADMIN_PASS );
}
- public static Session authenticatedSession( final TestEngine engine, final String id, final String password ) throws Exception
- {
+ public static Session authenticatedSession( final TestEngine engine, final String id, final String password ) throws Exception {
// Build anon session
final MockHttpServletRequest request = engine.newHttpRequest();
@@ -296,21 +279,18 @@ public class WikiSessionTest
engine.getManager( AuthenticationManager.class ).login( session, request, id, password );
// Make sure the user is actually authenticated
- if ( !session.isAuthenticated() )
- {
+ if ( !session.isAuthenticated() ) {
throw new IllegalStateException( "Could not log in authenticated user '" + id + "'" );
}
return session;
}
- public static Session containerAuthenticatedSession( final TestEngine engine, final String id, final Principal[] roles ) throws Exception
- {
+ public static Session containerAuthenticatedSession( final TestEngine engine, final String id, final Principal[] roles ) throws Exception {
// Build container session
final MockHttpServletRequest request = engine.newHttpRequest();
final Set<String> r = new HashSet<>();
- for ( int i = 0; i < roles.length; i++ )
- {
- r.add( roles[i].getName() );
+ for( final Principal role : roles ) {
+ r.add( role.getName() );
}
request.setRoles( r );
request.setUserPrincipal( new WikiPrincipal( id ) );
@@ -320,8 +300,7 @@ public class WikiSessionTest
// Make sure the user is actually authenticated
final Session session = Wiki.session().find( engine, request );
- if ( !session.isAuthenticated() )
- {
+ if ( !session.isAuthenticated() ) {
throw new IllegalStateException( "Could not log in authenticated user '" + id + "'" );
}
return session;
@@ -330,13 +309,13 @@ public class WikiSessionTest
/**
* "Scaffolding" method that runs the session security filter on a mock request. We do this by creating a
* complete mock servlet context and filter chain, and running the request through it.
+ *
* @param engine the wiki engine
* @param request the mock request to pass itnto the
- * @throws ServletException
- * @throws IOException
+ * @throws ServletException error building servlet context or running the request through it
+ * @throws IOException error building servlet context or running the request through it
*/
- private static void runSecurityFilter( final WikiEngine engine, final HttpServletRequest request) throws ServletException, IOException
- {
+ private static void runSecurityFilter( final WikiEngine engine, final HttpServletRequest request) throws ServletException, IOException {
// Create a mock servlet context and stash the wiki engine in it
final ServletContext servletCtx = new MockServletContext( "JSPWiki" );
servletCtx.setAttribute( "org.apache.wiki.WikiEngine", engine );
@@ -356,8 +335,7 @@ public class WikiSessionTest
filter.doFilter(request, null, chain );
}
- private static class MockServlet implements Servlet
- {
+ private static class MockServlet implements Servlet {
private ServletConfig m_config;
@Override
@@ -376,12 +354,13 @@ public class WikiSessionTest
}
@Override
- public void init( final ServletConfig config ) throws ServletException {
+ public void init( final ServletConfig config ) {
m_config = config;
}
@Override
- public void service( final ServletRequest request, final ServletResponse response ) throws ServletException, IOException {}
+ public void service( final ServletRequest request, final ServletResponse response ) {}
+
}
}
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java
index c754690..36f25fc 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/CounterPluginTest.java
@@ -34,7 +34,7 @@ import java.io.StringReader;
public class CounterPluginTest {
- TestEngine testEngine = TestEngine.build();
+ static TestEngine testEngine = TestEngine.build();
private String translate( final String src ) throws IOException {
final Context context = Wiki.context().create( testEngine, Wiki.contents().page(testEngine, "TestPage") );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java
index 0db4b27..fd68790 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/DefaultPluginManagerTest.java
@@ -20,8 +20,7 @@
package org.apache.wiki.plugin;
import org.apache.wiki.TestEngine;
-import org.apache.wiki.WikiContext;
-import org.apache.wiki.WikiEngine;
+import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.core.Engine;
import org.apache.wiki.api.exceptions.ProviderException;
import org.apache.wiki.api.spi.Wiki;
@@ -36,15 +35,15 @@ import java.util.Properties;
public class DefaultPluginManagerTest {
+ static Engine engine = TestEngine.build();
+ static PluginManager manager = engine.getManager( PluginManager.class );
Properties props = TestEngine.getTestProperties();
- WikiEngine engine = TestEngine.build();
- DefaultPluginManager manager = new DefaultPluginManager( engine, props );
- WikiContext context;
+ Context context;
@BeforeEach
public void setUp() throws Exception {
- context = new WikiContext( engine, Wiki.contents().page(engine, "Testpage") );
+ context = Wiki.context().create( engine, Wiki.contents().page(engine, "Testpage") );
}
@AfterEach
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/GroupsTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/GroupsTest.java
index 104c1ed..bfc2073 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/GroupsTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/GroupsTest.java
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test;
public class GroupsTest {
- TestEngine testEngine = TestEngine.build();
+ static TestEngine testEngine = TestEngine.build();
@AfterEach
public void tearDown() throws Exception {
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/IfPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/IfPluginTest.java
index f737cbe..bc080da 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/IfPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/IfPluginTest.java
@@ -22,10 +22,12 @@ import net.sourceforge.stripes.mock.MockHttpServletRequest;
import org.apache.wiki.TestEngine;
import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiSession;
+import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.core.Page;
import org.apache.wiki.api.core.Session;
import org.apache.wiki.api.exceptions.WikiException;
import org.apache.wiki.api.providers.PageProvider;
+import org.apache.wiki.api.spi.Wiki;
import org.apache.wiki.auth.AuthenticationManager;
import org.apache.wiki.auth.Users;
import org.apache.wiki.pages.PageManager;
@@ -36,7 +38,7 @@ import org.junit.jupiter.api.Test;
public class IfPluginTest {
- TestEngine testEngine = TestEngine.build();
+ static TestEngine testEngine = TestEngine.build();
@AfterEach
public void tearDown() throws Exception {
@@ -50,11 +52,11 @@ public class IfPluginTest {
* @return {@link WikiContext} associated to given {@link Page}.
* @throws WikiException problems while logging in.
*/
- WikiContext getJanneBasedWikiContextFor( final Page page ) throws WikiException {
+ Context getJanneBasedWikiContextFor( final Page page ) throws WikiException {
final MockHttpServletRequest request = testEngine.newHttpRequest();
final Session session = WikiSession.getWikiSession( testEngine, request );
testEngine.getManager( AuthenticationManager.class ).login( session, request, Users.JANNE, Users.JANNE_PASS );
- return new WikiContext( testEngine, request, page );
+ return Wiki.context().create( testEngine, request, page );
}
/**
@@ -70,7 +72,7 @@ public class IfPluginTest {
testEngine.saveText( "Test", src );
final Page page = testEngine.getManager( PageManager.class ).getPage( "Test", PageProvider.LATEST_VERSION );
- final WikiContext context = getJanneBasedWikiContextFor( page );
+ final Context context = getJanneBasedWikiContextFor( page );
final String res = testEngine.getManager( RenderingManager.class ).getHTML( context, page );
Assertions.assertEquals( expected, res );
@@ -89,7 +91,7 @@ public class IfPluginTest {
testEngine.saveText( "Test", src );
final Page page = testEngine.getManager( PageManager.class ).getPage( "Test", PageProvider.LATEST_VERSION );
- final WikiContext context = getJanneBasedWikiContextFor( page );
+ final Context context = getJanneBasedWikiContextFor( page );
final String res = testEngine.getManager( RenderingManager.class ).getHTML( context, page );
Assertions.assertEquals( expected, res );
@@ -107,7 +109,7 @@ public class IfPluginTest {
testEngine.saveText( "Test", src );
final Page page = testEngine.getManager( PageManager.class ).getPage( "Test", PageProvider.LATEST_VERSION );
- final WikiContext context = getJanneBasedWikiContextFor( page );
+ final Context context = getJanneBasedWikiContextFor( page );
final String res = testEngine.getManager( RenderingManager.class ).getHTML( context, page );
Assertions.assertEquals( expected, res );
@@ -125,7 +127,7 @@ public class IfPluginTest {
testEngine.saveText( "Test", src );
final Page page = testEngine.getManager( PageManager.class ).getPage( "Test", PageProvider.LATEST_VERSION );
- final WikiContext context = getJanneBasedWikiContextFor( page );
+ final Context context = getJanneBasedWikiContextFor( page );
final String res = testEngine.getManager( RenderingManager.class ).getHTML( context, page );
Assertions.assertEquals( expected, res );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
index a82aa3a..9082c4b 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
@@ -22,22 +22,12 @@ import org.apache.wiki.TestEngine;
import org.apache.wiki.render.RenderingManager;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import java.util.Properties;
+public class InsertPageTest {
-public class InsertPageTest
-{
- protected TestEngine testEngine;
- Properties props = TestEngine.getTestProperties();
-
- @BeforeEach
- public void setUp() throws Exception
- {
- testEngine = new TestEngine(props);
- }
+ static protected TestEngine testEngine = TestEngine.build();
@AfterEach
public void tearDown() throws Exception
@@ -56,10 +46,9 @@ public class InsertPageTest
testEngine.saveText("ThisPage",src);
- // Just check that it contains a proper error message; don't bother do HTML
- // checking.
+ // Just check that it contains a proper error message; don't bother do HTML checking.
final String res = testEngine.getManager( RenderingManager.class ).getHTML("ThisPage");
- Assertions.assertTrue( res.indexOf("Circular reference") != -1 );
+ Assertions.assertTrue( res.contains( "Circular reference" ) );
}
@Test
@@ -71,9 +60,8 @@ public class InsertPageTest
testEngine.saveText("ThisPage",src);
testEngine.saveText("ThisPage2",src2);
- // Just check that it contains a proper error message; don't bother do HTML
- // checking.
- Assertions.assertTrue( testEngine.getManager( RenderingManager.class ).getHTML("ThisPage").indexOf("Circular reference") != -1 );
+ // Just check that it contains a proper error message; don't bother do HTML checking.
+ Assertions.assertTrue( testEngine.getManager( RenderingManager.class ).getHTML( "ThisPage" ).contains( "Circular reference" ) );
}
@Test
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/PageViewPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/PageViewPluginTest.java
index f015842..ca69ef9 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/PageViewPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/PageViewPluginTest.java
@@ -18,9 +18,7 @@
*/
package org.apache.wiki.plugin;
-import net.sf.ehcache.CacheManager;
import org.apache.wiki.TestEngine;
-import org.apache.wiki.WikiContext;
import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.core.Page;
import org.apache.wiki.api.spi.Wiki;
@@ -31,34 +29,21 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import java.util.Properties;
+import static org.apache.wiki.TestEngine.with;
-public class PageViewPluginTest
-{
- Properties props = TestEngine.getTestProperties();
+public class PageViewPluginTest {
- TestEngine testEngine;
-
- WikiContext context;
-
- PluginManager manager;
+ TestEngine testEngine = TestEngine.build( with( "jspwiki.usePageCache", "false" ) );
@BeforeEach
- public void setUp() throws Exception
- {
- CacheManager.getInstance().removeAllCaches();
- testEngine = new TestEngine( props );
-
+ public void setUp() throws Exception {
// create pages that should be counted
testEngine.saveText( "TestPage01", "this is test page 01 [{PageViewPlugin}]" );
testEngine.saveText( "TestPage02", "this is test page 02 [{PageViewPlugin}]" );
-
- manager = new DefaultPluginManager( testEngine, props );
}
@AfterEach
- public void tearDown()
- {
+ public void tearDown() {
testEngine.deleteTestPage( "TestPage01" );
testEngine.deleteTestPage( "TestPage02" );
testEngine.deleteTestPage( "PageViews" );
@@ -66,8 +51,7 @@ public class PageViewPluginTest
}
@Test
- public void testShowCountsBasic() throws Exception
- {
+ public void testShowCountsBasic() throws Exception {
final Page page1 = testEngine.getManager( PageManager.class ).getPage( "TestPage01" );
final Context context1 = Wiki.context().create( testEngine, page1 );
final Page page2 = testEngine.getManager( PageManager.class ).getPage( "TestPage02" );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java
index 6a8506b..69cffae 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/RecentChangesPluginTest.java
@@ -19,7 +19,6 @@ under the License.
package org.apache.wiki.plugin;
-import net.sf.ehcache.CacheManager;
import org.apache.wiki.TestEngine;
import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.spi.Wiki;
@@ -28,12 +27,11 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import java.util.Properties;
+import static org.apache.wiki.TestEngine.with;
public class RecentChangesPluginTest {
- Properties props = TestEngine.getTestProperties();
- TestEngine testEngine = TestEngine.build( props );
- PluginManager manager = new DefaultPluginManager(testEngine, props);
+ static TestEngine testEngine = TestEngine.build( with( "jspwiki.usePageCache", "false" ) );
+ static PluginManager manager = testEngine.getManager( PluginManager.class );
Context context;
@@ -53,7 +51,6 @@ public class RecentChangesPluginTest {
testEngine.deleteTestPage("TestPage04");
TestEngine.emptyWorkDir();
- CacheManager.getInstance().removeAllCaches();
}
/**
@@ -101,8 +98,7 @@ public class RecentChangesPluginTest {
public void testParmExClude() throws Exception {
context = Wiki.context().create(testEngine, Wiki.contents().page(testEngine, "TestPage03"));
- final String res = manager.execute( context,
- "{INSERT org.apache.wiki.plugin.RecentChangesPlugin exclude='TestPage03*'}" );
+ final String res = manager.execute( context, "{INSERT org.apache.wiki.plugin.RecentChangesPlugin exclude='TestPage03*'}" );
Assertions.assertTrue(res.contains("<table class=\"recentchanges\" cellpadding=\"4\">"));
Assertions.assertTrue(res.contains("<a href=\"/test/Wiki.jsp?page=TestPage01\">Test Page 01</a>"));
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java
index 1512cbf..4cde715 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringPagesPluginTest.java
@@ -20,7 +20,6 @@
package org.apache.wiki.plugin;
import org.apache.wiki.TestEngine;
-import org.apache.wiki.WikiContext;
import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.exceptions.PluginException;
import org.apache.wiki.api.spi.Wiki;
@@ -30,22 +29,17 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.text.SimpleDateFormat;
-import java.util.Properties;
-public class ReferringPagesPluginTest
-{
- Properties props = TestEngine.getTestProperties();
- TestEngine engine;
- WikiContext context;
- PluginManager manager;
+import static org.apache.wiki.TestEngine.with;
- @BeforeEach
- public void setUp()
- throws Exception
- {
- props.setProperty( "jspwiki.breakTitleWithSpaces", "false" );
- engine = new TestEngine(props);
+public class ReferringPagesPluginTest {
+
+ static TestEngine engine = TestEngine.build( with( "jspwiki.breakTitleWithSpaces", "false" ) );
+ static PluginManager manager = engine.getManager( PluginManager.class );
+ Context context;
+ @BeforeEach
+ public void setUp() throws Exception {
engine.saveText( "TestPage", "Reference to [Foobar]." );
engine.saveText( "Foobar", "Reference to [TestPage]." );
engine.saveText( "Foobar2", "Reference to [TestPage]." );
@@ -55,13 +49,11 @@ public class ReferringPagesPluginTest
engine.saveText( "Foobar6", "Reference to [TestPage]." );
engine.saveText( "Foobar7", "Reference to [TestPage]." );
- context = new WikiContext( engine, engine.newHttpRequest(), Wiki.contents().page( engine, "TestPage" ) );
- manager = new DefaultPluginManager( engine, props );
+ context = Wiki.context().create( engine, engine.newHttpRequest(), Wiki.contents().page( engine, "TestPage" ) );
}
@AfterEach
- public void tearDown()
- {
+ public void tearDown() {
engine.deleteTestPage( "TestPage" );
engine.deleteTestPage( "Foobar" );
engine.deleteTestPage( "Foobar2" );
@@ -84,35 +76,27 @@ public class ReferringPagesPluginTest
@Test
public void testSingleReferral() throws Exception {
final Context context2 = Wiki.context().create( engine, Wiki.contents().page(engine, "Foobar") );
-
final String res = manager.execute( context2, "{INSERT org.apache.wiki.plugin.ReferringPagesPlugin WHERE max=5}");
-
- Assertions.assertEquals( mkLink( "TestPage" )+"<br />",
- res );
+ Assertions.assertEquals( mkLink( "TestPage" )+"<br />", res );
}
@Test
public void testMaxReferences() throws Exception {
final String res = manager.execute( context, "{INSERT org.apache.wiki.plugin.ReferringPagesPlugin WHERE max=5}");
-
int count = 0;
int index = -1;
- // Count the number of hyperlinks. We could check their
- // correctness as well, though.
-
- while( (index = res.indexOf("<a",index+1)) != -1 )
- {
+ // Count the number of hyperlinks. We could check their correctness as well, though.
+ while( ( index = res.indexOf( "<a", index + 1 ) ) != -1 ) {
count++;
}
// there is one extra "<a" in the result
- Assertions.assertEquals( 5+1, count );
+ Assertions.assertEquals( 5 + 1, count );
final String expected = ">...and 2 more</a>";
count =0;
- while( (index = res.indexOf(expected,index+1)) != -1 )
- {
+ while( ( index = res.indexOf( expected,index + 1 ) ) != -1 ) {
count++;
}
Assertions.assertEquals(1, count, "End");
@@ -138,27 +122,20 @@ public class ReferringPagesPluginTest
}
@Test
- public void testExclude()
- throws Exception
- {
- final String res = manager.execute( context, "{ReferringPagesPlugin exclude='*'}");
+ public void testExclude() throws Exception {
+ final String res = manager.execute( context, "{ReferringPagesPlugin exclude='*'}" );
Assertions.assertEquals( "...nobody", res );
}
@Test
- public void testExclude2()
- throws Exception
- {
- final String res = manager.execute( context, "{ReferringPagesPlugin exclude='*7'}");
+ public void testExclude2() throws Exception {
+ final String res = manager.execute( context, "{ReferringPagesPlugin exclude='*7'}" );
Assertions.assertEquals( res.indexOf( "Foobar7" ), -1 );
}
@Test
- public void testExclude3()
- throws Exception
- {
- final String res = manager.execute( context,
- "{ReferringPagesPlugin exclude='*7,*5,*4'}");
+ public void testExclude3() throws Exception {
+ final String res = manager.execute( context, "{ReferringPagesPlugin exclude='*7,*5,*4'}" );
Assertions.assertEquals( res.indexOf( "Foobar7" ), -1, "7" );
Assertions.assertTrue( res.contains( "Foobar6" ), "6" );
@@ -169,10 +146,8 @@ public class ReferringPagesPluginTest
}
@Test
- public void testCount() throws Exception
- {
- String result = null;
- result = manager.execute(context, "{ReferringPagesPlugin show=count}");
+ public void testCount() throws Exception {
+ String result = manager.execute(context, "{ReferringPagesPlugin show=count}");
Assertions.assertEquals("7",result);
result = manager.execute(context, "{ReferringPagesPlugin,exclude='*7',show=count}");
@@ -190,16 +165,22 @@ public class ReferringPagesPluginTest
// test if the proper exception is thrown:
final String expectedExceptionString = "showLastModified=true is only valid if show=count is also specified";
String exceptionString = null;
- try
- {
- result = manager.execute(context, "{ReferringPagesPlugin,showLastModified=true}");
- }
- catch ( final PluginException pe)
- {
+ try {
+ manager.execute(context, "{ReferringPagesPlugin,showLastModified=true}");
+ } catch ( final PluginException pe ) {
exceptionString = pe.getMessage();
}
- Assertions.assertEquals(expectedExceptionString, exceptionString);
+ Assertions.assertEquals( expectedExceptionString, exceptionString );
+ }
+
+ @Test
+ public void testColumns() throws Exception {
+ final String columnsWithLists = manager.execute( context, "{ReferringPagesPlugin columns=2 before='#' after='\\n'}" );
+ Assertions.assertTrue( columnsWithLists.startsWith( "<div style=\"columns:2;-moz-columns:2;-webkit-columns:2;\"><ol><li>" ) );
+
+ final String columnsWithoutLists = manager.execute( context, "{ReferringPagesPlugin columns=2}" );
+ Assertions.assertTrue( columnsWithoutLists.startsWith( "<div style=\"columns:2;-moz-columns:2;-webkit-columns:2;\"><a class=\"wikipage\" href=\"/test/Wiki.jsp?page=Foobar\">Foobar</a><br /><a" ) );
}
}
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java
index 846fa0e..94daa28 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/ReferringUndefinedPagesPluginTest.java
@@ -18,7 +18,6 @@ under the License.
*/
package org.apache.wiki.plugin;
-import net.sf.ehcache.CacheManager;
import org.apache.wiki.TestEngine;
import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.spi.Wiki;
@@ -27,92 +26,91 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import java.util.Properties;
+import static org.apache.wiki.TestEngine.with;
public class ReferringUndefinedPagesPluginTest {
- Properties props = TestEngine.getTestProperties();
-
- TestEngine testEngine;
-
- Context context;
-
- PluginManager manager;
+ static TestEngine testEngine = TestEngine.build( with( "jspwiki.usePageCache", "false" ) );
+ static PluginManager manager = testEngine.getManager( PluginManager.class );
+ Context context;
@BeforeEach
public void setUp() throws Exception {
- CacheManager.getInstance().removeAllCaches();
- testEngine = new TestEngine(props);
+ testEngine.saveText( "TestPage01", "Some Text for testing 01 which refers [NonExistingPageA] " );
+ testEngine.saveText( "TestPage02", "Some Text for testing 02 which refers [NonExistingPageB] " );
+ testEngine.saveText( "TestPage03", "Some Text for testing 03 which refers [NonExistingPageC] " );
- testEngine.saveText("TestPage01", "Some Text for testing 01 which refers [NonExistingPageA] ");
- testEngine.saveText("TestPage02", "Some Text for testing 02 which refers [NonExistingPageB] ");
- testEngine.saveText("TestPage03", "Some Text for testing 03 which refers [NonExistingPageC] ");
-
- context = Wiki.context().create( testEngine, testEngine.newHttpRequest(), Wiki.contents().page(testEngine,"TestPage") );
- manager = new DefaultPluginManager( testEngine, props );
+ context = Wiki.context().create( testEngine, testEngine.newHttpRequest(), Wiki.contents().page( testEngine,"TestPage" ) );
}
@AfterEach
public void tearDown() {
- testEngine.deleteTestPage("TestPage01");
- testEngine.deleteTestPage("TestPage02");
- testEngine.deleteTestPage("TestPage03");
+ testEngine.deleteTestPage( "TestPage01" );
+ testEngine.deleteTestPage( "TestPage02" );
+ testEngine.deleteTestPage( "TestPage03" );
- TestEngine.emptyWorkDir();
- }
+ TestEngine.emptyWorkDir();
+ }
/**
* Plain test without parameters
*
- * @throws Exception
+ * @throws Exception something went wrong
*/
@Test
public void testSimple() throws Exception {
- final String res = manager.execute(context, "{INSERT ReferringUndefinedPagesPlugin}");
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage01\""));
+ final String res = manager.execute( context, "{INSERT ReferringUndefinedPagesPlugin}" );
+ Assertions.assertTrue( res.contains( "href=\"/test/Wiki.jsp?page=TestPage01\"" ) );
}
/**
* Test with the include parameter
*
- * @throws Exception
+ * @throws Exception something went wrong
*/
@Test
- public void testParmInClude() throws Exception {
- final String res = manager.execute(context, "{INSERT ReferringUndefinedPagesPlugin} include='TestPage02*'}");
- Assertions.assertFalse(res.contains("href=\"/test/Wiki.jsp?page=TestPage01\""));
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage02\""));
- Assertions.assertFalse(res.contains("href=\"/test/Wiki.jsp?page=TestPage03\""));
+ public void testParamInclude() throws Exception {
+ final String res = manager.execute( context, "{INSERT ReferringUndefinedPagesPlugin} include='TestPage02*'}" );
+ Assertions.assertFalse( res.contains("href=\"/test/Wiki.jsp?page=TestPage01\"" ) );
+ Assertions.assertTrue( res.contains("href=\"/test/Wiki.jsp?page=TestPage02\"" ) );
+ Assertions.assertFalse( res.contains("href=\"/test/Wiki.jsp?page=TestPage03\"" ) );
}
/**
* Test with the exclude parameter
*
- * @throws Exception
+ * @throws Exception something went wrong
*/
@Test
- public void testParmExClude() throws Exception {
- final String res = manager.execute(context,"{INSERT ReferringUndefinedPagesPlugin} exclude='TestPage02*'}");
+ public void testParamExclude() throws Exception {
+ final String res = manager.execute( context,"{ReferringUndefinedPagesPlugin} exclude='TestPage02*'}" );
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage01\""));
- Assertions.assertFalse(res.contains("href=\"/test/Wiki.jsp?page=TestPage02\""));
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage03\""));
+ Assertions.assertTrue( res.contains( "href=\"/test/Wiki.jsp?page=TestPage01\"" ) );
+ Assertions.assertFalse( res.contains( "href=\"/test/Wiki.jsp?page=TestPage02\"" ) );
+ Assertions.assertTrue( res.contains( "href=\"/test/Wiki.jsp?page=TestPage03\"" ) );
}
/**
* Test with the max parameter
*
- * @throws Exception
+ * @throws Exception something went wrong
*/
@Test
- public void testParmMax() throws Exception {
- final String res = manager.execute(context,"{INSERT ReferringUndefinedPagesPlugin} max='2'}");
+ public void testParamMax() throws Exception {
+ final String res = manager.execute( context,"{INSERT ReferringUndefinedPagesPlugin} max='2'}" );
+
+ Assertions.assertTrue( res.contains( "href=\"/test/Wiki.jsp?page=TestPage01\"" ) );
+ Assertions.assertTrue( res.contains( "href=\"/test/Wiki.jsp?page=TestPage02\"" ) );
+ Assertions.assertFalse( res.contains( "href=\"/test/Wiki.jsp?page=TestPage03\"" ) );
+ Assertions.assertTrue( res.contains( "...and 1 more" ) );
+ }
+
+ @Test
+ public void testUndefinedWithColumns() throws Exception {
+ final String res = manager.execute( context,"{ReferringUndefinedPagesPlugin columns=2" );
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage01\""));
- Assertions.assertTrue(res.contains("href=\"/test/Wiki.jsp?page=TestPage02\""));
- Assertions.assertFalse(res.contains("href=\"/test/Wiki.jsp?page=TestPage03\""));
- Assertions.assertTrue(res.contains("...and 1 more"));
+ Assertions.assertTrue( res.startsWith( "<div style=\"columns:2;-moz-columns:2;-webkit-columns:2;\"><a " ) );
}
}
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java
index 54a949e..e3f9547 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/UndefinedPagesPluginTest.java
@@ -19,7 +19,6 @@
package org.apache.wiki.plugin;
-import net.sf.ehcache.CacheManager;
import org.apache.wiki.TestEngine;
import org.apache.wiki.api.core.Context;
import org.apache.wiki.api.exceptions.PluginException;
@@ -30,26 +29,20 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import java.util.Properties;
+import static org.apache.wiki.TestEngine.with;
public class UndefinedPagesPluginTest {
- Properties props = TestEngine.getTestProperties();
- TestEngine testEngine;
+ static TestEngine testEngine = TestEngine.build( with( "jspwiki.usePageCache", "false" ) );
+ static PluginManager manager = testEngine.getManager( PluginManager.class );
Context context;
- PluginManager manager;
@BeforeEach
public void setUp() throws Exception {
- CacheManager.getInstance().removeAllCaches();
- testEngine = new TestEngine(props);
-
testEngine.saveText( "TestPage", "Reference to [Foobar]." );
testEngine.saveText( "Foobar", "Reference to [Foobar 2], [Foobars]" );
-
- context = Wiki.context().create( testEngine, Wiki.contents().page(testEngine, "TestPage") );
- manager = new DefaultPluginManager( testEngine, props );
+ context = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, "TestPage" ) );
}
@AfterEach
@@ -78,6 +71,14 @@ public class UndefinedPagesPluginTest {
}
@Test
+ public void testUndefinedWithColumns() throws Exception {
+ final Context context2 = Wiki.context().create( testEngine, Wiki.contents().page( testEngine, "Foobar" ) );
+ final String res = manager.execute( context2,"{UndefinedPagesPlugin columns=2" );
+
+ Assertions.assertTrue( res.startsWith( "<div style=\"columns:2;-moz-columns:2;-webkit-columns:2;\"><a " ) );
+ }
+
+ @Test
public void testCount() throws Exception {
final String result = manager.execute( context, "{UndefinedPagesPlugin show=count}");
Assertions.assertEquals("1", result );
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/WeblogPluginTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/WeblogPluginTest.java
index f568074..b8e00c6 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/WeblogPluginTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/WeblogPluginTest.java
@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test;
public class WeblogPluginTest {
- TestEngine testEngine = TestEngine.build();
+ static TestEngine testEngine = TestEngine.build();
@AfterEach
public void tearDown() throws Exception {