You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2008/07/15 23:27:48 UTC
svn commit: r677046 -
/cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java
Author: reinhard
Date: Tue Jul 15 14:27:47 2008
New Revision: 677046
URL: http://svn.apache.org/viewvc?rev=677046&view=rev
Log:
add test cases again
Modified:
cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java
Modified: cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java?rev=677046&r1=677045&r2=677046&view=diff
==============================================================================
--- cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java (original)
+++ cocoon/whiteboard/corona/trunk/corona-sample/src/test/java/org/apache/cocoon/corona/sitemap/SitemapBuilderTest.java Tue Jul 15 14:27:47 2008
@@ -20,12 +20,16 @@
import java.net.URL;
import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
import junit.framework.TestCase;
import org.apache.cocoon.corona.sample.action.CustomException;
import org.apache.cocoon.corona.servlet.node.StatusCodeCollector;
import org.apache.cocoon.corona.servlet.util.HttpContextHelper;
+import org.apache.cocoon.corona.sitemap.node.InvocationResult;
import org.apache.cocoon.corona.sitemap.node.Sitemap;
import org.apache.cocoon.corona.sitemap.objectmodel.ObjectModel;
import org.springframework.context.ApplicationContext;
@@ -37,6 +41,22 @@
private SitemapBuilder sitemapBuilder;
private ComponentProvider componentProvider;
+ public void testErrorHandlingGlobal() {
+ // TODO: currently this cannot work since some components for error
+ // handling are still missing
+ // Invocation invocation =
+ // this.buildInvocation("error-handling/custom-error");
+ // InvocationResult invocationResult = this.sitemap.invoke(invocation);
+ // assertNotNull(invocationResult);
+ // assertSame(InvocationResult.COMPLETED, invocationResult);
+ //
+ // // invocation should be marked as error-invocation
+ // assertTrue(invocation.isErrorInvocation());
+ // // the throwable should be our exception
+ // assertTrue(invocation.getThrowable().toString(),
+ // invocation.getThrowable() instanceof CustomException);
+ }
+
public void testErrorHandlingPipeline() {
Invocation invocation = this.buildInvocation("error-handling/custom-error-per-pipeline-error-handling");
MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
@@ -52,6 +72,122 @@
assertEquals(501, StatusCodeCollector.getStatusCode());
}
+ public void testGenerator() {
+ Invocation invocation = this.buildInvocation("sax-pipeline/unauthorized");
+ MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();
+ HttpContextHelper.storeResponse(mockHttpServletResponse, invocation.getParameters());
+
+ InvocationResult invocationResult = this.sitemap.invoke(invocation);
+ assertNotNull(invocationResult);
+ assertSame(InvocationResult.COMPLETED, invocationResult);
+
+ // invocation should not be marked as error-invocation
+ assertFalse(invocation.isErrorInvocation());
+ assertEquals(401, StatusCodeCollector.getStatusCode());
+ }
+
+ public void testNoMatchingPipeline() {
+ Invocation invocation = this.buildInvocation("unknown");
+ InvocationResult invocationResult = this.sitemap.invoke(invocation);
+
+ assertNotNull(invocationResult);
+ assertTrue(invocation.isErrorInvocation());
+ assertTrue("Expected NoMatchingPipelineException but received " + invocation.getThrowable(), invocation
+ .getThrowable() instanceof NoMatchingPipelineException);
+ }
+
+ public void testController() {
+ Invocation invocation = this.buildInvocation("controller/invoke");
+ InvocationResult invocationResult = this.sitemap.invoke(invocation);
+ assertNotNull(invocationResult);
+ assertTrue(invocationResult.isCompleted());
+ }
+
+ public void testXSLT() {
+ Invocation invocation = this.buildInvocation("xslt/main");
+ InvocationResult invocationResult = this.sitemap.invoke(invocation);
+
+ assertNotNull(invocationResult);
+ }
+
+ public void testObjectModelPipeline() {
+ Invocation invocation = this.buildInvocation("object-model/request-parameters");
+ Map<String, String> requestParameters = new HashMap<String, String>();
+ requestParameters.put("a", "1");
+ requestParameters.put("b", "2");
+ requestParameters.put("c", "3");
+ HttpContextHelper.storeRequest(new MockHttpServletRequest(requestParameters), invocation.getParameters());
+ this.sitemap.invoke(invocation);
+ // invocation not should be marked as error-invocation
+ assertFalse(invocation.isErrorInvocation());
+ }
+
+ public void testExpressionLanguage() {
+ Invocation invocation = this.buildInvocation("expression-language/map/simple");
+ this.sitemap.invoke(invocation);
+ // invocation should not be marked as error-invocation
+ assertFalse("InvocationImpl is marked as erroneous", invocation.isErrorInvocation());
+ }
+
+ public void testExpressionLanguage2() {
+ Invocation invocation = this.buildInvocation("expression-language/nested/simple");
+ this.sitemap.invoke(invocation);
+ // invocation should not be marked as error-invocation
+ assertFalse("InvocationImpl is marked as erroneous", invocation.isErrorInvocation());
+ }
+
+ // TODO: steven.dolg [2008-02-21]: cannot work until expression-language is
+ // integrated correctly
+ // public void testExpressionLanguage2() {
+ // InvocationImpl invocation =
+ // this.buildInvocation("expression-language/nested2/test");
+ // this.sitemap.invoke(invocation);
+ // // invocation should not be marked as error-invocation
+ // assertFalse(invocation.isErrorInvocation());
+ // }
+
+ // TODO: steven.dolg [2008-02-21]: cannot work until expression-language is
+ // integrated correctly
+ // public void testExpressionLanguage3() {
+ // InvocationImpl invocation =
+ // this.buildInvocation("expression-language/nested3/test");
+ // this.sitemap.invoke(invocation);
+ // // invocation should not be marked as error-invocation
+ // assertFalse(invocation.isErrorInvocation());
+ // }
+
+ public void testReadPipelineExplicit() {
+ Invocation invocation = this.buildInvocation("read/javascript-resource-explicit");
+ assertTrue(this.sitemap.invoke(invocation).isCompleted());
+ // invocation should not be marked as error-invocation
+ assertFalse(invocation.isErrorInvocation());
+
+ invocation = this.buildInvocation("read/javascript-resource-explicit");
+ assertTrue(this.sitemap.invoke(invocation).isCompleted());
+ // invocation should not be marked as error-invocation
+ assertFalse(invocation.isErrorInvocation());
+ }
+
+ public void testReadPipelineImplicit() {
+ Invocation invocation = this.buildInvocation("read/javascript-resource-implicit.js");
+ assertTrue(this.sitemap.invoke(invocation).isCompleted());
+ // invocation should not be marked as error-invocation
+ assertFalse(invocation.isErrorInvocation());
+ }
+
+ public void testRedirectPipeline() {
+ Invocation invocation = this.buildInvocation("redirect/www.orf.at");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put(HttpServletResponse.class.getName(), response);
+ invocation.setParameters(parameters);
+
+ assertTrue(this.sitemap.invoke(invocation).isCompleted());
+ // invocation should not be marked as error-invocation
+ assertFalse("InvocationImpl is marked as erroneous.", invocation.isErrorInvocation());
+ assertTrue(response.hasRedirected());
+ }
+
@Override
protected void setUp() throws Exception {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] {