You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/11/21 09:16:23 UTC

svn commit: r1412010 - in /camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc: AhcComponentCustomClientConfigTest.java AhcComponentNettyClientConfigTest.java

Author: davsclaus
Date: Wed Nov 21 08:16:22 2012
New Revision: 1412010

URL: http://svn.apache.org/viewvc?rev=1412010&view=rev
Log:
Added more tests for custom client config set on AhcComponent.

Added:
    camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java
      - copied, changed from r1411994, camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java
    camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java   (with props)

Copied: camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java (from r1411994, camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java?p2=camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java&p1=camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java&r1=1411994&r2=1412010&rev=1412010&view=diff
==============================================================================
--- camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcProduceClientConfigTest.java (original)
+++ camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentCustomClientConfigTest.java Wed Nov 21 08:16:22 2012
@@ -17,26 +17,29 @@
 package org.apache.camel.component.ahc;
 
 import com.ning.http.client.AsyncHttpClientConfig;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
 import org.junit.Test;
 
-public class AhcProduceClientConfigTest extends BaseAhcTest {
+public class AhcComponentCustomClientConfigTest extends BaseAhcTest {
 
     @Override
-    protected JndiRegistry createRegistry() throws Exception {
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext context = super.createCamelContext();
+
         AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder();
         AsyncHttpClientConfig config = builder.setFollowRedirects(true).setMaxRequestRetry(3).build();
 
-        JndiRegistry jndi = super.createRegistry();
-        jndi.bind("myConfig", config);
-        return jndi;
+        AhcComponent ahc = context.getComponent("ahc", AhcComponent.class);
+        ahc.setClientConfig(config);
+
+        return context;
     }
 
     @Test
-    public void testAhcProduceClientConfig() throws Exception {
+    public void testAhcComponentCustomClientConfig() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
 
         template.sendBody("direct:start", null);
@@ -45,11 +48,6 @@ public class AhcProduceClientConfigTest 
     }
     
     @Override
-    protected String getAhcEndpointUri() {
-        return super.getAhcEndpointUri() + "?clientConfig=#myConfig";
-    }
-
-    @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override

Added: camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java?rev=1412010&view=auto
==============================================================================
--- camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java (added)
+++ camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java Wed Nov 21 08:16:22 2012
@@ -0,0 +1,81 @@
+/**
+ * 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.ahc;
+
+import com.ning.http.client.AsyncHttpClientConfig;
+import com.ning.http.client.providers.netty.NettyAsyncHttpProviderConfig;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.Test;
+
+public class AhcComponentNettyClientConfigTest extends BaseAhcTest {
+
+    @Override
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext context = super.createCamelContext();
+
+        // use netty provider to reuse address
+        NettyAsyncHttpProviderConfig provider = new NettyAsyncHttpProviderConfig();
+        provider.addProperty(NettyAsyncHttpProviderConfig.REUSE_ADDRESS, Boolean.TRUE);
+
+        AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder()
+                .setAsyncHttpClientProviderConfig(provider)
+                .setFollowRedirects(true)
+                .setMaxRequestRetry(3)
+                .build();
+
+        AhcComponent ahc = context.getComponent("ahc", AhcComponent.class);
+        ahc.setClientConfig(config);
+
+        return context;
+    }
+
+    @Test
+    public void testAhcComponentCustomClientConfig() throws Exception {
+        getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
+
+        template.sendBody("direct:start", null);
+
+        assertMockEndpointsSatisfied();
+    }
+    
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start")
+                    .to(getAhcEndpointUri())
+                    .to("mock:result");
+
+                from(getTestServerEndpointUri())
+                        .process(new Processor() {
+                            public void process(Exchange exchange) throws Exception {
+                                // redirect to test the client config worked as we told it to follow redirects
+                                exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, "301");
+                                exchange.getOut().setHeader("Location", getTestServerEndpointTwoUrl());
+                            }
+                        });
+
+                from(getTestServerEndpointTwoUri())
+                        .transform(constant("Bye World"));
+            }
+        };
+    }
+}

Propchange: camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcComponentNettyClientConfigTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date