You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2018/03/23 11:56:46 UTC
[camel] branch master updated: CAMEL-12401: Add REST context path
support for CoAP component
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 3d8d854 CAMEL-12401: Add REST context path support for CoAP component
3d8d854 is described below
commit 3d8d85424723c2783f254802e37ca69e2ee90695
Author: James Netherton <ja...@gmail.com>
AuthorDate: Fri Mar 23 11:54:44 2018 +0000
CAMEL-12401: Add REST context path support for CoAP component
---
.../java/org/apache/camel/coap/CoAPComponent.java | 47 ++++++++++++++-------
.../java/org/apache/camel/coap/CoAPCORSTest.java | 16 +++----
.../org/apache/camel/coap/CoAPComponentTest.java | 29 ++++++-------
.../camel/coap/CoAPConsumerDefaultPortTest.java | 9 +---
.../apache/camel/coap/CoAPMethodRestrictTest.java | 6 +--
.../java/org/apache/camel/coap/CoAPMethodTest.java | 11 +----
.../java/org/apache/camel/coap/CoAPPingTest.java | 15 +++----
.../apache/camel/coap/CoAPRestComponentTest.java | 1 -
...tPortTest.java => CoAPRestContextPathTest.java} | 26 +++++++-----
.../org/apache/camel/coap/CoAPRestVerbTest.java | 49 +++++++---------------
...erDefaultPortTest.java => CoAPTestSupport.java} | 34 +++++++--------
11 files changed, 103 insertions(+), 140 deletions(-)
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index 6ca54d9..e6d1c85 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -28,6 +28,7 @@ import org.apache.camel.Processor;
import org.apache.camel.impl.UriEndpointComponent;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestConsumerFactory;
+import org.apache.camel.util.FileUtil;
import org.apache.camel.util.HostUtils;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.URISupport;
@@ -77,15 +78,19 @@ public class CoAPComponent extends UriEndpointComponent implements RestConsumerF
}
@Override
- public Consumer createConsumer(CamelContext camelContext,
- Processor processor,
- String verb,
- String basePath,
- String uriTemplate,
- String consumes,
- String produces,
- RestConfiguration configuration,
- Map<String, Object> parameters) throws Exception {
+ public Consumer createConsumer(CamelContext camelContext, Processor processor, String verb, String basePath,
+ String uriTemplate, String consumes, String produces, RestConfiguration configuration, Map<String, Object> parameters) throws Exception {
+
+ String path = basePath;
+ if (uriTemplate != null) {
+ // make sure to avoid double slashes
+ if (uriTemplate.startsWith("/")) {
+ path = path + uriTemplate;
+ } else {
+ path = path + "/" + uriTemplate;
+ }
+ }
+ path = FileUtil.stripLeadingSeparator(path);
RestConfiguration config = configuration;
if (config == null) {
@@ -113,16 +118,28 @@ public class CoAPComponent extends UriEndpointComponent implements RestConsumerF
map.putAll(config.getEndpointProperties());
}
+ String scheme = config.getScheme() == null ? "coap" : config.getScheme();
String query = URISupport.createQueryString(map);
+ int port = 0;
- String url = (config.getScheme() == null ? "coap" : config.getScheme()) + "://" + host;
- if (config.getPort() != -1) {
- url += ":" + config.getPort();
+ int num = config.getPort();
+ if (num > 0) {
+ port = num;
}
- if (uriTemplate == null) {
- uriTemplate = "";
+
+ // prefix path with context-path if configured in rest-dsl configuration
+ String contextPath = config.getContextPath();
+ if (ObjectHelper.isNotEmpty(contextPath)) {
+ contextPath = FileUtil.stripTrailingSeparator(contextPath);
+ contextPath = FileUtil.stripLeadingSeparator(contextPath);
+ if (ObjectHelper.isNotEmpty(contextPath)) {
+ path = contextPath + "/" + path;
+ }
}
- url += basePath + uriTemplate + "?coapMethodRestrict=" + verb.toUpperCase(Locale.US);
+
+ String restrict = verb.toUpperCase(Locale.US);
+ String url = String.format("%s://%s:%d/%s?coapMethodRestrict=%s", scheme, host, port, path, restrict);
+
if (!query.isEmpty()) {
url += "&" + query;
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
index 38812f3..adc9e8c 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
@@ -18,11 +18,8 @@ package org.apache.camel.coap;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
/**
@@ -30,17 +27,14 @@ import org.junit.Test;
*
* CORS configuration is ignored and REST endpoints function as per normal
*/
-public class CoAPCORSTest extends CamelTestSupport {
+public class CoAPCORSTest extends CoAPTestSupport {
private static final String COAP_RESPONSE = "{ \"foo\": \"bar\" }";
- private static final int COAP_PORT = AvailablePortFinder.getNextAvailable();
@Test
public void testEnableCors() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
- CoapClient client = new CoapClient("coap://localhost:" + COAP_PORT + "/rest");
- CoapResponse coapResponse = client.get();
- assertEquals(COAP_RESPONSE, coapResponse.getResponseText());
+ CoapClient client = createClient("/rest");
+ CoapResponse response = client.get();
+ assertEquals(COAP_RESPONSE, response.getResponseText());
}
@Override
@@ -48,7 +42,7 @@ public class CoAPCORSTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- restConfiguration().component("coap").port(COAP_PORT).enableCORS(true);
+ restConfiguration().component("coap").port(PORT).enableCORS(true);
rest().get("/rest").route().setBody(constant(COAP_RESPONSE));
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
index a01b52d..15c317b 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
@@ -21,27 +21,22 @@ import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.coap.CoAP;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPComponentTest extends CamelTestSupport {
- static final int PORT = AvailablePortFinder.getNextAvailable();
-
+public class CoAPComponentTest extends CoAPTestSupport {
+
@Produce(uri = "direct:start")
protected ProducerTemplate sender;
@Test
- public void testCoAP() throws Exception {
- NetworkConfig.createStandardWithoutFile();
- CoapClient client = new CoapClient("coap://localhost:" + PORT + "/TestResource");
- CoapResponse rsp = client.get();
- assertEquals("Hello ", rsp.getResponseText());
+ public void testCoAPComponent() throws Exception {
+ CoapClient client = createClient("/TestResource");
+ CoapResponse response = client.get();
+ assertEquals("Hello ", response.getResponseText());
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
@@ -57,13 +52,13 @@ public class CoAPComponentTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("coap://localhost:" + PORT + "/TestResource")
+ fromF("coap://localhost:%d/TestResource", PORT)
.convertBodyTo(String.class)
- .to("log:exch")
- .transform(body().prepend("Hello "))
- .to("log:exch");
-
- from("direct:start").to("coap://localhost:" + PORT + "/TestResource").to("mock:result");
+ .transform(body().prepend("Hello "));
+
+ from("direct:start")
+ .toF("coap://localhost:%d/TestResource", PORT)
+ .to("mock:result");
}
};
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
index 5a56e26..0ee86d0 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
@@ -17,21 +17,16 @@
package org.apache.camel.coap;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPConsumerDefaultPortTest extends CamelTestSupport {
+public class CoAPConsumerDefaultPortTest extends CoAPTestSupport {
@Test
public void testCoAPConsumerWithDefaultPort() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
- CoapClient client = new CoapClient("coap://localhost:" + CoAPComponent.DEFAULT_PORT + "/greeting");
+ CoapClient client = createClient("/greeting", CoAPComponent.DEFAULT_PORT);
CoapResponse response = client.get();
-
assertEquals("Hello World", response.getResponseText());
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodRestrictTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodRestrictTest.java
index c65d3bf..f9b44f1 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodRestrictTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodRestrictTest.java
@@ -18,14 +18,10 @@ package org.apache.camel.coap;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPMethodRestrictTest extends CamelTestSupport {
-
- private static final int PORT = AvailablePortFinder.getNextAvailable();
+public class CoAPMethodRestrictTest extends CoAPTestSupport {
@Test
public void testDefaultCoAPMethodRestrict() {
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodTest.java
index 142e8a7..b007b2a 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPMethodTest.java
@@ -18,19 +18,12 @@ package org.apache.camel.coap;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPMethodTest extends CamelTestSupport {
-
- private static final int PORT = AvailablePortFinder.getNextAvailable();
+public class CoAPMethodTest extends CoAPTestSupport {
@Test
public void testCoAPMethodDefaultGet() {
- NetworkConfig.createStandardWithoutFile();
-
// No body means GET
String result = template.requestBody("coap://localhost:" + PORT + "/test/a", null, String.class);
assertEquals("GET: /test/a", result);
@@ -38,8 +31,6 @@ public class CoAPMethodTest extends CamelTestSupport {
@Test
public void testCoAPMethodDefaultPost() {
- NetworkConfig.createStandardWithoutFile();
-
// Providing a body means POST
String result = template.requestBody("coap://localhost:" + PORT + "/test/b", "Camel", String.class);
assertEquals("Hello Camel", result);
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPPingTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPPingTest.java
index c488d50..793b986 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPPingTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPPingTest.java
@@ -20,20 +20,15 @@ import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPPingTest extends CamelTestSupport {
- static final int PORT = AvailablePortFinder.getNextAvailable();
-
+public class CoAPPingTest extends CoAPTestSupport {
+
@Produce(uri = "direct:start")
protected ProducerTemplate sender;
@Test
public void testCoAP() throws Exception {
- NetworkConfig.createStandardWithoutFile();
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
mock.expectedBodiesReceived(true);
@@ -46,12 +41,14 @@ public class CoAPPingTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("coap://localhost:" + PORT + "/TestResource")
+ fromF("coap://localhost:%d/TestResource", PORT)
.to("log:exch")
.transform(body().convertTo(Boolean.class))
.to("log:exch");
- from("direct:start").to("coap://localhost:" + PORT + "/TestResource").to("mock:result");
+ from("direct:start")
+ .toF("coap://localhost:%d/TestResource", PORT)
+ .to("mock:result");
}
};
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTest.java
index 12cfd83..2aa58e9 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTest.java
@@ -38,7 +38,6 @@ public class CoAPRestComponentTest extends CamelTestSupport {
CoapResponse rsp;
client = new CoapClient("coap://localhost:" + coapport + "/TestResource/Ducky");
- client.setTimeout(1000000);
rsp = client.get();
assertEquals(ResponseCode.CONTENT, rsp.getCode());
assertEquals("Hello Ducky", rsp.getResponseText());
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
similarity index 64%
copy from components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
copy to components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
index 5a56e26..6267da8 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
@@ -17,22 +17,19 @@
package org.apache.camel.coap;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
-import org.eclipse.californium.core.network.config.NetworkConfig;
+import org.eclipse.californium.core.coap.CoAP.ResponseCode;
import org.junit.Test;
-public class CoAPConsumerDefaultPortTest extends CamelTestSupport {
+public class CoAPRestContextPathTest extends CoAPTestSupport {
@Test
- public void testCoAPConsumerWithDefaultPort() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
- CoapClient client = new CoapClient("coap://localhost:" + CoAPComponent.DEFAULT_PORT + "/greeting");
+ public void testCoAPRestContextPath() throws Exception {
+ CoapClient client = createClient("/rest/services/test/a");
CoapResponse response = client.get();
-
- assertEquals("Hello World", response.getResponseText());
+ assertEquals(ResponseCode.CONTENT, response.getCode());
+ assertEquals("GET: /test/a", response.getResponseText());
}
@Override
@@ -40,8 +37,15 @@ public class CoAPConsumerDefaultPortTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("coap:localhost/greeting")
- .setBody(constant("Hello World"));
+ restConfiguration("coap")
+ .host("localhost")
+ .port(PORT)
+ .contextPath("/rest/services");
+
+ rest("/test")
+ .get("/a")
+ .route()
+ .setBody(constant("GET: /test/a"));
}
};
}
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
index af9668b..06dfb2d 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
@@ -18,82 +18,61 @@ package org.apache.camel.coap;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
-import org.eclipse.californium.core.network.config.NetworkConfig;
import org.junit.Test;
-public class CoAPRestVerbTest extends CamelTestSupport {
- static int coapport = AvailablePortFinder.getNextAvailable();
+public class CoAPRestVerbTest extends CoAPTestSupport {
@Test
public void testGetAll() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
- CoapClient client = new CoapClient("coap://localhost:" + coapport + "/users");
- client.setTimeout(1000000);
- CoapResponse rsp = client.get();
-
- assertEquals("[{ \"id\":\"1\", \"name\":\"Scott\" },{ \"id\":\"2\", \"name\":\"Claus\" }]", rsp.getResponseText());
+ CoapClient client = createClient("/users");
+ CoapResponse response = client.get();
+ assertEquals("[{ \"id\":\"1\", \"name\":\"Scott\" },{ \"id\":\"2\", \"name\":\"Claus\" }]", response.getResponseText());
}
@Test
public void testGetOne() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
- CoapClient client = new CoapClient("coap://localhost:" + coapport + "/users/1");
- client.setTimeout(1000000);
- CoapResponse rsp = client.get();
-
- assertEquals("{ \"id\":\"1\", \"name\":\"Scott\" }", rsp.getResponseText());
+ CoapClient client = createClient("/users/1");
+ CoapResponse response = client.get();
+ assertEquals("{ \"id\":\"1\", \"name\":\"Scott\" }", response.getResponseText());
}
@Test
public void testPost() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
final String body = "{ \"id\":\"1\", \"name\":\"Scott\" }";
MockEndpoint mock = getMockEndpoint("mock:create");
mock.expectedBodiesReceived(body);
- CoapClient client = new CoapClient("coap://localhost:" + coapport + "/users");
- client.setTimeout(1000000);
- CoapResponse rsp = client.post(body, MediaTypeRegistry.APPLICATION_JSON);
+ CoapClient client = createClient("/users");
+ client.post(body, MediaTypeRegistry.APPLICATION_JSON);
assertMockEndpointsSatisfied();
}
@Test
public void testPut() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
final String body = "{ \"id\":\"1\", \"name\":\"Scott\" }";
MockEndpoint mock = getMockEndpoint("mock:update");
mock.expectedBodiesReceived(body);
mock.expectedHeaderReceived("id", "1");
- CoapClient client = new CoapClient("coap://localhost:" + coapport + "/users/1");
- client.setTimeout(1000000);
- CoapResponse rsp = client.put(body, MediaTypeRegistry.APPLICATION_JSON);
+ CoapClient client = createClient("/users/1");
+ client.put(body, MediaTypeRegistry.APPLICATION_JSON);
assertMockEndpointsSatisfied();
}
@Test
public void testDelete() throws Exception {
- NetworkConfig.createStandardWithoutFile();
-
MockEndpoint mock = getMockEndpoint("mock:delete");
mock.expectedHeaderReceived("id", "1");
- CoapClient client = new CoapClient("coap://localhost:" + coapport + "/users/1");
- client.setTimeout(1000000);
- CoapResponse rsp = client.delete();
+ CoapClient client = createClient("/users/1");
+ client.delete();
assertMockEndpointsSatisfied();
}
@@ -103,7 +82,7 @@ public class CoAPRestVerbTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- restConfiguration().component("coap").host("localhost").port(coapport);
+ restConfiguration().component("coap").host("localhost").port(PORT);
rest()
.get("/users").route().transform().constant("[{ \"id\":\"1\", \"name\":\"Scott\" },{ \"id\":\"2\", \"name\":\"Claus\" }]").endRest()
diff --git a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
similarity index 57%
copy from components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
copy to components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
index 5a56e26..82de155 100644
--- a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPConsumerDefaultPortTest.java
+++ b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
@@ -16,33 +16,29 @@
*/
package org.apache.camel.coap;
-import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.AvailablePortFinder;
import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.util.FileUtil;
import org.eclipse.californium.core.CoapClient;
-import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.network.config.NetworkConfig;
-import org.junit.Test;
+import org.junit.Before;
-public class CoAPConsumerDefaultPortTest extends CamelTestSupport {
+public class CoAPTestSupport extends CamelTestSupport {
- @Test
- public void testCoAPConsumerWithDefaultPort() throws Exception {
- NetworkConfig.createStandardWithoutFile();
+ protected static final int PORT = AvailablePortFinder.getNextAvailable();
- CoapClient client = new CoapClient("coap://localhost:" + CoAPComponent.DEFAULT_PORT + "/greeting");
- CoapResponse response = client.get();
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ NetworkConfig.createStandardWithoutFile();
+ }
- assertEquals("Hello World", response.getResponseText());
+ protected CoapClient createClient(String path) {
+ return createClient(path, PORT);
}
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- @Override
- public void configure() throws Exception {
- from("coap:localhost/greeting")
- .setBody(constant("Hello World"));
- }
- };
+ protected CoapClient createClient(String path, int port) {
+ String url = String.format("coap://localhost:%d/%s", port, FileUtil.stripLeadingSeparator(path));
+ return new CoapClient(url);
}
}
--
To stop receiving notification emails like this one, please contact
jamesnetherton@apache.org.