Skip to content

Commit

Permalink
Test Client CoAP endpoint based on java-coap in integration tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
sbernard31 committed Oct 19, 2023
1 parent 4daab47 commit a15a513
Show file tree
Hide file tree
Showing 26 changed files with 83 additions and 24 deletions.
4 changes: 4 additions & 0 deletions leshan-integration-tests/pom.xml
Expand Up @@ -50,6 +50,10 @@ Contributors:
<groupId>org.eclipse.leshan</groupId>
<artifactId>leshan-client-cf</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.leshan</groupId>
<artifactId>leshan-tl-javacoap-client</artifactId>
</dependency>

<!-- test dependencies -->
<dependency>
Expand Down
Expand Up @@ -88,7 +88,10 @@ public class BootstrapTest {
static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider - BS Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium", "Californium"));
arguments(Protocol.COAP, "Californium", "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "Californium", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap", "Californium"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -63,7 +63,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -57,7 +57,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -60,7 +60,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -59,7 +59,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -89,7 +89,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -56,7 +56,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -73,7 +73,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.TLV, //
Expand Down
Expand Up @@ -79,7 +79,9 @@ static Stream<Arguments> noTlsTransports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"),
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"),
arguments(Protocol.COAP, "java-coap", "Californium"),
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

@ParameterizedTest(name = "{0} - Client using {1} - Server using {2}")
Expand Down
Expand Up @@ -76,7 +76,8 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -77,7 +77,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down Expand Up @@ -304,6 +306,10 @@ public void can_observe_resource_then_passive_cancel(Protocol givenProtocol, Str

// verify result
server.ensureNoNotification(observation, 1, TimeUnit.SECONDS);

// write device timezone
writeResponse = server.send(currentRegistration, new WriteRequest(3, 0, 15, "Europe/London"));
assertThat(writeResponse).hasCode(CHANGED);
}

@TestAllTransportLayer
Expand Down
Expand Up @@ -63,7 +63,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[][] contentFormats = new Object[][] { //
// {request content format, response content format}
Expand Down
Expand Up @@ -55,7 +55,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -62,7 +62,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.TLV, //
Expand Down
Expand Up @@ -63,7 +63,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.OPAQUE, //
Expand Down
Expand Up @@ -63,7 +63,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.TEXT, //
Expand Down
Expand Up @@ -78,7 +78,9 @@ static Stream<Arguments> noTlsTransports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"),
arguments(Protocol.COAP, "java-coap", "Californium"),
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

@ParameterizedTest(name = "{0} - Client using {1} - Server using {2}")
Expand Down
Expand Up @@ -71,7 +71,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.SENML_JSON, //
Expand Down
Expand Up @@ -67,7 +67,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.SENML_JSON, //
Expand Down
Expand Up @@ -81,6 +81,7 @@
import org.eclipse.leshan.server.bootstrap.LeshanBootstrapServer;
import org.eclipse.leshan.server.bootstrap.endpoint.LwM2mBootstrapServerEndpoint;
import org.eclipse.leshan.server.endpoint.LwM2mServerEndpoint;
import org.eclipse.leshan.transport.javacoap.client.endpoint.JavaCoapClientEndpointsProvider;

public class LeshanTestClientBuilder extends LeshanClientBuilder {

Expand Down Expand Up @@ -261,6 +262,8 @@ public LeshanTestClientBuilder with(String endpointProvider) {
} else if (endpointProvider.equals("Californium-OSCORE")) {
setEndpointsProviders(new CaliforniumClientEndpointsProvider.Builder(
getCaliforniumProtocolProviderSupportingOscore(protocolToUse)).build());
} else if (endpointProvider.equals("java-coap")) {
setEndpointsProviders(new JavaCoapClientEndpointsProvider());
}
return this;
}
Expand Down
Expand Up @@ -75,7 +75,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.SENML_JSON, //
Expand Down
Expand Up @@ -59,7 +59,9 @@ static Stream<org.junit.jupiter.params.provider.Arguments> transports() {
return Stream.of(//
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
arguments(Protocol.COAP, "Californium", "Californium"), //
arguments(Protocol.COAP, "Californium", "java-coap"));
arguments(Protocol.COAP, "Californium", "java-coap"), //
arguments(Protocol.COAP, "java-coap", "Californium"), //
arguments(Protocol.COAP, "java-coap", "java-coap"));
}

/*---------------------------------/
Expand Down
Expand Up @@ -73,7 +73,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.TLV, //
Expand Down
Expand Up @@ -66,7 +66,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.OPAQUE, //
Expand Down
Expand Up @@ -79,7 +79,9 @@ static Stream<Arguments> transports() {
Object[][] transports = new Object[][] {
// ProtocolUsed - Client Endpoint Provider - Server Endpoint Provider
{ Protocol.COAP, "Californium", "Californium" }, //
{ Protocol.COAP, "Californium", "java-coap" } };
{ Protocol.COAP, "Californium", "java-coap" }, //
{ Protocol.COAP, "java-coap", "Californium" }, //
{ Protocol.COAP, "java-coap", "java-coap" } };

Object[] contentFormats = new Object[] { //
ContentFormat.TEXT, //
Expand Down

0 comments on commit a15a513

Please sign in to comment.