You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/04/09 16:32:00 UTC
svn commit: r763665 - in
/labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website:
WebHandlerCycleTest.java teststuff/FakeHtmlProducer.java
Author: simoneg
Date: Thu Apr 9 14:31:59 2009
New Revision: 763665
URL: http://svn.apache.org/viewvc?rev=763665&view=rev
Log:
LABS-338 : adapted junit tests
Modified:
labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java
labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/teststuff/FakeHtmlProducer.java
Modified: labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java?rev=763665&r1=763664&r2=763665&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java (original)
+++ labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/WebHandlerCycleTest.java Thu Apr 9 14:31:59 2009
@@ -22,12 +22,14 @@
import org.apache.magma.website.producers.ProducerParameters;
import org.apache.magma.website.teststuff.Person;
import org.apache.magma.website.teststuff.FakeHtmlProducer;
+import org.apache.magma.website.teststuff.FakeHtmlProducer.CheckInside;
import org.apache.magma.website.teststuff.SimpleTemplate;
import org.apache.magma.website.teststuff.SimpleWebHandler;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
+import org.junit.Before;
import org.junit.Test;
import sun.reflect.generics.tree.BottomSignature;
@@ -37,42 +39,49 @@
public class WebHandlerCycleTest {
+ @Before
+ public void cleanUpFakeProducer() {
+ FakeHtmlProducer.checks = null;
+ }
+
@Test
public void findAndbind() throws Exception {
- DefaultExpectations def = new DefaultExpectations();
+ final DefaultExpectations def = new DefaultExpectations();
def.setupDefaults("/test/report");
- Dispatch disp = def.start();
- FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
- assertNotNull(prod);
-
- assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
- assertEquals("doReport", prod.getCreatingMethod().getName());
- assertEquals("/test/", prod.getBasePath());
- assertEquals("/test/report", prod.getCompletePath());
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
+ assertEquals("doReport", prod.getCreatingMethod().getName());
+ assertEquals("/test/", prod.getBasePath());
+ assertEquals("/test/report", prod.getCompletePath());
- Object[] params = prod.getParams();
- assertNotNull(params);
-
- assertEquals("test name", params[0]);
- assertEquals("Mozilla", params[1]);
- assertEquals(1, ((Integer)params[2]).intValue());
- assertEquals("yesterday", params[3]);
- assertSame(def.person, params[4]);
-
-
- ProducerParameters parameters = prod.getHPParameters();
- // This feature has been disabled, see LABS-301
- //Map<String, Object> parmap = parameters.getParameters();
- //assertTrue(parmap.containsKey("sessionName"));
- //assertTrue(parmap.containsKey("requestUser"));
- //assertTrue(parmap.containsKey("header_User__Agent"));
-
- assertTrue("Producer.isFrom is not returning true for the correct handler", prod.isFrom(SimpleWebHandler.class));
- assertTrue("Producer.isFrom is not returning true for the root handler", prod.isFrom(RootWebHandler.class));
-
- assertEquals("report", parameters.getTemplateName());
+ Object[] params = prod.getParams();
+ assertNotNull(params);
+
+ assertEquals("test name", params[0]);
+ assertEquals("Mozilla", params[1]);
+ assertEquals(1, ((Integer)params[2]).intValue());
+ assertEquals("yesterday", params[3]);
+ assertSame(def.person, params[4]);
+
+
+ ProducerParameters parameters = prod.getHPParameters();
+ // This feature has been disabled, see LABS-301
+ //Map<String, Object> parmap = parameters.getParameters();
+ //assertTrue(parmap.containsKey("sessionName"));
+ //assertTrue(parmap.containsKey("requestUser"));
+ //assertTrue(parmap.containsKey("header_User__Agent"));
+
+ assertTrue("Producer.isFrom is not returning true for the correct handler", prod.isFrom(SimpleWebHandler.class));
+ assertTrue("Producer.isFrom is not returning true for the root handler", prod.isFrom(RootWebHandler.class));
+
+ assertEquals("report", parameters.getTemplateName());
+ }
+ };
+
+ def.start();
}
/**
@@ -81,39 +90,41 @@
*/
@Test
public void findAndbindOnlyOnce() throws Exception {
- DefaultExpectations def = new DefaultExpectations() {{
+ final DefaultExpectations def = new DefaultExpectations() {{
one(session).setAttribute("__magma_lastmain","/test/report");
one(session).setAttribute("name", "resend");
}};
def.setupDefaults("/test/resend");
- Dispatch disp = def.start();
-
- FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
- assertNotNull(prod);
- assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
- assertEquals("doReport", prod.getCreatingMethod().getName());
- assertEquals("/test/", prod.getBasePath());
- assertEquals("/test/report", prod.getCompletePath());
-
- Object[] params = prod.getParams();
- assertNotNull(params);
-
- assertEquals("resend", params[0]);
- assertEquals("Mozilla", params[1]);
- assertEquals(1, ((Integer)params[2]).intValue());
- assertEquals("yesterday", params[3]);
- assertSame(def.person, params[4]);
-
- ProducerParameters parameters = prod.getHPParameters();
- // This feature has been disabled, see LABS-301
-// Map<String, Object> parmap = parameters.getParameters();
-// assertTrue(parmap.containsKey("sessionName"));
-// assertTrue(parmap.containsKey("requestUser"));
-// assertTrue(parmap.containsKey("header_User__Agent"));
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
+ assertEquals("doReport", prod.getCreatingMethod().getName());
+ assertEquals("/test/", prod.getBasePath());
+ assertEquals("/test/report", prod.getCompletePath());
+
+ Object[] params = prod.getParams();
+ assertNotNull(params);
+
+ assertEquals("resend", params[0]);
+ assertEquals("Mozilla", params[1]);
+ assertEquals(1, ((Integer)params[2]).intValue());
+ assertEquals("yesterday", params[3]);
+ assertSame(def.person, params[4]);
+
+ ProducerParameters parameters = prod.getHPParameters();
+ // This feature has been disabled, see LABS-301
+ // Map<String, Object> parmap = parameters.getParameters();
+ // assertTrue(parmap.containsKey("sessionName"));
+ // assertTrue(parmap.containsKey("requestUser"));
+ // assertTrue(parmap.containsKey("header_User__Agent"));
+
+ assertEquals("report", parameters.getTemplateName());
+ }
+ };
- assertEquals("report", parameters.getTemplateName());
+ def.start();
}
/**
@@ -122,38 +133,40 @@
*/
@Test
public void findAndbindOnlyOnceEvenOnNonDoMethods() throws Exception {
- DefaultExpectations def = new DefaultExpectations() {{
+ final DefaultExpectations def = new DefaultExpectations() {{
one(session).setAttribute("__magma_lastmain","/test/report");
one(session).setAttribute("name", "resend2");
}};
def.setupDefaults("/test/resend2");
- Dispatch disp = def.start();
-
- FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
- assertNotNull(prod);
- assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
- assertEquals("doReport", prod.getCreatingMethod().getName());
- assertEquals("/test/", prod.getBasePath());
- assertEquals("/test/report", prod.getCompletePath());
-
- Object[] params = prod.getParams();
- assertNotNull(params);
-
- assertEquals("resend2", params[0]);
- assertEquals("Mozilla", params[1]);
- assertEquals(1, ((Integer)params[2]).intValue());
- assertEquals("yesterday", params[3]);
- assertSame(def.person, params[4]);
-
- ProducerParameters parameters = prod.getHPParameters();
- // This feature has been disabled, see LABS-301
-// Map<String, Object> parmap = parameters.getParameters();
-// assertTrue(parmap.containsKey("sessionName"));
-// assertTrue(parmap.containsKey("requestUser"));
-// assertTrue(parmap.containsKey("header_User__Agent"));
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ assertEquals(SimpleWebHandler.class, prod.getCreatingHandler().getClass());
+ assertEquals("doReport", prod.getCreatingMethod().getName());
+ assertEquals("/test/", prod.getBasePath());
+ assertEquals("/test/report", prod.getCompletePath());
+
+ Object[] params = prod.getParams();
+ assertNotNull(params);
+
+ assertEquals("resend2", params[0]);
+ assertEquals("Mozilla", params[1]);
+ assertEquals(1, ((Integer)params[2]).intValue());
+ assertEquals("yesterday", params[3]);
+ assertSame(def.person, params[4]);
+
+ ProducerParameters parameters = prod.getHPParameters();
+ // This feature has been disabled, see LABS-301
+ // Map<String, Object> parmap = parameters.getParameters();
+ // assertTrue(parmap.containsKey("sessionName"));
+ // assertTrue(parmap.containsKey("requestUser"));
+ // assertTrue(parmap.containsKey("header_User__Agent"));
+
+ assertEquals("report", parameters.getTemplateName());
+ }
+ };
- assertEquals("report", parameters.getTemplateName());
+ def.start();
}
@Test
@@ -186,16 +199,19 @@
one(session).setAttribute("name", "ciao");
}};
def.setupDefaults("/test/named/ciao");
- def.start();
- FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
- assertNotNull(prod);
- ProducerParameters parameters = prod.getParameters();
- Map<String, Object> map = parameters.getParameters();
- assertTrue("Does not contain parameter based on argument name", map.containsKey("name"));
- assertTrue("Does not contain parameter based on argument class", map.containsKey("string"));
- assertEquals("ciao", map.get("name"));
- assertEquals("ciao", map.get("string"));
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ ProducerParameters parameters = prod.getParameters();
+ Map<String, Object> map = parameters.getParameters();
+ assertTrue("Does not contain parameter based on argument name", map.containsKey("name"));
+ assertTrue("Does not contain parameter based on argument class", map.containsKey("string"));
+ assertEquals("ciao", map.get("name"));
+ assertEquals("ciao", map.get("string"));
+ }
+ };
+
+ def.start();
}
@Test
@@ -205,7 +221,7 @@
one(req).setAttribute("user", Person.getPerson("Arianna"));
}};
def.setupDefaults("/test/userEntered/Arianna");
- Dispatch disp = def.start();
+ def.start();
}
@Test
@@ -214,10 +230,16 @@
one(session).setAttribute("__magma_lastmain","/test/goToPage" + WebHandler.paramSeparator + "5");
}};
def.setupDefaults("/test/goToPage" + WebHandler.paramSeparator + "5");
- Dispatch disp = def.start();
- Object[] params = FakeHtmlProducer.getInstance().getParams();
- assertNotNull(params);
- assertEquals(5, ((Integer)params[0]).intValue());
+
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ Object[] params = prod.getParams();
+ assertNotNull(params);
+ assertEquals(5, ((Integer)params[0]).intValue());
+ }
+ };
+
+ def.start();
}
@Test
@@ -227,7 +249,7 @@
one(req).removeAttribute("user");
}};
def.setupDefaults("/test/userEntered");
- Dispatch disp = def.start();
+ def.start();
}
@Test
@@ -237,7 +259,7 @@
one(resp).setDateHeader(with(equal("Expires")), with(any(long.class)));
}};
def.setupDefaults("/test/resource.txt");
- Dispatch disp = def.start();
+ def.start();
assertEquals("This is a sample resource", def.out.toString());
}
@@ -248,7 +270,7 @@
never(session).setAttribute("__magma_lastmain", any(String.class));
}};
def.setupDefaults("/test/neverRepeat");
- Dispatch disp = def.start();
+ def.start();
}
@Test
@@ -257,7 +279,7 @@
never(session).setAttribute("__magma_lastmain", any(String.class));
}};
def.setupDefaults("/test/neverRepeatCall");
- Dispatch disp = def.start();
+ def.start();
}
@Test
@@ -266,7 +288,7 @@
one(session).setAttribute("user", "Simone");
}};
def.setupMinimal("/testSession/setUser");
- Dispatch disp = def.start();
+ def.start();
}
@Test
@@ -287,7 +309,7 @@
DefaultExpectations def = new DefaultExpectations() {{
}};
def.setupMinimal("/testSession/compound");
- Dispatch disp = def.start();
+ def.start();
assertStructure(def.out.toString(), "comp-head", "comp-bef", "comp-content", "comp-aft", "comp-sidea", "comp-foot");
}
@@ -336,12 +358,15 @@
one(session).setAttribute("toAspect", "done");
}};
def.setupDefaults("/test/fromSessionToAspect");
- Dispatch disp = def.start();
+ FakeHtmlProducer.checks = new CheckInside() {
+ public void check(FakeHtmlProducer prod) {
+ String coming = (String) prod.getParameters().getParameters().get("coming");
+ assertNotNull(coming);
+ assertThat(coming, equalTo("getting"));
+ }
+ };
+ def.start();
- FakeHtmlProducer prod = FakeHtmlProducer.getInstance();
- String coming = (String) prod.getParameters().getParameters().get("coming");
- assertNotNull(coming);
- assertThat(coming, equalTo("getting"));
}
Modified: labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/teststuff/FakeHtmlProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/teststuff/FakeHtmlProducer.java?rev=763665&r1=763664&r2=763665&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/teststuff/FakeHtmlProducer.java (original)
+++ labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/teststuff/FakeHtmlProducer.java Thu Apr 9 14:31:59 2009
@@ -20,6 +20,7 @@
import org.apache.magma.i18n.I18nRenderingHelper;
import org.apache.magma.website.Head;
import org.apache.magma.website.HtmlProducer;
+import org.apache.magma.website.WebHandler;
import org.apache.magma.website.producers.ParametrizableHtmlProducerBase;
import org.apache.magma.website.producers.ParametrizableProducer;
import org.apache.magma.website.producers.ProducerParameters;
@@ -27,25 +28,27 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
+import java.lang.reflect.Method;
public class FakeHtmlProducer extends ParametrizableHtmlProducerBase {
- private static FakeHtmlProducer instance = null;
-
+ public static interface CheckInside {
+ public void check(FakeHtmlProducer prod);
+ }
+
+
+ public static CheckInside checks = null;
+
private Object[] params = null;
public FakeHtmlProducer(Object... pars) {
- instance = this;
params = pars;
}
- public static FakeHtmlProducer getInstance() {
- return instance;
- }
-
@Override
public void produce(Writer writer) throws IOException {
+ if (checks != null) checks.check(this);
String str = "[";
str += getCreatingMethod().getDeclaringClass().getSimpleName();
str += ".";
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org