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