Skip to content

Commit

Permalink
Merge pull request #932 from hashmapinc/Tempus-899-ABAC-for-devices
Browse files Browse the repository at this point in the history
Tempus-899 abac for devices
  • Loading branch information
shgupta22 committed Dec 26, 2018
2 parents 94b00b5 + 37f1a1a commit 16541da
Show file tree
Hide file tree
Showing 47 changed files with 1,330 additions and 344 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,5 @@ pom.xml.versionsBackup
.vscode/
docs/_build
docs/developerQS/_build
.factorypath
.factorypath
.java-version
Original file line number Diff line number Diff line change
Expand Up @@ -777,9 +777,10 @@ protected DataModel createDataModel() throws Exception{
return savedDataModel;
}

protected DataModelObject createDataModelObject(DataModel dataModel) throws Exception{
protected DataModelObject createDataModelObject(DataModel dataModel, String name, String type) throws Exception{
DataModelObject dataModelObject = new DataModelObject();
dataModelObject.setName("Well");
dataModelObject.setName(name);
dataModelObject.setType(type);

AttributeDefinition ad = new AttributeDefinition();
ad.setValueType("STRING");
Expand Down Expand Up @@ -826,4 +827,30 @@ protected void deleteAsset(AssetId assetId) throws Exception {
.andExpect(status().isOk());
}

protected Device createDevice(DataModelObjectId dataModelObjectId, CustomerId customerId, String deviceName) throws Exception {
Device device = new Device();
device.setName(deviceName);
device.setType("default");
device.setDataModelObjectId(dataModelObjectId);
device.setTenantId(tenantId);
device.setCustomerId(customerId);
Device savedDevice = doPost("/api/device", device, Device.class);
Assert.assertNotNull(savedDevice);
Assert.assertNotNull(savedDevice.getId());
Assert.assertTrue(savedDevice.getCreatedTime() > 0);
Assert.assertEquals(savedTenant.getId(), savedDevice.getTenantId());
Assert.assertNotNull(savedDevice.getCustomerId());
if(customerId == null){
Assert.assertEquals(NULL_UUID, savedDevice.getCustomerId().getId());
}else{
Assert.assertEquals(customerId, savedDevice.getCustomerId());
}
Assert.assertEquals(device.getName(), savedDevice.getName());
return savedDevice;
}

protected void deleteDevice(DeviceId deviceId) throws Exception {
doDelete("/api/device/"+deviceId.getId().toString())
.andExpect(status().isOk());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ public void testFindCustomerAssetsByType() throws Exception {

List<Asset> loadedAssetsType1 = new ArrayList<>();
TextPageLink pageLink = new TextPageLink(15);
TextPageData<Asset> pageData = null;
TextPageData<Asset> pageData ;
do {
pageData = doGetTypedWithPageLink("/api/customer/" + customerId.getId().toString() + "/assets?type={type}&",
new TypeReference<TextPageData<Asset>>(){}, pageLink, type1);
Expand Down Expand Up @@ -594,7 +594,7 @@ public void testFindCustomerAssetsByType() throws Exception {
public void testPolicyForAsset() throws Exception {

DataModel dataModel = createDataModel();
DataModelObject dataModelObject = createDataModelObject(dataModel);
DataModelObject dataModelObject = createDataModelObject(dataModel, "Well", "Asset");
Asset asset = createAsset(dataModelObject.getId(), customerUser.getCustomerId(), "Tenant's asset");
String policy = String.format("CUSTOMER_USER:ASSET?%s=%s&%s=%s:READ",
UserPermission.ResourceAttribute.ID, asset.getId().getId().toString(),
Expand Down Expand Up @@ -660,7 +660,7 @@ public void testPolicyForAsset() throws Exception {
@Test
public void findAllAssetsByDataModeObject() throws Exception{
DataModel dataModel = createDataModel();
DataModelObject dataModelObject = createDataModelObject(dataModel);
DataModelObject dataModelObject = createDataModelObject(dataModel, "Well", "Asset");

String policyNew1 = String.format("CUSTOMER_USER:ASSET?%s=%s:READ",
UserPermission.ResourceAttribute.DATA_MODEL_ID, dataModelObject.getId().getId().toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ public void testFindCustomerGroupsByTitle() throws Exception {
public void testGetDisplayablePoliciesForGroup() throws Exception {

DataModel dataModel = createDataModel();
DataModelObject dataModelObject = createDataModelObject(dataModel);
DataModelObject dataModelObject = createDataModelObject(dataModel, "Well", "Asset");
Asset asset = createAsset(dataModelObject.getId(), null, "My asset");

try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
import com.hashmapinc.server.dao.computations.ComputationsService;
import com.hashmapinc.server.extensions.core.plugin.telemetry.TelemetryStoragePlugin;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -366,7 +365,7 @@ public void testFindDashboardByDataModelObj() throws Exception {
dashboard.setType(DashboardType.ASSET_LANDING_PAGE);

DataModel dataModel = createDataModel();
DataModelObject dataModelObject = createDataModelObject(dataModel);
DataModelObject dataModelObject = createDataModelObject(dataModel, "Well", "Asset");

AssetLandingInfo ald = new AssetLandingInfo();
ald.setDataModelId(dataModel.getId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,12 @@
package com.hashmapinc.server.controller;

import com.fasterxml.jackson.core.type.TypeReference;
import com.hashmapinc.server.common.data.datamodel.AttributeDefinition;
import com.hashmapinc.server.common.data.datamodel.DataModel;
import com.hashmapinc.server.common.data.datamodel.DataModelObject;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
Expand All @@ -38,7 +36,7 @@ public class BaseDataModelControllerTest extends AbstractControllerTest {
public void beforeTest() throws Exception {
loginTenantAdmin();
defaultDataModel = createDataModel();
defaultDataModelObj = createDataModelObject(defaultDataModel);
defaultDataModelObj = createDataModelObject(defaultDataModel, "Well", "Asset");
}

@Test
Expand Down
Loading

0 comments on commit 16541da

Please sign in to comment.