*/
package org.iotivity.cloud.accountserver.db;
-import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
/**
* API creating MongoClient and initializing MongoDatabase
*
- * @param dbname
- * database name to create MongoDatabase
- * @throws Exception
- */
- public MongoDB(String dbname) throws Exception {
- mongoClient = new MongoClient(InetAddress.getLocalHost().getHostAddress());
- mongoClient.dropDatabase(dbname);
- db = mongoClient.getDatabase(dbname);
- }
-
- /**
- * API creating MongoClient and initializing MongoDatabase
- *
* @param host
* host of MongoDatabase
* @param dbname
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
}
private void resetDB() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.USER_TABLE);
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
AclResource.getInstance().deleteAcl((String) AclResource.getInstance()
.getAclid(mDi2).get(Constants.KEYFIELD_ACLID));
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.ACL_TABLE);
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
}
private void resetDB() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.USER_TABLE);
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.deleteTable(Constants.TOKEN_TABLE);
}
public void resetDB() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.USER_TABLE);
import org.mockito.stubbing.Answer;
public class AclIdResourceTest {
- private static final String ACL_ID_URI = Constants.ACL_ID_FULL_URI;
- final CountDownLatch mLatch = new CountDownLatch(1);
- private final String mDeviceUuid = "9cfbeb8e-5a1e-4d1c-9d01-2ae6fdb";
- private final String mOwnerUuid = "123e4567-e89b-12d3-a456-4266554";
- private final String mSubjectUuid = "72616E64-5069-6E44-6576-5575696";
- private final int mSubjectType = 0;
- private final int mPermission = 6;
- private final int mSubjectTypeUpdate = 1;
- private final int mPermissionUpdate = 7;
- private final String mResourceUri = "/a/light/0";
- private final String mResourceType = "core.light";
- private final String mResourceIf = "oic.if.baseline";
- private String mAceId = "a0001";
- private String mAclId = "987e6543-e21b-12d3-a456-4266554";
- private CoapDevice mMockDevice = Mockito.mock(CoapDevice.class);
- private Cbor<HashMap<String, Object>> mCbor = new Cbor<>();
- private IResponse mResponse = null;
- private AclResource mAclResource = new AclResource();
+ private static final String ACL_ID_URI = Constants.ACL_ID_FULL_URI;
+ final CountDownLatch mLatch = new CountDownLatch(
+ 1);
+ private final String mDeviceUuid = "9cfbeb8e-5a1e-4d1c-9d01-2ae6fdb";
+ private final String mOwnerUuid = "123e4567-e89b-12d3-a456-4266554";
+ private final String mSubjectUuid = "72616E64-5069-6E44-6576-5575696";
+ private final int mSubjectType = 0;
+ private final int mPermission = 6;
+ private final int mSubjectTypeUpdate = 1;
+ private final int mPermissionUpdate = 7;
+ private final String mResourceUri = "/a/light/0";
+ private final String mResourceType = "core.light";
+ private final String mResourceIf = "oic.if.baseline";
+ private String mAceId = "a0001";
+ private String mAclId = "987e6543-e21b-12d3-a456-4266554";
+ private CoapDevice mMockDevice = Mockito
+ .mock(CoapDevice.class);
+ private Cbor<HashMap<String, Object>> mCbor = new Cbor<>();
+ private IResponse mResponse = null;
+ private AclResource mAclResource = new AclResource();
@Before
public void setUp() throws Exception {
resetDB();
Mockito.doAnswer(new Answer<Object>() {
@Override
- public CoapResponse answer(InvocationOnMock invocation) throws Throwable {
+ public CoapResponse answer(InvocationOnMock invocation)
+ throws Throwable {
Object[] args = invocation.getArguments();
CoapResponse resp = (CoapResponse) args[0];
- System.out.println("\t----------payload : " + resp.getPayloadString());
+ System.out.println(
+ "\t----------payload : " + resp.getPayloadString());
System.out.println("\t---------method : " + resp.getStatus());
mResponse = resp;
if (mAclId == null) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(resp.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(resp.getPayload(),
+ HashMap.class);
if (payloadData.containsKey("aclid")) {
mAclId = (String) payloadData.get("aclid");
}
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.ACL_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
assertTrue(mLatch.await(2L, SECONDS));
}
- private void createAclId(CoapDevice device, String di, String oid) throws Exception {
+ private void createAclId(CoapDevice device, String di, String oid)
+ throws Exception {
System.out.println("-----Create Acl Id");
IRequest request = null;
request = createAclIdRequest(oid, di);
mAclResource.onDefaultRequestReceived(device, request);
}
- private void addIndividualAce(CoapDevice device, String aclId) throws Exception {
+ private void addIndividualAce(CoapDevice device, String aclId)
+ throws Exception {
System.out.println("-----Add Individual Ace");
IRequest request = null;
request = addIndividualAceRequest(aclId);
mAclResource.onDefaultRequestReceived(device, request);
}
- private void updateIndividualAce(CoapDevice device, String aclId, String aceId) throws Exception {
+ private void updateIndividualAce(CoapDevice device, String aclId,
+ String aceId) throws Exception {
System.out.println("-----Update Individual Acl Ace");
IRequest request = null;
request = updateIndividualAceRequest(aclId, aceId);
mAclResource.onDefaultRequestReceived(device, request);
}
- private void deleteIndividualAclAce(CoapDevice device, String aclId, String aceId) throws Exception {
+ private void deleteIndividualAclAce(CoapDevice device, String aclId,
+ String aceId) throws Exception {
System.out.println("-----Delete Individual Acl Ace");
IRequest request = null;
request = deleteIndividualAclAceRequest(aclId, aceId);
private IRequest getAclIdRequest(String deviceUuid) {
IRequest request = null;
- request = MessageBuilder.createRequest(RequestMethod.GET, ACL_ID_URI, "di=" + deviceUuid);
+ request = MessageBuilder.createRequest(RequestMethod.GET, ACL_ID_URI,
+ "di=" + deviceUuid);
((CoapRequest) request).setObserve(Observe.SUBSCRIBE);
return request;
}
private IRequest createAclIdRequest(String oid, String di) {
IRequest request = null;
- String uriQuery = Constants.REQ_OWNER_ID + "=" + oid + ";" + Constants.REQ_DEVICE_ID + "=" + di;
- request = MessageBuilder.createRequest(RequestMethod.PUT, ACL_ID_URI, uriQuery);
+ String uriQuery = Constants.REQ_OWNER_ID + "=" + oid + ";"
+ + Constants.REQ_DEVICE_ID + "=" + di;
+ request = MessageBuilder.createRequest(RequestMethod.PUT, ACL_ID_URI,
+ uriQuery);
return request;
}
private IRequest deleteAclIdRequest(String aclId) {
IRequest request = null;
- request = MessageBuilder.createRequest(RequestMethod.DELETE, ACL_ID_URI, "aclid=" + aclId);
+ request = MessageBuilder.createRequest(RequestMethod.DELETE, ACL_ID_URI,
+ "aclid=" + aclId);
return request;
}
private IRequest getIndividualAclRequest(String aclId) {
IRequest request = null;
- request = MessageBuilder.createRequest(RequestMethod.GET, ACL_ID_URI + "/" + aclId, null);
+ request = MessageBuilder.createRequest(RequestMethod.GET,
+ ACL_ID_URI + "/" + aclId, null);
((CoapRequest) request).setObserve(Observe.NOTHING);
return request;
}
HashMap<String, Object> payload = new HashMap<>();
payload.put(Constants.REQ_ACL_LIST, Arrays.asList(acelist));
- return MessageBuilder.createRequest(RequestMethod.POST, ACL_ID_URI + "/" + aclId, null,
- ContentFormat.APPLICATION_CBOR, mCbor.encodingPayloadToCbor(payload));
+ return MessageBuilder.createRequest(RequestMethod.POST,
+ ACL_ID_URI + "/" + aclId, null, ContentFormat.APPLICATION_CBOR,
+ mCbor.encodingPayloadToCbor(payload));
}
private IRequest updateIndividualAceRequest(String aclId, String aceId) {
HashMap<String, Object> payload = new HashMap<>();
payload.put(Constants.REQ_ACL_LIST, Arrays.asList(acelist));
- return MessageBuilder.createRequest(RequestMethod.POST, ACL_ID_URI + "/" + aclId, "aceid=" + aceId,
- ContentFormat.APPLICATION_CBOR, mCbor.encodingPayloadToCbor(payload));
+ return MessageBuilder.createRequest(RequestMethod.POST,
+ ACL_ID_URI + "/" + aclId, "aceid=" + aceId,
+ ContentFormat.APPLICATION_CBOR,
+ mCbor.encodingPayloadToCbor(payload));
}
private IRequest deleteIndividualAclAceRequest(String aclId, String aceId) {
IRequest request = null;
- request = MessageBuilder.createRequest(RequestMethod.DELETE, ACL_ID_URI + "/" + aclId, "aceid=" + aceId);
+ request = MessageBuilder.createRequest(RequestMethod.DELETE,
+ ACL_ID_URI + "/" + aclId, "aceid=" + aceId);
return request;
}
private void hashmapGetAclId(IResponse response, String propertyName) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(response.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(response.getPayload(), HashMap.class);
if (payloadData.containsKey(propertyName)) {
mAclId = (String) payloadData.get(propertyName);
}
private void hashmapGetAceId(IResponse response, String propertyName) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(response.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(response.getPayload(), HashMap.class);
if (payloadData.containsKey("aclist")) {
- List<HashMap<String, Object>> aclist = (List<HashMap<String, Object>>) payloadData.get("aclist");
+ List<HashMap<String, Object>> aclist = (List<HashMap<String, Object>>) payloadData
+ .get("aclist");
mAceId = (String) aclist.get(0).get(propertyName);
System.out.println("hashmapGetAceId getace " + mAceId);
}
}
private boolean hashmapCheck(IResponse response, String propertyName) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(response.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(response.getPayload(), HashMap.class);
if (payloadData.containsKey(propertyName)) {
return true;
} else {
}
}
- private boolean methodCheck(IResponse response, ResponseStatus responseStatus) {
+ private boolean methodCheck(IResponse response,
+ ResponseStatus responseStatus) {
if (responseStatus == response.getStatus()) {
return true;
} else {
}
public void resetDB() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.ACL_TABLE);
mResponse = null;
// reset data base
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.INVITE_TABLE);
mongoDB.createTable(Constants.INVITE_TABLE);
import org.iotivity.cloud.accountserver.db.MongoDB;
import org.iotivity.cloud.accountserver.resources.acl.id.AclResource;
import org.iotivity.cloud.base.device.CoapDevice;
-
import org.iotivity.cloud.base.protocols.IRequest;
import org.iotivity.cloud.base.protocols.IResponse;
import org.iotivity.cloud.base.protocols.MessageBuilder;
import org.mockito.stubbing.Answer;
public class AclVerifyResourceTest {
- private static final String ACL_ID_URI = Constants.ACL_ID_FULL_URI;
- private static final String ACL_VERIFY_URI = Constants.ACL_VERIFY_FULL_URI;
- final CountDownLatch mLatch = new CountDownLatch(1);
- private final String mDeviceUuid = "9cfbeb8e-5a1e-4d1c-9d01-2ae6fdb";
- private final String mOwnerUuid = "123e4567-e89b-12d3-a456-4266554";
- private final String mSubjectUuid = "72616E64-5069-6E44-6576-5575696";
- private final String mRmType = "POST";
- private final int mSubjectType = 1;
- private final int mPermission = 7;
- private final String mResourceUri = "/a/light/0";
- private final String mResourceType = "core.light";
- private final String mResourceIf = "oic.if.baseline";
- private String mAclId = "987e6543-e21b-12d3-a456-4266554";
- private CoapDevice mMockDevice = Mockito.mock(CoapDevice.class);
- private Cbor<HashMap<String, Object>> mCbor = new Cbor<>();
- private IResponse mResponse = null;
- private AclVerifyResource mAclVerifyResource = new AclVerifyResource();
- private AclResource mAclResource = new AclResource();
+ private static final String ACL_ID_URI = Constants.ACL_ID_FULL_URI;
+ private static final String ACL_VERIFY_URI = Constants.ACL_VERIFY_FULL_URI;
+ final CountDownLatch mLatch = new CountDownLatch(
+ 1);
+ private final String mDeviceUuid = "9cfbeb8e-5a1e-4d1c-9d01-2ae6fdb";
+ private final String mOwnerUuid = "123e4567-e89b-12d3-a456-4266554";
+ private final String mSubjectUuid = "72616E64-5069-6E44-6576-5575696";
+ private final String mRmType = "POST";
+ private final int mSubjectType = 1;
+ private final int mPermission = 7;
+ private final String mResourceUri = "/a/light/0";
+ private final String mResourceType = "core.light";
+ private final String mResourceIf = "oic.if.baseline";
+ private String mAclId = "987e6543-e21b-12d3-a456-4266554";
+ private CoapDevice mMockDevice = Mockito
+ .mock(CoapDevice.class);
+ private Cbor<HashMap<String, Object>> mCbor = new Cbor<>();
+ private IResponse mResponse = null;
+ private AclVerifyResource mAclVerifyResource = new AclVerifyResource();
+ private AclResource mAclResource = new AclResource();
@Before
public void setUp() throws Exception {
resetDB();
Mockito.doAnswer(new Answer<Object>() {
@Override
- public CoapResponse answer(InvocationOnMock invocation) throws Throwable {
+ public CoapResponse answer(InvocationOnMock invocation)
+ throws Throwable {
Object[] args = invocation.getArguments();
CoapResponse resp = (CoapResponse) args[0];
- System.out.println("\t----------payload : " + resp.getPayloadString());
+ System.out.println(
+ "\t----------payload : " + resp.getPayloadString());
System.out.println("\t---------method : " + resp.getStatus());
mResponse = resp;
if (mAclId == null) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(resp.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(resp.getPayload(),
+ HashMap.class);
if (payloadData.containsKey("aclid")) {
mAclId = (String) payloadData.get("aclid");
}
@After
public void resetAccountDatabase() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.createTable(Constants.USER_TABLE);
mongoDB.createTable(Constants.ACL_TABLE);
mongoDB.createTable(Constants.TOKEN_TABLE);
createAclId(mMockDevice, mDeviceUuid, mOwnerUuid);
hashmapGetAclId(mResponse, "aclid");
addIndividualAce(mMockDevice, mAclId);
- verifyAcl(mMockDevice, mSubjectUuid, mDeviceUuid, mRmType, mResourceUri);
+ verifyAcl(mMockDevice, mSubjectUuid, mDeviceUuid, mRmType,
+ mResourceUri);
assertTrue(methodCheck(mResponse, ResponseStatus.CONTENT));
assertTrue(hashmapCheck(mResponse, "gp"));
assertTrue(mLatch.await(2L, SECONDS));
}
- private void createAclId(CoapDevice device, String di, String oid) throws Exception {
+ private void createAclId(CoapDevice device, String di, String oid)
+ throws Exception {
System.out.println("-----Create Acl Id");
IRequest request = null;
request = createAclIdRequest(oid, di);
private IRequest createAclIdRequest(String oid, String di) {
IRequest request = null;
- String uriQuery = Constants.REQ_OWNER_ID + "=" + oid + ";" + Constants.REQ_DEVICE_ID + "=" + di;
- request = MessageBuilder.createRequest(RequestMethod.PUT, ACL_ID_URI, uriQuery);
+ String uriQuery = Constants.REQ_OWNER_ID + "=" + oid + ";"
+ + Constants.REQ_DEVICE_ID + "=" + di;
+ request = MessageBuilder.createRequest(RequestMethod.PUT, ACL_ID_URI,
+ uriQuery);
return request;
}
- private void addIndividualAce(CoapDevice device, String aclId) throws Exception {
+ private void addIndividualAce(CoapDevice device, String aclId)
+ throws Exception {
System.out.println("-----Add Individual Ace");
IRequest request = null;
request = addIndividualAceRequest(aclId);
HashMap<String, Object> payload = new HashMap<>();
payload.put(Constants.REQ_ACL_LIST, Arrays.asList(acelist));
- return MessageBuilder.createRequest(RequestMethod.POST, ACL_ID_URI + "/" + aclId, null,
- ContentFormat.APPLICATION_CBOR, mCbor.encodingPayloadToCbor(payload));
+ return MessageBuilder.createRequest(RequestMethod.POST,
+ ACL_ID_URI + "/" + aclId, null, ContentFormat.APPLICATION_CBOR,
+ mCbor.encodingPayloadToCbor(payload));
}
- private void verifyAcl(CoapDevice device, String subjectUuid, String di, String rm, String uri) throws Exception {
+ private void verifyAcl(CoapDevice device, String subjectUuid, String di,
+ String rm, String uri) throws Exception {
System.out.println("-----Verify Acl");
IRequest request = null;
request = verifyAclRequest(subjectUuid, di, rm, uri);
mAclVerifyResource.onDefaultRequestReceived(device, request);
}
- private IRequest verifyAclRequest(String subjectUuid, String di, String rm, String uri) {
+ private IRequest verifyAclRequest(String subjectUuid, String di, String rm,
+ String uri) {
IRequest request = null;
- String queryUrl = "sid=" + subjectUuid + ";di=" + di + ";rm=" + rm + ";uri=" + uri;
+ String queryUrl = "sid=" + subjectUuid + ";di=" + di + ";rm=" + rm
+ + ";uri=" + uri;
System.out.println(queryUrl);
- request = MessageBuilder.createRequest(RequestMethod.GET, ACL_VERIFY_URI, queryUrl);
+ request = MessageBuilder.createRequest(RequestMethod.GET,
+ ACL_VERIFY_URI, queryUrl);
((CoapRequest) request).setObserve(Observe.SUBSCRIBE);
return request;
}
private void hashmapGetAclId(IResponse response, String propertyName) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(response.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(response.getPayload(), HashMap.class);
if (payloadData.containsKey(propertyName)) {
mAclId = (String) payloadData.get(propertyName);
}
private boolean hashmapCheck(IResponse response, String propertyName) {
- HashMap<String, Object> payloadData = mCbor.parsePayloadFromCbor(response.getPayload(), HashMap.class);
+ HashMap<String, Object> payloadData = mCbor
+ .parsePayloadFromCbor(response.getPayload(), HashMap.class);
if (payloadData.containsKey(propertyName)) {
return true;
} else {
}
}
- private boolean methodCheck(IResponse response, ResponseStatus responseStatus) {
+ private boolean methodCheck(IResponse response,
+ ResponseStatus responseStatus) {
if (responseStatus == response.getStatus()) {
return true;
} else {
}
public void resetDB() throws Exception {
- MongoDB mongoDB = new MongoDB(Constants.DB_NAME);
+ MongoDB mongoDB = new MongoDB("127.0.0.1", Constants.DB_NAME);
mongoDB.deleteTable(Constants.GROUP_TABLE);
mongoDB.createTable(Constants.GROUP_TABLE);
mongoDB.deleteTable(Constants.ACL_TABLE);