You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2015/09/14 20:46:21 UTC

camel git commit: Add Test for HTTP Options method

Repository: camel
Updated Branches:
  refs/heads/master 044ccbe8e -> 85ea4306c


Add Test for HTTP Options method


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/85ea4306
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/85ea4306
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/85ea4306

Branch: refs/heads/master
Commit: 85ea4306cace7ed1e32bef609189142685fe9720
Parents: 044ccbe
Author: Charles Moulliard <cm...@apache.org>
Authored: Mon Sep 14 20:46:15 2015 +0200
Committer: Charles Moulliard <cm...@apache.org>
Committed: Mon Sep 14 20:46:15 2015 +0200

----------------------------------------------------------------------
 .../http/NettyHttpRestOptionsAllowTest.java     | 59 ++++++++++++++++++++
 1 file changed, 59 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/85ea4306/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttpRestOptionsAllowTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttpRestOptionsAllowTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttpRestOptionsAllowTest.java
new file mode 100644
index 0000000..29d14dd
--- /dev/null
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttpRestOptionsAllowTest.java
@@ -0,0 +1,59 @@
+/**
+ * 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.netty4.http;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.http.common.HttpMethods;
+import org.junit.Test;
+
+import static org.apache.camel.Exchange.HTTP_METHOD;
+import static org.apache.camel.Exchange.HTTP_RESPONSE_CODE;
+
+public class NettyHttpRestOptionsAllowTest extends BaseNettyTest {
+    
+    static final String ALLOW_METHODS = "GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,CONNECT,PATCH";
+
+    @Test
+    public void shouldGetAllowMethods() throws Exception {
+        Exchange response = template.request("netty4-http:http://localhost:{{port}}/myapp", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(Exchange.HTTP_METHOD, HttpMethods.OPTIONS);
+                exchange.getIn().setBody("");
+            }
+        });
+        String body = response.getOut().getBody(String.class);
+        String allowHeader = (String) response.getOut().getHeader("Allow");
+        int code = (int) response.getOut().getHeader(HTTP_RESPONSE_CODE);
+        assertEquals(ALLOW_METHODS, allowHeader);
+        assertEquals(200, code);
+        assertEquals("", body);
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("netty4-http:http://0.0.0.0:{{port}}/myapp").setBody().constant("options");
+            }
+        };
+    }
+
+}