Author: krasserm Date: Sun Apr 4 12:43:38 2010 New Revision: 930675 URL: http://svn.apache.org/viewvc?rev=930675&view=rev Log: CAMEL-2606: all camel-gae tests now based on GAE SDK mocks
Added: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java (with props) Removed: camel/trunk/components/camel-gae/src/test/java/com/google/appengine/api/labs/taskqueue/ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/MockQueue.java Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthAuthorizeBindingTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthTestUtils.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpBindingTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilder.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilder.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilderTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpTestUtils.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginEndpointTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginTestUtils.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailBindingTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/support/ServletTestSupport.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskBindingTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilder.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilderTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskEndpointTest.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskTestUtils.java camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/task/context-combined.xml Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java (original) +++ camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java Sun Apr 4 12:43:38 2010 @@ -50,8 +50,6 @@ public class GTaskComponent extends Serv parameters, "outboundBindingRef", OutboundBinding.class, new GTaskBinding()); InboundBinding inboundBinding = resolveAndRemoveReferenceParameter( parameters, "inboundBindingRef", InboundBinding.class, new GTaskBinding()); - Queue queue = resolveAndRemoveReferenceParameter( - parameters, "queueRef", Queue.class, QueueFactory.getQueue(remaining)); GTaskEndpointInfo info = new GTaskEndpointInfo(uri, remaining); GTaskEndpoint endpoint = (GTaskEndpoint)super.createEndpoint( info.getCanonicalUri(), @@ -60,7 +58,7 @@ public class GTaskComponent extends Serv endpoint.setWorkerRoot(workerRoot); endpoint.setOutboundBinding(outboundBinding); endpoint.setInboundBinding(inboundBinding); - endpoint.setQueue(queue); + endpoint.setQueue(QueueFactory.getQueue(remaining)); return endpoint; } Added: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java?rev=930675&view=auto ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java (added) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java Sun Apr 4 12:43:38 2010 @@ -0,0 +1,36 @@ +/** + * 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. + */ +package org.apache.camel.component.gae; + +public final class TestConfig { + + private TestConfig() { + } + + public static String getBaseUri() { + return getBaseUri("http"); + } + + public static String getBaseUri(String scheme) { + return scheme + "://localhost:" + getPort(); + } + + public static int getPort() { + return 7441; + } + +} Propchange: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/TestConfig.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthAuthorizeBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthAuthorizeBindingTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthAuthorizeBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthAuthorizeBindingTest.java Sun Apr 4 12:43:38 2010 @@ -19,7 +19,6 @@ package org.apache.camel.component.gae.a import static java.net.URLEncoder.encode; import com.google.gdata.client.authn.oauth.GoogleOAuthParameters; - import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultExchange; import org.junit.Before; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthTestUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthTestUtils.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthTestUtils.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthTestUtils.java Sun Apr 4 12:43:38 2010 @@ -17,7 +17,6 @@ package org.apache.camel.component.gae.auth; import com.google.appengine.api.mail.MailService.Message; - import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.SimpleRegistry; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java Sun Apr 4 12:43:38 2010 @@ -17,7 +17,6 @@ package org.apache.camel.component.gae.auth; import com.google.gdata.client.authn.oauth.GoogleOAuthParameters; - import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultExchange; import org.junit.Before; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpBindingTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpBindingTest.java Sun Apr 4 12:43:38 2010 @@ -33,6 +33,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import static org.apache.camel.component.gae.TestConfig.getBaseUri; import static org.apache.camel.component.gae.http.GHttpTestUtils.createEndpoint; import static org.apache.camel.component.gae.http.GHttpTestUtils.createRequest; import static org.apache.camel.component.gae.http.GHttpTestUtils.getCamelContext; @@ -55,7 +56,7 @@ public class GHttpBindingTest { @BeforeClass public static void setUpClass() throws Exception { binding = new GHttpBinding(); - testServer = GHttpTestUtils.createTestServer(7441); + testServer = GHttpTestUtils.createTestServer(); testServer.start(); } @@ -150,7 +151,7 @@ public class GHttpBindingTest { @Test public void testReadResponseHeaders() throws Exception { - GHttpEndpoint endpoint = createEndpoint("ghttp://localhost:7441/test"); + GHttpEndpoint endpoint = createEndpoint(getBaseUri("ghttp") + "/test"); HTTPRequest request = new HTTPRequest(endpoint.getEndpointUrl()); request.addHeader(new HTTPHeader("test", "abc")); request.addHeader(new HTTPHeader("content-type", "text/plain")); @@ -163,7 +164,7 @@ public class GHttpBindingTest { @Test public void testReadResponseBody() throws Exception { - GHttpEndpoint endpoint = createEndpoint("ghttp://localhost:7441/test"); + GHttpEndpoint endpoint = createEndpoint(getBaseUri("ghttp") + "/test"); HTTPRequest request = new HTTPRequest(endpoint.getEndpointUrl(), HTTPMethod.POST); request.setPayload("abc".getBytes()); HTTPResponse response = service.fetch(request); @@ -173,7 +174,7 @@ public class GHttpBindingTest { @Test(expected = GHttpException.class) public void testFailureException() throws Exception { - GHttpEndpoint endpoint = createEndpoint("ghttp://localhost:7441/test"); + GHttpEndpoint endpoint = createEndpoint(getBaseUri("ghttp") + "/test"); HTTPRequest request = new HTTPRequest(endpoint.getEndpointUrl()); request.addHeader(new HTTPHeader("code", "500")); HTTPResponse response = service.fetch(request); @@ -182,7 +183,7 @@ public class GHttpBindingTest { @Test public void testFailureNoException() throws Exception { - GHttpEndpoint endpoint = createEndpoint("ghttp://localhost:7441/test?throwExceptionOnFailure=false"); + GHttpEndpoint endpoint = createEndpoint(getBaseUri("ghttp") + "/test?throwExceptionOnFailure=false"); HTTPRequest request = new HTTPRequest(endpoint.getEndpointUrl()); request.addHeader(new HTTPHeader("code", "500")); HTTPResponse response = service.fetch(request); Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilder.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilder.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilder.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilder.java Sun Apr 4 12:43:38 2010 @@ -19,17 +19,19 @@ package org.apache.camel.component.gae.h import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; +import static org.apache.camel.component.gae.TestConfig.getBaseUri; + public class GHttpCombinedRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { from("ghttp:///test1") - .to("ghttp://localhost:7441/test"); + .to(getBaseUri("ghttp") + "/test"); from("ghttp:///test2") - .setHeader(Exchange.HTTP_URI).constant("ghttp://localhost:7441/blah") - .to("ghttp://localhost:7441/test?bridgeEndpoint=false"); + .setHeader(Exchange.HTTP_URI).constant(getBaseUri() + "/blah") + .to(getBaseUri("ghttp") + "/test?bridgeEndpoint=false"); } } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java Sun Apr 4 12:43:38 2010 @@ -38,11 +38,12 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; +import static org.apache.camel.component.gae.TestConfig.getBaseUri; import static org.junit.Assert.assertEquals; public class GHttpCombinedRouteBuilderTest extends ServletTestSupport { - private static Server testServer = GHttpTestUtils.createTestServer(7441); + private static Server testServer = GHttpTestUtils.createTestServer(); private final LocalURLFetchServiceTestConfig config = new LocalURLFetchServiceTestConfig(); private final LocalServiceTestHelper helper = new LocalServiceTestHelper(config); @@ -102,7 +103,7 @@ public class GHttpCombinedRouteBuilderTe WebRequest req = new GetMethodWebRequest(createUrl("/test2")); ServletUnitClient client = newClient(); WebResponse response = client.getResponse(req); - assertEquals("http://localhost:7441/blah", response.getHeaderField("testUrl")); + assertEquals(getBaseUri() + "/blah", response.getHeaderField("testUrl")); } } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilder.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilder.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilder.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilder.java Sun Apr 4 12:43:38 2010 @@ -18,12 +18,14 @@ package org.apache.camel.component.gae.h import org.apache.camel.builder.RouteBuilder; +import static org.apache.camel.component.gae.TestConfig.getBaseUri; + public class GHttpOutboundRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { - from("direct:input1").to("ghttp://localhost:7441/test?a=b"); + from("direct:input1").to(getBaseUri("ghttp") + "/test?a=b"); } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilderTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilderTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpOutboundRouteBuilderTest.java Sun Apr 4 12:43:38 2010 @@ -38,7 +38,7 @@ import static org.junit.Assert.assertEqu @ContextConfiguration(locations = {"/org/apache/camel/component/gae/http/context-outbound.xml"}) public class GHttpOutboundRouteBuilderTest { - private static Server testServer = GHttpTestUtils.createTestServer(7441); + private static Server testServer = GHttpTestUtils.createTestServer(); private final LocalURLFetchServiceTestConfig config = new LocalURLFetchServiceTestConfig(); private final LocalServiceTestHelper helper = new LocalServiceTestHelper(config); Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpTestUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpTestUtils.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpTestUtils.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpTestUtils.java Sun Apr 4 12:43:38 2010 @@ -20,6 +20,7 @@ import java.net.URL; import com.google.appengine.api.urlfetch.HTTPRequest; import org.apache.camel.CamelContext; +import org.apache.camel.component.gae.TestConfig; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.SimpleRegistry; import org.eclipse.jetty.server.Server; @@ -46,11 +47,11 @@ public final class GHttpTestUtils { return context; } - public static Server createTestServer(int port) { + public static Server createTestServer() { ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); handler.addServlet(new ServletHolder(new GHttpTestServlet()), "/*"); handler.setContextPath("/"); - Server server = new Server(port); + Server server = new Server(TestConfig.getPort()); server.setHandler(handler); return server; } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginEndpointTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginEndpointTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginEndpointTest.java Sun Apr 4 12:43:38 2010 @@ -19,7 +19,9 @@ package org.apache.camel.component.gae.l import org.junit.Test; import static org.apache.camel.component.gae.login.GLoginTestUtils.createEndpoint; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class GLoginEndpointTest { Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginTestUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginTestUtils.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginTestUtils.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/login/GLoginTestUtils.java Sun Apr 4 12:43:38 2010 @@ -17,7 +17,6 @@ package org.apache.camel.component.gae.login; import com.google.appengine.api.mail.MailService.Message; - import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.SimpleRegistry; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailBindingTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailBindingTest.java Sun Apr 4 12:43:38 2010 @@ -23,7 +23,9 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.apache.camel.component.gae.mail.GMailTestUtils.*; +import static org.apache.camel.component.gae.mail.GMailTestUtils.createEndpoint; +import static org.apache.camel.component.gae.mail.GMailTestUtils.createMessage; +import static org.apache.camel.component.gae.mail.GMailTestUtils.getCamelContext; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/mail/GMailEndpointTest.java Sun Apr 4 12:43:38 2010 @@ -19,7 +19,9 @@ package org.apache.camel.component.gae.m import org.junit.Test; import static org.apache.camel.component.gae.mail.GMailTestUtils.createEndpoint; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class GMailEndpointTest { Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/support/ServletTestSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/support/ServletTestSupport.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/support/ServletTestSupport.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/support/ServletTestSupport.java Sun Apr 4 12:43:38 2010 @@ -21,7 +21,6 @@ import java.io.InputStream; import com.meterware.servletunit.ServletRunner; import com.meterware.servletunit.ServletUnitClient; - import org.junit.After; import org.junit.Before; Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskBindingTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskBindingTest.java Sun Apr 4 12:43:38 2010 @@ -16,32 +16,44 @@ */ package org.apache.camel.component.gae.task; -import com.google.appengine.api.labs.taskqueue.TaskOptionsAccessor; +import java.util.List; +import com.google.appengine.api.labs.taskqueue.Queue; +import com.google.appengine.api.labs.taskqueue.QueueFactory; +import com.google.appengine.api.labs.taskqueue.TaskOptions; +import com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue; +import com.google.appengine.api.labs.taskqueue.dev.QueueStateInfo.HeaderWrapper; +import com.google.appengine.api.labs.taskqueue.dev.QueueStateInfo.TaskStateInfo; +import com.google.appengine.tools.development.testing.LocalServiceTestHelper; +import com.google.appengine.tools.development.testing.LocalTaskQueueTestConfig; import org.apache.camel.Exchange; import org.apache.camel.component.http.HttpMessage; import org.apache.camel.impl.DefaultExchange; +import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; +import static com.google.appengine.api.labs.taskqueue.TaskOptions.Builder.withDefaults; import static org.apache.camel.component.gae.http.GHttpTestUtils.getCamelContext; import static org.apache.camel.component.gae.task.GTaskTestUtils.createEndpoint; -import static org.apache.camel.component.gae.task.GTaskTestUtils.createTaskOptionsAccessor; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; public class GTaskBindingTest { private static GTaskBinding binding; private DefaultExchange exchange; - private GTaskEndpoint endpoint; - private TaskOptionsAccessor accessor; - + private LocalTaskQueueTestConfig config = new LocalTaskQueueTestConfig(); + private LocalServiceTestHelper helper = new LocalServiceTestHelper(config); + private Queue queue; + + @BeforeClass public static void setUpClass() { binding = new GTaskBinding(); @@ -49,38 +61,60 @@ public class GTaskBindingTest { @Before public void setUp() throws Exception { + helper.setUp(); + queue = QueueFactory.getDefaultQueue(); exchange = new DefaultExchange(getCamelContext()); - accessor = createTaskOptionsAccessor(); endpoint = createEndpoint("test"); } + @After + public void tearDown() { + helper.tearDown(); + } + @Test public void testWriteRequestHeaders() throws Exception { exchange.getIn().setHeader("test", "abc"); exchange.getIn().setHeader(Exchange.HTTP_QUERY, "x=y"); - binding.writeRequestHeaders(endpoint, exchange, accessor.getTaskOptions()); - assertEquals(1, accessor.getHeaders().size()); - assertEquals("abc", accessor.getHeaders().get("test").get(0)); + TaskOptions options = withDefaults(); + binding.writeRequestHeaders(endpoint, exchange, options); + queue.add(options); + TaskStateInfo info = getTaskStateInfos().get(0); + assertEquals("abc", getHeader(info, "test")); + assertNull(getHeader(info, Exchange.HTTP_QUERY)); } @Test public void testWriteRequestBody() { exchange.getIn().setBody("test"); - binding.writeRequestBody(endpoint, exchange, accessor.getTaskOptions()); - assertEquals("test", exchange.getContext().getTypeConverter().convertTo(String.class, accessor.getPayload())); + TaskOptions options = withDefaults(); + binding.writeRequestBody(endpoint, exchange, options); + queue.add(options); + TaskStateInfo info = getTaskStateInfos().get(0); + assertEquals("test", info.getBody()); + assertNull("application/octet-stream", getHeader(info , Exchange.CONTENT_TYPE)); } @Test - public void testWriteRequest() throws Exception { - GTaskEndpoint custom = createEndpoint("test?workerRoot=lazy"); + public void testWriteRequestWithDefaultWorkerRoot() throws Exception { exchange.getIn().setBody("anything"); - accessor = new TaskOptionsAccessor(binding.writeRequest(endpoint, exchange, null)); - assertEquals("/worker/test", accessor.getPath()); - accessor = new TaskOptionsAccessor(binding.writeRequest(custom, exchange, null)); - assertEquals("/lazy/test", accessor.getPath()); + TaskOptions options = binding.writeRequest(endpoint, exchange, null); + queue.add(options); + TaskStateInfo info = getTaskStateInfos().get(0); + assertEquals("/worker/test", info.getUrl()); } @Test + public void testWriteRequestWithCustomWorkerRoot() throws Exception { + GTaskEndpoint custom = createEndpoint("test?workerRoot=lazy"); + exchange.getIn().setBody("anything"); + TaskOptions options = binding.writeRequest(custom, exchange, null); + queue.add(options); + TaskStateInfo info = getTaskStateInfos().get(0); + assertEquals("/lazy/test", info.getUrl()); + } + + @Test public void testReadRequest() { exchange.setFromEndpoint(endpoint); MockHttpServletRequest request = new MockHttpServletRequest(); @@ -98,4 +132,18 @@ public class GTaskBindingTest { assertFalse(message.getHeaders().containsKey(GTaskBinding.GAE_RETRY_COUNT)); } + private List<TaskStateInfo> getTaskStateInfos() { + LocalTaskQueue queue = LocalTaskQueueTestConfig.getLocalTaskQueue(); + return queue.getQueueStateInfo().get("default").getTaskInfo(); + } + + private String getHeader(TaskStateInfo info, String name) { + for (HeaderWrapper header : info.getHeaders()) { + if (name.equals(header.getKey())) { + return header.getValue(); + } + } + return null; + } + } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilder.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilder.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilder.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilder.java Sun Apr 4 12:43:38 2010 @@ -22,8 +22,8 @@ public class GTaskCombinedRouteBuilder e @Override public void configure() throws Exception { - from("direct:input").to("gtask:default?workerRoot=camel&queueRef=#mockQueue"); - from("gtask:default").to("mock:mock"); + from("direct:input").to("gtask:default?workerRoot=camel"); + from("gtask:default").convertBodyTo(String.class).to("mock:mock"); } } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilderTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilderTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskCombinedRouteBuilderTest.java Sun Apr 4 12:43:38 2010 @@ -16,76 +16,74 @@ */ package org.apache.camel.component.gae.task; -import java.io.InputStream; - -import com.meterware.httpunit.HttpUnitOptions; -import com.meterware.servletunit.ServletRunner; - -import org.apache.camel.CamelContext; +import com.google.appengine.tools.development.testing.LocalServiceTestHelper; +import com.google.appengine.tools.development.testing.LocalTaskQueueTestConfig; +import org.apache.camel.EndpointInject; import org.apache.camel.Message; import org.apache.camel.ProducerTemplate; import org.apache.camel.component.gae.support.ServletTestSupport; import org.apache.camel.component.mock.MockEndpoint; +import org.eclipse.jetty.server.Server; import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.io.ClassPathResource; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import static org.apache.camel.component.gae.task.GTaskTestUtils.newLocalServiceTestHelper; import static org.junit.Assert.assertEquals; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/org/apache/camel/component/gae/task/context-combined.xml" }) public class GTaskCombinedRouteBuilderTest extends ServletTestSupport { + private static Server server = GTaskTestUtils.createTestServer(); + + private final LocalTaskQueueTestConfig config = new LocalTaskQueueTestConfig(); + private final LocalServiceTestHelper helper = newLocalServiceTestHelper(config.setDisableAutoTaskExecution(false)); + @Autowired - private CamelContext camelContext; - - @Autowired - private ProducerTemplate producerTemplate; - - @Autowired - private MockQueue mockQueue; - + private ProducerTemplate producerTemplate; + + @EndpointInject(uri = "mock:mock") + private MockEndpoint mock; + @BeforeClass public static void setUpClass() throws Exception { - String webxml = "org/apache/camel/component/gae/task/web-combined.xml"; - InputStream is = new ClassPathResource(webxml).getInputStream(); - servletRunner = new ServletRunner(is, CTX_PATH); - HttpUnitOptions.setExceptionsThrownOnErrorStatus(true); - // Servlet needs to be initialized explicitly because - // route creation is not bound to servlet lifecycle. - initServlet(); - is.close(); + server.start(); } - + + @AfterClass + public static void tearDownClass() throws Exception { + server.stop(); + } + @Before - public void setUp() { - mockQueue.setServletUnitClient(newClient()); + public void setUp() throws Exception { + super.setUp(); + helper.setUp(); } @After - public void tearDown() { - getMockEndpoint().reset(); + public void tearDown() throws Exception { + mock.reset(); + helper.tearDown(); + super.tearDown(); } - + @Test public void testDefault() throws Exception { - getMockEndpoint().expectedBodiesReceived("test1"); - getMockEndpoint().expectedHeaderReceived("test", "test2"); + mock.expectedBodiesReceived("test1"); + mock.expectedHeaderReceived("test", "test2"); producerTemplate.sendBodyAndHeader("direct:input", "test1", "test", "test2"); - getMockEndpoint().assertIsSatisfied(); - Message received = getMockEndpoint().getExchanges().get(0).getIn(); + mock.assertIsSatisfied(); + Message received = mock.getExchanges().get(0).getIn(); assertEquals("default", received.getHeader(GTaskBinding.GTASK_QUEUE_NAME)); assertEquals(0, received.getHeader(GTaskBinding.GTASK_RETRY_COUNT)); } - private MockEndpoint getMockEndpoint() { - return (MockEndpoint)camelContext.getEndpoint("mock:mock"); - } - } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskEndpointTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskEndpointTest.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskEndpointTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskEndpointTest.java Sun Apr 4 12:43:38 2010 @@ -37,21 +37,18 @@ public class GTaskEndpointTest { GTaskEndpoint endpoint = createEndpoint("gtask:myqueue"); assertEquals("worker", endpoint.getWorkerRoot()); assertTrue(endpoint.getOutboundBinding().getClass().equals(GTaskBinding.class)); - assertFalse(endpoint.getQueue() instanceof MockQueue); } @Test public void testPropertiesCustom() throws Exception { StringBuffer buffer = new StringBuffer("gtask:myqueue") - .append("?").append("queueRef=#mockQueue") - .append(AMP).append("outboundBindingRef=#customBinding") + .append("?").append("outboundBindingRef=#customBinding") .append(AMP).append("inboundBindingRef=#customBinding") .append(AMP).append("workerRoot=test"); GTaskEndpoint endpoint = createEndpoint(buffer.toString()); assertEquals("test", endpoint.getWorkerRoot()); assertFalse(endpoint.getOutboundBinding().getClass().equals(GTaskBinding.class)); assertTrue(endpoint.getOutboundBinding() instanceof GTaskBinding); - assertTrue(endpoint.getQueue() instanceof MockQueue); assertEquals("gtask:/myqueue", endpoint.getEndpointUri()); } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskTestUtils.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskTestUtils.java?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskTestUtils.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/task/GTaskTestUtils.java Sun Apr 4 12:43:38 2010 @@ -16,12 +16,19 @@ */ package org.apache.camel.component.gae.task; -import com.google.appengine.api.labs.taskqueue.TaskOptions; -import com.google.appengine.api.labs.taskqueue.TaskOptionsAccessor; +import java.io.File; +import com.google.appengine.tools.development.LocalServerEnvironment; +import com.google.appengine.tools.development.testing.LocalServiceTestConfig; +import com.google.appengine.tools.development.testing.LocalServiceTestHelper; import org.apache.camel.CamelContext; +import org.apache.camel.component.gae.TestConfig; +import org.apache.camel.component.servlet.CamelHttpTransportServlet; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.SimpleRegistry; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; public final class GTaskTestUtils { @@ -30,7 +37,6 @@ public final class GTaskTestUtils { static { SimpleRegistry registry = new SimpleRegistry(); - registry.put("mockQueue", new MockQueue()); registry.put("customBinding", new GTaskBinding() { }); // subclass context = new DefaultCamelContext(registry); component = new GTaskComponent(); @@ -44,12 +50,49 @@ public final class GTaskTestUtils { return context; } + public static Server createTestServer() { + ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); + handler.addServlet(new ServletHolder(new CamelHttpTransportServlet()), "/camel/*"); + handler.setContextPath("/"); + Server server = new Server(TestConfig.getPort()); + server.setHandler(handler); + return server; + } + public static GTaskEndpoint createEndpoint(String endpointUri) throws Exception { return (GTaskEndpoint)component.createEndpoint(endpointUri); } - public static TaskOptionsAccessor createTaskOptionsAccessor() throws Exception { - return new TaskOptionsAccessor(TaskOptions.Builder.withDefaults()); + public static LocalServiceTestHelper newLocalServiceTestHelper(LocalServiceTestConfig... configs) { + return new QueueServiceTestHelper(configs); } - + + private static class QueueServiceTestHelper extends LocalServiceTestHelper { + + public QueueServiceTestHelper(LocalServiceTestConfig... configs) { + super(configs); + } + + @Override + protected LocalServerEnvironment newLocalServerEnvironment() { + return new LocalServerEnvironment() { + + public File getAppDir() { + return new File("."); + } + + public String getAddress() { + return "localhost"; + } + + public int getPort() { + return TestConfig.getPort(); + } + + public void waitForServerToStart() { + } + }; + } + } + } Modified: camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/task/context-combined.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/task/context-combined.xml?rev=930675&r1=930674&r2=930675&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/task/context-combined.xml (original) +++ camel/trunk/components/camel-gae/src/test/resources/org/apache/camel/component/gae/task/context-combined.xml Sun Apr 4 12:43:38 2010 @@ -19,26 +19,20 @@ <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation=" http://www.springframework.org/schema/beans -http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> - - <bean id="camelContext" - class="org.apache.camel.component.gae.context.GaeSpringCamelContext"> - <property name="routeBuilder" ref="routeBuilder" /> - </bean> - - <bean id="producerTemplate" - factory-bean="camelContext" - factory-method="createProducerTemplate"> - </bean> - +http://www.springframework.org/schema/beans/spring-beans-2.5.xsd +http://camel.apache.org/schema/spring +http://camel.apache.org/schema/spring/camel-spring.xsd"> + + <camel:camelContext id="camelContext"> + <camel:jmxAgent id="agent" disabled="true" /> + <camel:routeBuilder ref="routeBuilder"/> + </camel:camelContext> + <bean id="routeBuilder" class="org.apache.camel.component.gae.task.GTaskCombinedRouteBuilder"> </bean> - <bean id="mockQueue" - class="org.apache.camel.component.gae.task.MockQueue"> - </bean> - </beans>