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 <[email protected]> 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 {
