mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #1041 from Jasintha/policyServiceTest
Adding couple of missing test cases in policy service
This commit is contained in:
commit
b81ba06ebf
@ -19,6 +19,7 @@ package org.wso2.carbon.policy.mgt.core;
|
|||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.mockito.Spy;
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
@ -39,6 +40,7 @@ import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
|||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Profile;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.Profile;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.ProfileFeature;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.ProfileFeature;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.ComplianceFeature;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.ComplianceFeature;
|
||||||
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.NonComplianceData;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.PolicyComplianceException;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.PolicyComplianceException;
|
||||||
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||||
@ -51,6 +53,8 @@ import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
|||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
||||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
|
||||||
|
import org.wso2.carbon.policy.mgt.common.FeatureManagementException;
|
||||||
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationException;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
import org.wso2.carbon.policy.mgt.common.PolicyEvaluationPoint;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||||
import org.wso2.carbon.policy.mgt.core.enforcement.DelegationTask;
|
import org.wso2.carbon.policy.mgt.core.enforcement.DelegationTask;
|
||||||
@ -58,6 +62,7 @@ import org.wso2.carbon.policy.mgt.core.internal.PolicyManagementDataHolder;
|
|||||||
import org.wso2.carbon.policy.mgt.core.mock.TypeADeviceManagementService;
|
import org.wso2.carbon.policy.mgt.core.mock.TypeADeviceManagementService;
|
||||||
import org.wso2.carbon.policy.mgt.core.services.SimplePolicyEvaluationTest;
|
import org.wso2.carbon.policy.mgt.core.services.SimplePolicyEvaluationTest;
|
||||||
import org.wso2.carbon.policy.mgt.core.task.MonitoringTask;
|
import org.wso2.carbon.policy.mgt.core.task.MonitoringTask;
|
||||||
|
import org.wso2.carbon.policy.mgt.core.task.TaskScheduleService;
|
||||||
import org.wso2.carbon.policy.mgt.core.util.PolicyManagementConstants;
|
import org.wso2.carbon.policy.mgt.core.util.PolicyManagementConstants;
|
||||||
import org.wso2.carbon.registry.core.config.RegistryContext;
|
import org.wso2.carbon.registry.core.config.RegistryContext;
|
||||||
import org.wso2.carbon.registry.core.exceptions.RegistryException;
|
import org.wso2.carbon.registry.core.exceptions.RegistryException;
|
||||||
@ -80,12 +85,16 @@ public class PolicyManagerServiceImplTest extends BasePolicyManagementDAOTest {
|
|||||||
private static final String GROUP1 = "group1";
|
private static final String GROUP1 = "group1";
|
||||||
private static final String POLICY1 = "policy1";
|
private static final String POLICY1 = "policy1";
|
||||||
private static final String POLICY1_FEATURE1_CODE = "DISALLOW_ADJUST_VOLUME";
|
private static final String POLICY1_FEATURE1_CODE = "DISALLOW_ADJUST_VOLUME";
|
||||||
|
private static final String POLICY1_CAM_FEATURE1_CODE = "DISALLOW_OPEN_CAM";
|
||||||
private static final String ADMIN_USER = "admin";
|
private static final String ADMIN_USER = "admin";
|
||||||
|
public static final String DEVICE_2 = "device2";
|
||||||
|
public static final String DEVICE_TYPE_B = "deviceTypeB";
|
||||||
|
|
||||||
private DeviceManagementProviderService deviceMgtService;
|
private DeviceManagementProviderService deviceMgtService;
|
||||||
private GroupManagementProviderService groupMgtService;
|
private GroupManagementProviderService groupMgtService;
|
||||||
private OperationManager operationManager;
|
private OperationManager operationManager;
|
||||||
private PolicyManagerService policyManagerService;
|
private PolicyManagerService policyManagerService;
|
||||||
|
private Profile profile;
|
||||||
|
|
||||||
private Policy policy1;
|
private Policy policy1;
|
||||||
|
|
||||||
@ -303,8 +312,11 @@ public class PolicyManagerServiceImplTest extends BasePolicyManagementDAOTest {
|
|||||||
complianceFeatures.add(complianceFeature);
|
complianceFeatures.add(complianceFeature);
|
||||||
policyManagerService.checkCompliance(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A), complianceFeatures);
|
policyManagerService.checkCompliance(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A), complianceFeatures);
|
||||||
boolean deviceCompliance = policyManagerService.isCompliant(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A));
|
boolean deviceCompliance = policyManagerService.isCompliant(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A));
|
||||||
|
|
||||||
Assert.assertFalse(deviceCompliance, "Policy was compliant even though the response was not compliant");
|
Assert.assertFalse(deviceCompliance, "Policy was compliant even though the response was not compliant");
|
||||||
|
List<ComplianceFeature> complianceFeatureList = policyManagerService.
|
||||||
|
checkPolicyCompliance(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A), complianceFeatures);
|
||||||
|
Assert.assertNotNull(complianceFeature);
|
||||||
|
Assert.assertEquals(POLICY1_FEATURE1_CODE,complianceFeatureList.get(0).getFeatureCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "inactivatePolicy")
|
@Test(dependsOnMethods = "inactivatePolicy")
|
||||||
@ -326,9 +338,86 @@ public class PolicyManagerServiceImplTest extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "updatePolicy")
|
@Test(dependsOnMethods = "updatePolicy")
|
||||||
public void deletePolicy() throws PolicyManagementException {
|
public void deletePolicyById() throws PolicyManagementException {
|
||||||
policyManagerService.deletePolicy(policy1.getId());
|
policyManagerService.deletePolicy(policy1.getId());
|
||||||
Policy tempPolicy = policyManagerService.getPAP().getPolicy(policy1.getId());
|
Policy tempPolicy = policyManagerService.getPAP().getPolicy(policy1.getId());
|
||||||
Assert.assertNull(tempPolicy, "Policy was not deleted successfully");
|
Assert.assertNull(tempPolicy, "Policy was not deleted successfully");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "updatePolicy")
|
||||||
|
public void deletePolicyByPolicy() throws PolicyManagementException {
|
||||||
|
policyManagerService.deletePolicy(policy1);
|
||||||
|
Policy tempPolicy = policyManagerService.getPAP().getPolicy(policy1.getId());
|
||||||
|
Assert.assertNull(tempPolicy, "Policy was not deleted successfully");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "applyPolicy")
|
||||||
|
public void getEffectiveFeatures( ) throws Exception {
|
||||||
|
List<ProfileFeature> effectiveFeatures = policyManagerService.
|
||||||
|
getEffectiveFeatures(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A));
|
||||||
|
Assert.assertNotNull(effectiveFeatures);
|
||||||
|
Assert.assertEquals(POLICY1_FEATURE1_CODE,effectiveFeatures.get(0).getFeatureCode());
|
||||||
|
try{
|
||||||
|
policyManagerService.getEffectiveFeatures(new DeviceIdentifier(DEVICE_2, DEVICE_TYPE_B));
|
||||||
|
}catch(FeatureManagementException ex){
|
||||||
|
if(ex.getCause() instanceof PolicyEvaluationException){
|
||||||
|
Assert.assertTrue(ex.getCause() instanceof PolicyEvaluationException);
|
||||||
|
}else {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "applyPolicy")
|
||||||
|
public void getDeviceCompliance() throws Exception{
|
||||||
|
NonComplianceData deviceCompliance = policyManagerService.
|
||||||
|
getDeviceCompliance(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A));
|
||||||
|
Assert.assertNotNull(deviceCompliance);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "applyPolicy")
|
||||||
|
public void getTaskScheduleService() throws Exception{
|
||||||
|
TaskScheduleService taskScheduleService = policyManagerService.getTaskScheduleService();
|
||||||
|
Assert.assertNotNull(taskScheduleService);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "applyPolicy")
|
||||||
|
public void addProfile() throws Exception{
|
||||||
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
profile = new Profile();
|
||||||
|
profile.setTenantId(tenantId);
|
||||||
|
profile.setCreatedDate(new Timestamp(System.currentTimeMillis()));
|
||||||
|
profile.setDeviceType(DEVICE_TYPE_A);
|
||||||
|
|
||||||
|
List<ProfileFeature> profileFeatures = new ArrayList<ProfileFeature>();
|
||||||
|
ProfileFeature profileFeature = new ProfileFeature();
|
||||||
|
profileFeature.setContent("{'enable':'true'}");
|
||||||
|
profileFeature.setDeviceType(DEVICE_TYPE_A);
|
||||||
|
profileFeature.setFeatureCode(POLICY1_FEATURE1_CODE);
|
||||||
|
profileFeatures.add(profileFeature);
|
||||||
|
profile.setProfileFeaturesList(profileFeatures);
|
||||||
|
profile.setProfileName("tp_profile2");
|
||||||
|
profile.setUpdatedDate(new Timestamp(System.currentTimeMillis()));
|
||||||
|
Profile profile1 = policyManagerService.addProfile(profile);
|
||||||
|
Assert.assertNotNull(profile1);
|
||||||
|
Assert.assertEquals("tp_profile2",profile1.getProfileName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "addProfile")
|
||||||
|
public void updateProfile() throws Exception{
|
||||||
|
Policy effectivePolicy = policyManagerService.getEffectivePolicy(new DeviceIdentifier(DEVICE1, DEVICE_TYPE_A));
|
||||||
|
Profile currentProfile = effectivePolicy.getProfile();
|
||||||
|
List<ProfileFeature> profileFeatures = new ArrayList<>();
|
||||||
|
ProfileFeature profileFeature = new ProfileFeature();
|
||||||
|
profileFeature.setContent("{'enable':'true'}");
|
||||||
|
profileFeature.setDeviceType(DEVICE_TYPE_A);
|
||||||
|
profileFeature.setFeatureCode(POLICY1_CAM_FEATURE1_CODE);
|
||||||
|
profileFeatures.add(profileFeature);
|
||||||
|
profile.setProfileFeaturesList(profileFeatures);
|
||||||
|
profile.setUpdatedDate(new Timestamp(System.currentTimeMillis()));
|
||||||
|
Profile updatedProfile = policyManagerService.updateProfile(this.profile);
|
||||||
|
Assert.assertNotNull(profile);
|
||||||
|
Assert.assertNotNull(currentProfile.getProfileFeaturesList().get(0).getFeatureCode(),
|
||||||
|
updatedProfile.getProfileFeaturesList().get(0).getFeatureCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -27,6 +27,7 @@ import org.wso2.carbon.device.mgt.common.policy.mgt.ProfileFeature;
|
|||||||
import org.wso2.carbon.policy.mgt.common.*;
|
import org.wso2.carbon.policy.mgt.common.*;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerServiceImpl;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerServiceImpl;
|
||||||
|
import org.wso2.carbon.policy.mgt.core.internal.PolicyManagementDataHolder;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -35,16 +36,15 @@ public class
|
|||||||
SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(SimplePolicyEvaluationTest.class);
|
private static final Log log = LogFactory.getLog(SimplePolicyEvaluationTest.class);
|
||||||
|
public static final String DEVICE2 = "device2"; // assuming this device does not have valid policy
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
public Policy getEffectivePolicy(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
||||||
Policy policy = new Policy();
|
Policy policy = new Policy();
|
||||||
|
|
||||||
List<Policy> policyList;
|
List<Policy> policyList;
|
||||||
PolicyAdministratorPoint policyAdministratorPoint;
|
PolicyAdministratorPoint policyAdministratorPoint;
|
||||||
PolicyInformationPoint policyInformationPoint;
|
PolicyInformationPoint policyInformationPoint;
|
||||||
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (policyManagerService != null) {
|
if (policyManagerService != null) {
|
||||||
|
|
||||||
@ -76,7 +76,11 @@ SimplePolicyEvaluationTest implements PolicyEvaluationPoint {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier) throws PolicyEvaluationException {
|
||||||
return null;
|
if(DEVICE2.equals(deviceIdentifier.getId())) {
|
||||||
|
throw new PolicyEvaluationException();
|
||||||
|
}else {
|
||||||
|
return getEffectivePolicy(deviceIdentifier).getProfile().getProfileFeaturesList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user