You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by aw...@apache.org on 2009/04/17 22:34:24 UTC

svn commit: r766147 - in /incubator/shindig/trunk/java/server/src/test: java/org/apache/shindig/server/endtoend/ resources/endtoend/ resources/endtoend/osapi/

Author: awiner
Date: Fri Apr 17 20:34:23 2009
New Revision: 766147

URL: http://svn.apache.org/viewvc?rev=766147&view=rev
Log:
Add some basic gadgets.io.makeRequest() end-to-end tests (for later rehosting on HttpRequestHandler code)
Get osapi.makeRequest() test working (by registering MakeRequestServlet in the EndToEndServer)

Added:
    incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml   (with props)
Modified:
    incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
    incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
    incubator/shindig/trunk/java/server/src/test/resources/endtoend/osapi/makeRequestTest.xml
    incubator/shindig/trunk/java/server/src/test/resources/endtoend/test.json

Modified: incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java?rev=766147&r1=766146&r2=766147&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java (original)
+++ incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java Fri Apr 17 20:34:23 2009
@@ -25,6 +25,7 @@
 import org.apache.shindig.gadgets.oauth.OAuthModule;
 import org.apache.shindig.gadgets.servlet.ConcatProxyServlet;
 import org.apache.shindig.gadgets.servlet.GadgetRenderingServlet;
+import org.apache.shindig.gadgets.servlet.MakeRequestServlet;
 import org.apache.shindig.protocol.DataServiceServlet;
 import org.apache.shindig.protocol.JsonRpcServlet;
 import org.apache.shindig.social.sample.SampleModule;
@@ -60,6 +61,7 @@
   private static final String REST_BASE = "/social/rest/*";
   private static final String JSON_RPC_BASE = "/social/rpc/*";
   private static final String CONCAT_BASE = "/gadgets/concat";
+  private static final String MAKE_REQUEST_BASE = "/gadgets/makeRequest";
   public static final String SERVER_URL = "http://localhost:" + JETTY_PORT;
   public static final String GADGET_BASEURL = SERVER_URL + GADGET_BASE;
 
@@ -133,10 +135,14 @@
     context.addServlet(rpcServletHolder, JSON_RPC_BASE);
     context.addFilter(AuthenticationServletFilter.class, JSON_RPC_BASE, 0);
 
-    // Attach the ConcatProxyServlet - needed for
+    // Attach the ConcatProxyServlet - needed for rewritten JS
     ServletHolder concatHolder = new ServletHolder(new ConcatProxyServlet());
     context.addServlet(concatHolder, CONCAT_BASE);
 
+    // Attach MakeRequestServlet
+    ServletHolder makeRequestHolder = new ServletHolder(new MakeRequestServlet());
+    context.addServlet(makeRequestHolder, MAKE_REQUEST_BASE);
+    
     // Attach an EchoServlet, used to test proxied rendering
     ServletHolder echoHolder = new ServletHolder(new EchoServlet());
     context.addServlet(echoHolder, "/echo");

Modified: incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=766147&r1=766146&r2=766147&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java (original)
+++ incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java Fri Apr 17 20:34:23 2009
@@ -88,7 +88,7 @@
     for ( String resource : EXPECTED_RESOURCES ) {
       String url = EndToEndServer.SERVER_URL + '/' + resource;
       Page p = webClient.getPage(url);
-      assertEquals("Failed to load test resource "+url,200,p.getWebResponse().getStatusCode());
+      assertEquals("Failed to load test resource " + url, 200, p.getWebResponse().getStatusCode());
     }
   }
 
@@ -113,6 +113,12 @@
   }
 
   @Test
+  public void testMakeRequest() throws Exception {
+    executeAllPageTests("makeRequestTest");
+  }
+
+
+  @Test
   public void messageBundlesRtl() throws Exception {
     // Repeat the messageBundle tests, but with the language set to "ar"
     language = "ar";
@@ -151,7 +157,7 @@
     
     // Result should contain just one body
     assertEquals(bodyList.getLength(), 1);
-    DomNode body = (DomNode)bodyList.item(0);
+    DomNode body = (DomNode) bodyList.item(0);
 
     // Failed output contains only an error block plus a onload script block
     assertEquals(body.getChildNodes().getLength(), 2);
@@ -244,7 +250,7 @@
     assertEquals("value", jsonPipeline.getTextContent().trim());
 
     Element textPipeline = page.getElementById("text");
-    assertEquals("{'key': 'value'}", textPipeline.getTextContent().trim());
+    assertEquals("{\"key\": \"value\"}", textPipeline.getTextContent().trim());
   }
 
   // HtmlUnits implementation of Element.getElementsByTagName() is just

Added: incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml?rev=766147&view=auto
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml (added)
+++ incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml Fri Apr 17 20:34:23 2009
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<Module>
+  <ModulePrefs title="EndToEndTest"/>
+  <Content type="html">
+    <![CDATA[
+      <script type="text/javascript" src="/testframework.js"></script>
+      <script type="text/javascript">
+        var tests = {
+          /** Test fetching a makeRequest proxied call */
+          fetchMakeRequest: function() {
+            function receivedData(response) {
+              assertEquals('Text property not set', '{"key": "value"}', response.text);
+              assertEquals('Data property not set', '{"key": "value"}', response.data);
+              assertEquals('Response code not set', 200, response.rc);
+              assertEquals('Errors not an empty array', 0, response.errors.length);
+              finished();
+            }
+
+            gadgets.io.makeRequest('http://localhost:9003/test.json', receivedData);
+          },
+
+          /** Test fetching a makeRequest proxied for JSON */
+          fetchMakeRequestJson: function() {
+            function receivedData(response) {
+              assertEquals('Text property not set', '{"key": "value"}', response.text);
+              assertEquals('Data property not set', 'value', response.data.key);
+              assertEquals('Response code not set', 200, response.rc);
+              assertEquals('Errors not an empty array', 0, response.errors.length);
+              finished();
+            }
+
+            gadgets.io.makeRequest('http://localhost:9003/test.json', receivedData,
+              {CONTENT_TYPE: 'JSON'});
+          },
+
+          /** Test fetching a makeRequest proxied call that fails */
+          fetchMakeRequestJson: function() {
+            function receivedData(response) {
+              assertEquals('Response code not set', 404, response.rc);
+              assertEquals('Errors not an empty array', 0, response.errors.length);
+              finished();
+            }
+
+            gadgets.io.makeRequest('http://localhost:9003/doesntexist.txt', receivedData);
+          }
+        };
+      </script>
+    ]]>
+  </Content>
+</Module>

Propchange: incubator/shindig/trunk/java/server/src/test/resources/endtoend/makeRequestTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/shindig/trunk/java/server/src/test/resources/endtoend/osapi/makeRequestTest.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/resources/endtoend/osapi/makeRequestTest.xml?rev=766147&r1=766146&r2=766147&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/resources/endtoend/osapi/makeRequestTest.xml (original)
+++ incubator/shindig/trunk/java/server/src/test/resources/endtoend/osapi/makeRequestTest.xml Fri Apr 17 20:34:23 2009
@@ -30,12 +30,11 @@
           fetchMakeRequest: function() {
             function receivedData(response) {
               assertFalse("Should not have error", response.error);
-              // Figure out why makeRequest isn't working in EndToEndTest environment, but works in jsunit test environment.
-              //	assertEquals("Should have Google page",'foo', response.data);
+              assertEquals("Didn't load file", '{"key": "value"}', response.data);
               finished();
             }
 
-            osapi.makeRequest("http://www.google.com/", null).execute(receivedData);
+            osapi.makeRequest('http://localhost:9003/test.json').execute(receivedData);
           }
         };
       </script>

Modified: incubator/shindig/trunk/java/server/src/test/resources/endtoend/test.json
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/resources/endtoend/test.json?rev=766147&r1=766146&r2=766147&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/resources/endtoend/test.json (original)
+++ incubator/shindig/trunk/java/server/src/test/resources/endtoend/test.json Fri Apr 17 20:34:23 2009
@@ -1 +1 @@
-{'key': 'value'}
\ No newline at end of file
+{"key": "value"}
\ No newline at end of file