Skip to content

Commit

Permalink
Improve policy persistence manager related unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
UdeshAthukorala committed Sep 28, 2024
1 parent 93085cd commit 61efef8
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

package org.wso2.carbon.identity.entitlement.persistence;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.wso2.carbon.identity.common.testng.WithCarbonHome;
import org.wso2.carbon.identity.common.testng.WithH2Database;
Expand Down Expand Up @@ -49,15 +48,15 @@ public class HybridPolicyPersistenceManagerTest extends PolicyPersistenceManager
private JDBCPolicyPersistenceManager jdbcPolicyPersistenceManager;
private RegistryPolicyPersistenceManager registryPolicyPersistenceManager;

@BeforeMethod
public void setUp() throws Exception {
public PolicyPersistenceManager createPolicyPersistenceManager() {

Properties storeProps = new Properties();
policyPersistenceManager = new HybridPolicyPersistenceManager();
policyPersistenceManager.init(storeProps);
jdbcPolicyPersistenceManager = new JDBCPolicyPersistenceManager();
registryPolicyPersistenceManager = new RegistryPolicyPersistenceManager();
registryPolicyPersistenceManager.init(storeProps);
return policyPersistenceManager;
}

@Test(priority = 13)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

package org.wso2.carbon.identity.entitlement.persistence;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.wso2.carbon.identity.common.testng.WithCarbonHome;
import org.wso2.carbon.identity.common.testng.WithH2Database;
Expand All @@ -39,10 +38,9 @@
@WithH2Database(files = {"dbscripts/h2.sql"})
public class JDBCPolicyPersistenceManagerTest extends PolicyPersistenceManagerTest {

@BeforeMethod
public void setUp() throws Exception {
public PolicyPersistenceManager createPolicyPersistenceManager() {

policyPersistenceManager = new JDBCPolicyPersistenceManager();
return new JDBCPolicyPersistenceManager();
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
package org.wso2.carbon.identity.entitlement.persistence;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.wso2.carbon.identity.entitlement.EntitlementException;
import org.wso2.carbon.identity.entitlement.PDPConstants;
Expand Down Expand Up @@ -75,12 +75,13 @@ public abstract class PolicyPersistenceManagerTest {
PolicyStoreDTO pdpPolicyWithEmptyId;
PolicyStoreDTO pdpPolicyWithEmptyVersion;

@BeforeClass
public void setUpClass() {
@BeforeMethod
public void setUp() {

Properties engineProperties = new Properties();
engineProperties.put(PDPConstants.MAX_NO_OF_POLICY_VERSIONS, "4");
EntitlementConfigHolder.getInstance().setEngineProperties(engineProperties);
policyPersistenceManager = createPolicyPersistenceManager();

samplePAPPolicy1 = new PolicyDTO(SAMPLE_POLICY_ID_1);
samplePAPPolicy1.setPolicy(SAMPLE_POLICY_STRING_1);
Expand Down Expand Up @@ -153,6 +154,22 @@ public void testAddPAPPolicy() throws Exception {
assertEquals(policyFromStorage.getAttributeDTOs().length, 4);
}

@Test(priority = 3, dependsOnMethods = {"testAddPAPPolicy"})
public void testAddPAPPolicyWhenPolicyMetaDataStoringDisabled() throws Exception {

Properties properties = EntitlementConfigHolder.getInstance().getEngineProperties();
properties.setProperty(PDPConstants.STORE_POLICY_META_DATA, "false");
EntitlementConfigHolder.getInstance().setEngineProperties(properties);

policyPersistenceManager.addOrUpdatePolicy(samplePAPPolicy1, true);
// Verify weather the policy meta-data was not stored for PAP policy.
PolicyDTO papPolicyFromStorage = policyPersistenceManager.getPAPPolicy(samplePDPPolicy1.getPolicyId());
assertEquals(papPolicyFromStorage.getAttributeDTOs().length, 0);

properties.setProperty(PDPConstants.STORE_POLICY_META_DATA, "true");
EntitlementConfigHolder.getInstance().setEngineProperties(properties);
}

@Test(priority = 3)
public void testAddInvalidPolicy() {

Expand Down Expand Up @@ -479,4 +496,11 @@ private PolicyStoreDTO getPDPPolicy(String id, String policy, String version, bo
policyStoreDTO.setSetOrder(setOrder);
return policyStoreDTO;
}

/**
* Abstract method to create the policy persistence manager.
*
* @return The policy persistence manager.
*/
public abstract PolicyPersistenceManager createPolicyPersistenceManager();
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

package org.wso2.carbon.identity.entitlement.persistence;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.wso2.carbon.identity.common.testng.WithCarbonHome;
import org.wso2.carbon.identity.common.testng.WithH2Database;
Expand All @@ -41,12 +40,12 @@
@WithH2Database(files = {"dbscripts/h2.sql"})
public class RegistryPolicyPersistenceManagerTest extends PolicyPersistenceManagerTest {

@BeforeMethod
public void setUp() throws Exception {
public PolicyPersistenceManager createPolicyPersistenceManager() {

Properties storeProps = new Properties();
policyPersistenceManager = new RegistryPolicyPersistenceManager();
policyPersistenceManager.init(storeProps);
return policyPersistenceManager;
}

@Test
Expand Down

0 comments on commit 61efef8

Please sign in to comment.