import org.iotivity.cloud.base.protocols.coap.CoapResponse;
import org.iotivity.cloud.base.protocols.enums.RequestMethod;
import org.iotivity.cloud.base.protocols.enums.ResponseStatus;
+import org.iotivity.cloud.rdserver.Constants;
+import org.iotivity.cloud.rdserver.db.DBManager;
import org.iotivity.cloud.rdserver.resources.directory.rd.ResourceDirectoryResource;
import org.iotivity.cloud.rdserver.resources.directory.res.DiscoveryResource;
import org.iotivity.cloud.util.Cbor;
private ResourceDirectoryResource mRDResource = null;
private DiscoveryResource mDiscoveryResource = null;
private CoapDevice mockDevice = null;
- CountDownLatch latch = null;
- IResponse res;
+ private CountDownLatch mLatch = null;
+ private IResponse mResponse;
@Before
public void setUp() throws Exception {
- res = null;
+ mResponse = null;
mockDevice = mock(CoapDevice.class);
- latch = new CountDownLatch(1);
+ mLatch = new CountDownLatch(1);
mRDResource = new ResourceDirectoryResource();
mDiscoveryResource = new DiscoveryResource();
// callback mock
public CoapResponse answer(InvocationOnMock invocation)
throws Throwable {
CoapResponse resp = (CoapResponse) invocation.getArguments()[0];
- latch.countDown();
- res = resp;
+ mLatch.countDown();
+ mResponse = resp;
return resp;
}
}).when(mockDevice).sendResponse(Mockito.anyObject());
RDServerTestUtils.DISCOVERY_REQ_URI,
"rt=core.light;di=" + RDServerTestUtils.DI);
mDiscoveryResource.onDefaultRequestReceived(mockDevice, request);
- // assertion: if the response status is "CONTENT"
- // assertion : if the payload is null
- assertTrue(latch.await(2L, SECONDS));
- assertTrue(methodCheck(res, ResponseStatus.CONTENT));
- assertTrue(nullPayloadCheck(res));
+ // assertion: if the response status is "NOT_FOUND"
+ assertTrue(mLatch.await(2L, SECONDS));
+ assertTrue(methodCheck(mResponse, ResponseStatus.NOT_FOUND));
}
@Test
public void testHandleGetRequest_existValue() throws Exception {
+ // add presence state on
+ HashMap<String, Object> presenceinfo = new HashMap<>();
+ presenceinfo.put(Constants.DEVICE_ID, RDServerTestUtils.DI);
+ presenceinfo.put(Constants.PRESENCE_STATE, Constants.PRESENCE_ON);
+ DBManager.getInstance().insertRecord(Constants.PRESENCE_TABLE,
+ presenceinfo);
+
IRequest request = MessageBuilder.createRequest(RequestMethod.GET,
RDServerTestUtils.DISCOVERY_REQ_URI,
"rt=core.light;di=" + RDServerTestUtils.DI);
mDiscoveryResource.onDefaultRequestReceived(mockDevice, request);
// assertion: if the response status is "CONTENT"
// assertion : if the payload contains resource info
- assertTrue(latch.await(2L, SECONDS));
- assertTrue(methodCheck(res, ResponseStatus.CONTENT));
- assertTrue(discoverHashmapCheck(res, "di"));
- assertTrue(discoveredResourceCheck(res, "href"));
- assertTrue(discoveredResourceCheck(res, "rt"));
- assertTrue(discoveredResourceCheck(res, "if"));
+ assertTrue(mLatch.await(2L, SECONDS));
+ assertTrue(methodCheck(mResponse, ResponseStatus.CONTENT));
+ assertTrue(discoverHashmapCheck(mResponse, "di"));
+ assertTrue(discoveredResourceCheck(mResponse, "href"));
+ assertTrue(discoveredResourceCheck(mResponse, "rt"));
+ assertTrue(discoveredResourceCheck(mResponse, "if"));
}
private boolean discoverHashmapCheck(IResponse response,
private boolean nullPayloadCheck(IResponse response) {
ArrayList<Object> payloadData = mCbor
- .parsePayloadFromCbor(res.getPayload(), ArrayList.class);
+ .parsePayloadFromCbor(mResponse.getPayload(), ArrayList.class);
return (payloadData.isEmpty());
}
-}
\ No newline at end of file
+}