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