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