use of org.eclipse.leshan.core.request.ReadRequest in project leshan by eclipse.
the class ObserveTest method can_observe_object.
@Test
public void can_observe_object() throws InterruptedException {
TestObservationListener listener = new TestObservationListener();
helper.server.getObservationService().addListener(listener);
// observe device timezone
ObserveResponse observeResponse = helper.server.send(helper.getCurrentRegistration(), new ObserveRequest(3));
assertEquals(ResponseCode.CONTENT, observeResponse.getCode());
assertNotNull(observeResponse.getCoapResponse());
assertThat(observeResponse.getCoapResponse(), is(instanceOf(Response.class)));
// an observation response should have been sent
Observation observation = observeResponse.getObservation();
assertEquals("/3", observation.getPath().toString());
assertEquals(helper.getCurrentRegistration().getId(), observation.getRegistrationId());
Set<Observation> observations = helper.server.getObservationService().getObservations(helper.getCurrentRegistration());
assertTrue("We should have only on observation", observations.size() == 1);
assertTrue("New observation is not there", observations.contains(observation));
// write device timezone
LwM2mResponse writeResponse = helper.server.send(helper.getCurrentRegistration(), new WriteRequest(3, 0, 15, "Europe/Paris"));
// verify result
listener.waitForNotification(2000);
assertEquals(ResponseCode.CHANGED, writeResponse.getCode());
assertTrue(listener.receivedNotify().get());
assertTrue(listener.getResponse().getContent() instanceof LwM2mObject);
assertNotNull(listener.getResponse().getCoapResponse());
assertThat(listener.getResponse().getCoapResponse(), is(instanceOf(Response.class)));
// try to read the object for comparing
ReadResponse readResp = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(3));
assertEquals(readResp.getContent(), listener.getResponse().getContent());
}
use of org.eclipse.leshan.core.request.ReadRequest in project leshan by eclipse.
the class QueueModeTest method sleeping_if_timeout.
@Test
public void sleeping_if_timeout() throws InterruptedException {
// Check client is not registered
queueModeHelper.assertClientNotRegisterered();
// Start it and wait for registration
queueModeHelper.client.start();
queueModeHelper.waitForRegistration(1);
// Check client is well registered and awake
queueModeHelper.assertClientRegisterered();
queueModeHelper.ensureClientAwake();
// Stop the client to ensure that TimeOut exception is thrown
queueModeHelper.client.stop(false);
// Send a response with very short timeout
ReadResponse response = queueModeHelper.server.send(queueModeHelper.getCurrentRegistration(), new ReadRequest(3, 0, 1), 1);
// Check that a timeout occurs
queueModeHelper.ensureTimeoutException(response);
// Check that the client is sleeping
queueModeHelper.ensureClientSleeping();
}
use of org.eclipse.leshan.core.request.ReadRequest in project leshan by eclipse.
the class ReadTest method can_read_object.
@Test
public void can_read_object() throws InterruptedException {
// read device object
ReadResponse response = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(3));
// verify result
assertEquals(CONTENT, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
LwM2mObject object = (LwM2mObject) response.getContent();
assertEquals(3, object.getId());
LwM2mObjectInstance instance = object.getInstance(0);
assertEquals(0, instance.getId());
}
use of org.eclipse.leshan.core.request.ReadRequest in project leshan by eclipse.
the class ReadTest method cannot_read_non_existent_object.
@Test
public void cannot_read_non_existent_object() throws InterruptedException {
// read object "50"
ReadResponse response = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(50));
// verify result
assertEquals(NOT_FOUND, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
}
use of org.eclipse.leshan.core.request.ReadRequest in project leshan by eclipse.
the class ReadTest method cannot_read_non_existent_resource.
@Test
public void cannot_read_non_existent_resource() throws InterruptedException {
// read device 50 resource
ReadResponse response = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(3, 0, 50));
// verify result
assertEquals(NOT_FOUND, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
}
Aggregations