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 2008/12/04 09:59:30 UTC
svn commit: r723255 -
/incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java
Author: jalkanen
Date: Thu Dec 4 00:59:30 2008
New Revision: 723255
URL: http://svn.apache.org/viewvc?rev=723255&view=rev
Log:
[JSPWIKI-291] Added patch from Thomas Engelschmidt to replace ORO
regexp library with Java built-in regexps for DenouncePlugin, as well
as DenouncePluginTest.
Added:
incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java
Added: incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java?rev=723255&view=auto
==============================================================================
--- incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java (added)
+++ incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/DenouncePluginTest.java Thu Dec 4 00:59:30 2008
@@ -0,0 +1,118 @@
+package com.ecyrd.jspwiki.plugin;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import net.sourceforge.stripes.mock.MockHttpServletRequest;
+
+import com.ecyrd.jspwiki.TestEngine;
+import com.ecyrd.jspwiki.WikiContext;
+
+public class DenouncePluginTest extends TestCase {
+ Properties props = new Properties();
+ TestEngine engine;
+ WikiContext context;
+ PluginManager manager;
+ Properties denounceProps;
+ private final String pluginCmdLine = "[{Denounce link='http://www.mobileasses.com' text='peoples asses'}]";
+
+ public DenouncePluginTest(String s) {
+ super(s);
+ }
+
+ public void setUp()
+ throws Exception {
+ props.load(TestEngine.findTestProperties());
+
+ engine = new TestEngine(props);
+ try {
+
+
+ ClassLoader loader = Denounce.class.getClassLoader();
+ InputStream in = loader.getResourceAsStream("com/ecyrd/jspwiki/plugin/denounce.properties");
+
+ if (in == null) {
+ throw new IOException("No property file found! (Check the installation, it should be there.)");
+ }
+ denounceProps = new Properties();
+ denounceProps.load(in);
+ } catch (IOException e) {
+ fail("failed to load denounce.properties");
+ }
+
+
+ }
+
+ private void setupHTTPRequest(String host, String header) {
+ MockHttpServletRequest request = engine.newHttpRequest();
+ if (header != null)
+ request.addHeader("User-Agent", header);
+ //if(host != null)
+
+ request.getParameterMap().put("page", new String[]{"TestPage"});
+ context = engine.createContext( request, WikiContext.VIEW );
+ manager = new PluginManager(engine, props);
+ }
+
+ public void tearDown() {
+ TestEngine.deleteTestPage("TestPage");
+ TestEngine.deleteTestPage("Foobar");
+ TestEngine.emptyWorkDir();
+ }
+
+ public void testSLURPBot() throws Exception {
+ setupHTTPRequest(null, "Slurp/2.1");
+ String res = manager.execute(context, pluginCmdLine);
+ assertEquals(getDenounceText(), res);
+ //
+ setupHTTPRequest(null, "ETSlurp/");
+ res = manager.execute(context, pluginCmdLine);
+ assertEquals(getDenounceText(), res);
+
+ setupHTTPRequest(null, "Slurp");
+ res = manager.execute(context, pluginCmdLine);
+ assertFalse(getDenounceText().equalsIgnoreCase(res));
+
+ }
+ public void testGoogleBotWithWrongCase() throws Exception {
+ setupHTTPRequest(null, "gOOglebot/2.1");
+ String res = manager.execute(context, pluginCmdLine);
+ assertFalse(getDenounceText().equalsIgnoreCase(res));
+ }
+ public void testGoogleBot() throws Exception {
+ setupHTTPRequest(null, "Googlebot/2.1");
+ String res = manager.execute(context, pluginCmdLine);
+ assertEquals(getDenounceText(), res);
+ //
+ setupHTTPRequest(null, "ETSGooglebot/2.1");
+ res = manager.execute(context, pluginCmdLine);
+ assertEquals(getDenounceText(), res);
+
+ setupHTTPRequest(null, "ETSGooglebot");
+ res = manager.execute(context, pluginCmdLine);
+ assertEquals(getDenounceText(), res);
+
+ }
+
+ public void testPlugin() throws Exception {
+ setupHTTPRequest(null, null);
+
+ String res = manager.execute(context, pluginCmdLine);
+
+ assertEquals("<a href=\"http://www.mobileasses.com\">peoples asses</a>", res);
+
+ }
+
+ private String getDenounceText() {
+ return denounceProps.getProperty("denounce.denouncetext");
+ }
+
+
+ public static Test suite() {
+ return new TestSuite(DenouncePluginTest.class);
+ }
+}
\ No newline at end of file