Search in sources :

Example 26 with Policy

use of com.sun.identity.entitlement.xacml3.core.Policy in project OpenAM by OpenRock.

the class FactoryMethods method getArbitraryPrivilegeAsPolicy.

public static Policy getArbitraryPrivilegeAsPolicy(long now) throws EntitlementException {
    Set<Privilege> privileges = createArbitraryPrivilegeSet(now);
    PolicySet policySet = XACMLPrivilegeUtils.privilegesToPolicySet("/", privileges);
    return (Policy) policySet.getPolicySetOrPolicyOrPolicySetIdReference().get(0).getValue();
}
Also used : Policy(com.sun.identity.entitlement.xacml3.core.Policy) ReferralPrivilege(com.sun.identity.entitlement.ReferralPrivilege) Privilege(com.sun.identity.entitlement.Privilege) PolicySet(com.sun.identity.entitlement.xacml3.core.PolicySet)

Example 27 with Policy

use of com.sun.identity.entitlement.xacml3.core.Policy in project OpenAM by OpenRock.

the class XACMLPrivilegeUtilsTest method shouldReturnXACMLPolicyWhenGivenValidReferralPrivilegeSet.

@Test
public void shouldReturnXACMLPolicyWhenGivenValidReferralPrivilegeSet() throws JSONException, EntitlementException {
    //Given
    ReferralPrivilege referralPrivilege = createArbitraryReferralPrivilege("ReferralPrivilege1", now);
    //When
    Policy policy = XACMLPrivilegeUtils.referralToPolicy(referralPrivilege);
    //Then
    assertPolicyContentMatchesReferralPrivilegeContent(policy, referralPrivilege);
}
Also used : Policy(com.sun.identity.entitlement.xacml3.core.Policy) ReferralPrivilege(com.sun.identity.entitlement.ReferralPrivilege) Test(org.testng.annotations.Test)

Example 28 with Policy

use of com.sun.identity.entitlement.xacml3.core.Policy in project OpenAM by OpenRock.

the class XACMLPrivilegeUtilsTest method shouldResultInEquivalentPrivilegesWhenValidPrivilegeSetSerializedToXACMLThenDeserialized.

@Test
public void shouldResultInEquivalentPrivilegesWhenValidPrivilegeSetSerializedToXACMLThenDeserialized() throws EntitlementException {
    //Given
    Set<Privilege> privileges = createArbitraryPrivilegeSet(now);
    PolicySet policySet = XACMLPrivilegeUtils.privilegesToPolicySet("/", privileges);
    List<Policy> policies = getPoliciesFromPolicySet(policySet);
    List<Privilege> deserializedPrivileges = new ArrayList<Privilege>();
    for (Policy policy : policies) {
        //When
        deserializedPrivileges.add(XACMLPrivilegeUtils.policyToPrivilege(policy));
    }
    //Then
    assertAllPrivilegesEquivalent(deserializedPrivileges, privileges);
}
Also used : Policy(com.sun.identity.entitlement.xacml3.core.Policy) ArrayList(java.util.ArrayList) ReferralPrivilege(com.sun.identity.entitlement.ReferralPrivilege) Privilege(com.sun.identity.entitlement.Privilege) PolicySet(com.sun.identity.entitlement.xacml3.core.PolicySet) Test(org.testng.annotations.Test)

Example 29 with Policy

use of com.sun.identity.entitlement.xacml3.core.Policy in project OpenAM by OpenRock.

the class XACMLPrivilegeUtilsTest method assertPolicySetContentsMatchPrivilegesContent.

private void assertPolicySetContentsMatchPrivilegesContent(PolicySet policySet, Set<Privilege> privileges) {
    if (privileges != null && !privileges.isEmpty()) {
        assertTrue(policySet != null, "Expected PolicySet to not be null.");
    }
    List<Policy> policies = getPoliciesFromPolicySet(policySet);
    assertEquals(policies.size(), privileges.size(), "Mismatch between number of Policy elements in PolicySet, " + "and number of original Privileges.");
    List<String> policyIdList = new ArrayList<String>();
    for (Policy policy : policies) {
        policyIdList.add(policy.getPolicyId());
    }
    List<String> privilegeIdList = new ArrayList<String>();
    for (Privilege privilege : privileges) {
        privilegeIdList.add(privilege.getName());
    }
    assertTrue(policyIdList.containsAll(privilegeIdList), "Not all Privilege names were included in the " + "PolicySet.");
    assertTrue(privilegeIdList.containsAll(policyIdList), "Extra names were added to the PolicySet which were " + "not in the list of Privilege names.");
    List<String> descriptionList = new ArrayList<String>();
    for (Policy policy : policies) {
        descriptionList.add(policy.getDescription());
    }
    for (Privilege privilege : privileges) {
        String description = privilege.getDescription();
        assertTrue(descriptionList.contains(description), "Privilege with description '" + description + "' not " + "found in PolicySet.");
    }
    String privilegesVersion = formatMillisecondsAsTimestamp(now);
    for (Policy policy : policies) {
        assertEquals(policy.getVersion().getValue(), privilegesVersion, "Policy found with version not matching " + "Privilege creation date.");
    }
}
Also used : Policy(com.sun.identity.entitlement.xacml3.core.Policy) ArrayList(java.util.ArrayList) ReferralPrivilege(com.sun.identity.entitlement.ReferralPrivilege) Privilege(com.sun.identity.entitlement.Privilege)

Example 30 with Policy

use of com.sun.identity.entitlement.xacml3.core.Policy in project OpenAM by OpenRock.

the class XACMLPrivilegeUtilsTest method shouldNotAddNullToPolicySetAndSoShouldLeavePolicySetUnchanged.

@Test
public void shouldNotAddNullToPolicySetAndSoShouldLeavePolicySetUnchanged() throws JAXBException {
    //Given
    Policy policy = null;
    PolicySet policySet = new PolicySet();
    //When
    XACMLPrivilegeUtils.addPolicyToPolicySet(policy, policySet);
    //Then
    assertEquals(policySet.getPolicySetOrPolicyOrPolicySetIdReference().size(), 0, "Expected PolicySet to remain " + "empty as a result of not adding null to the empty PolicySet.");
}
Also used : Policy(com.sun.identity.entitlement.xacml3.core.Policy) PolicySet(com.sun.identity.entitlement.xacml3.core.PolicySet) Test(org.testng.annotations.Test)

Aggregations

Policy (com.sun.identity.entitlement.xacml3.core.Policy)20 PolicySet (com.sun.identity.entitlement.xacml3.core.PolicySet)12 ReferralPrivilege (com.sun.identity.entitlement.ReferralPrivilege)11 Test (org.testng.annotations.Test)8 JAXBContext (javax.xml.bind.JAXBContext)7 JAXBElement (javax.xml.bind.JAXBElement)7 JSONObject (org.json.JSONObject)7 Privilege (com.sun.identity.entitlement.Privilege)6 AttributeValue (com.sun.identity.entitlement.xacml3.core.AttributeValue)6 Rule (com.sun.identity.entitlement.xacml3.core.Rule)6 EntitlementException (com.sun.identity.entitlement.EntitlementException)5 HashSet (java.util.HashSet)5 EntitlementCondition (com.sun.identity.entitlement.EntitlementCondition)4 Target (com.sun.identity.entitlement.xacml3.core.Target)4 EntitlementSubject (com.sun.identity.entitlement.EntitlementSubject)3 XACMLOpenSSOPrivilege (com.sun.identity.entitlement.opensso.XACMLOpenSSOPrivilege)3 Condition (com.sun.identity.entitlement.xacml3.core.Condition)3 Match (com.sun.identity.entitlement.xacml3.core.Match)3 VariableDefinition (com.sun.identity.entitlement.xacml3.core.VariableDefinition)3 Version (com.sun.identity.entitlement.xacml3.core.Version)3