1 package org.iotivity.cloud.ciserver.resources.proxy.account;
3 import static java.util.concurrent.TimeUnit.SECONDS;
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertTrue;
6 import static org.mockito.Mockito.mock;
8 import java.util.concurrent.CountDownLatch;
10 import org.iotivity.cloud.base.OICConstants;
11 import org.iotivity.cloud.base.connector.ConnectorPool;
12 import org.iotivity.cloud.base.device.CoapDevice;
13 import org.iotivity.cloud.base.device.IRequestChannel;
14 import org.iotivity.cloud.base.protocols.IRequest;
15 import org.iotivity.cloud.base.protocols.MessageBuilder;
16 import org.iotivity.cloud.base.protocols.coap.CoapRequest;
17 import org.iotivity.cloud.base.protocols.enums.RequestMethod;
18 import org.iotivity.cloud.ciserver.DeviceServerSystem;
19 import org.junit.Before;
20 import org.junit.Test;
21 import org.mockito.InjectMocks;
22 import org.mockito.Mock;
23 import org.mockito.Mockito;
24 import org.mockito.MockitoAnnotations;
25 import org.mockito.invocation.InvocationOnMock;
26 import org.mockito.stubbing.Answer;
28 public class AclTest {
29 private static final String TEST_RESOURCE_ACI_URI = "/"
30 + OICConstants.PREFIX_OIC + "/" + OICConstants.ACL_URI;
31 private CoapDevice mockDevice = mock(CoapDevice.class);
33 ConnectorPool connectorPool = null;
34 DeviceServerSystem deviceServerSystem = new DeviceServerSystem();
35 final CountDownLatch latch = new CountDownLatch(1);
38 IRequestChannel requestChannel;
41 Acl aclHandler = new Acl();
44 public void setUp() throws Exception {
46 MockitoAnnotations.initMocks(this);
47 deviceServerSystem.addResource(aclHandler);
49 Mockito.doAnswer(new Answer<Object>() {
51 public CoapRequest answer(InvocationOnMock invocation)
53 Object[] args = invocation.getArguments();
54 CoapRequest request = (CoapRequest) args[0];
56 "\t----------payload : " + request.getPayloadString());
58 "\t----------uripath : " + request.getUriPath());
60 "\t---------uriquery : " + request.getUriQuery());
65 }).when(requestChannel).sendRequest(Mockito.any(IRequest.class),
66 Mockito.any(CoapDevice.class));
70 public void testOnDefaultRequestReceived() throws Exception {
72 "\t--------------OnRequestReceived(AS)Test------------");
74 IRequest request = MessageBuilder.createRequest(RequestMethod.POST,
75 TEST_RESOURCE_ACI_URI, null, null, null);
76 aclHandler.onRequestReceived(mockDevice, request);
78 assertTrue(latch.await(1L, SECONDS));
79 assertEquals(req.getUriPath(), TEST_RESOURCE_ACI_URI);