Search in sources :

Example 1 with CaliforniumLwM2mRequestSender

use of org.eclipse.leshan.client.californium.impl.CaliforniumLwM2mRequestSender in project leshan by eclipse.

the class RegistrationTest method register_with_additional_attributes.

@Test
public void register_with_additional_attributes() throws InterruptedException {
    // Check registration
    helper.assertClientNotRegisterered();
    // HACK to be able to send a Registration request with additional attributes
    LeshanClient lclient = helper.client;
    lclient.getCoapServer().start();
    Endpoint secureEndpoint = lclient.getCoapServer().getEndpoint(lclient.getSecuredAddress());
    Endpoint nonSecureEndpoint = lclient.getCoapServer().getEndpoint(lclient.getUnsecuredAddress());
    CaliforniumLwM2mRequestSender sender = new CaliforniumLwM2mRequestSender(secureEndpoint, nonSecureEndpoint);
    // Create Request with additional attributes
    Map<String, String> additionalAttributes = new HashMap<>();
    additionalAttributes.put("key1", "value1");
    additionalAttributes.put("imei", "2136872368");
    Link[] objectLinks = Link.parse("</>;rt=\"oma.lwm2m\",</1/0>,</2>,</3/0>".getBytes());
    RegisterRequest registerRequest = new RegisterRequest(helper.getCurrentEndpoint(), null, null, null, null, objectLinks, additionalAttributes);
    // Send request
    RegisterResponse resp = sender.send(helper.server.getUnsecuredAddress(), false, registerRequest, 5000l);
    helper.waitForRegistration(1);
    // Check we are registered with the expected attributes
    helper.assertClientRegisterered();
    assertNotNull(helper.last_registration);
    assertEquals(additionalAttributes, helper.last_registration.getAdditionalRegistrationAttributes());
    assertArrayEquals(Link.parse("</>;rt=\"oma.lwm2m\",</1/0>,</2>,</3/0>".getBytes()), helper.getCurrentRegistration().getObjectLinks());
    sender.send(helper.server.getUnsecuredAddress(), false, new DeregisterRequest(resp.getRegistrationID()), 5000l);
    lclient.getCoapServer().stop();
}
Also used : CaliforniumLwM2mRequestSender(org.eclipse.leshan.client.californium.impl.CaliforniumLwM2mRequestSender) RegisterRequest(org.eclipse.leshan.core.request.RegisterRequest) RegisterResponse(org.eclipse.leshan.core.response.RegisterResponse) CoapEndpoint(org.eclipse.californium.core.network.CoapEndpoint) Endpoint(org.eclipse.californium.core.network.Endpoint) HashMap(java.util.HashMap) DeregisterRequest(org.eclipse.leshan.core.request.DeregisterRequest) Link(org.eclipse.leshan.Link) LeshanClient(org.eclipse.leshan.client.californium.LeshanClient) Test(org.junit.Test)

Aggregations

HashMap (java.util.HashMap)1 CoapEndpoint (org.eclipse.californium.core.network.CoapEndpoint)1 Endpoint (org.eclipse.californium.core.network.Endpoint)1 Link (org.eclipse.leshan.Link)1 LeshanClient (org.eclipse.leshan.client.californium.LeshanClient)1 CaliforniumLwM2mRequestSender (org.eclipse.leshan.client.californium.impl.CaliforniumLwM2mRequestSender)1 DeregisterRequest (org.eclipse.leshan.core.request.DeregisterRequest)1 RegisterRequest (org.eclipse.leshan.core.request.RegisterRequest)1 RegisterResponse (org.eclipse.leshan.core.response.RegisterResponse)1 Test (org.junit.Test)1