use of org.apache.shiro.authz.Permission in project ddf by codice.
the class WorkspacePolicyExtensionTest method testShouldRemoveRolesAndEmailsWhenEmailImplied.
@Test
public void testShouldRemoveRolesAndEmailsWhenEmailImplied() {
List<Permission> before = ImmutableList.of(RANDOM, ROLES, EMAILS);
doReturn(before).when(match).getPermissionList();
CollectionPermission subject = subjectFrom(makePermission(Constants.EMAIL_ADDRESS_CLAIM_URI, VALUES));
List<Permission> after = extension.isPermittedMatchAll(subject, match).getPermissionList();
assertThat(after, is(ImmutableList.of(RANDOM)));
}
use of org.apache.shiro.authz.Permission in project ddf by codice.
the class PolicyManagerTest method testAllPolicies.
private void testAllPolicies() {
//check search policy
ContextPolicy policy = manager.getContextPolicy("/search");
assertThat("/search", is(policy.getContextPath()));
Iterator<String> authIter = policy.getAuthenticationMethods().iterator();
int i = 0;
while (authIter.hasNext()) {
if (i == 0) {
assertThat("SAML", is(authIter.next()));
} else if (i == 1) {
assertThat("BASIC", is(authIter.next()));
} else if (i == 2) {
assertThat("GUEST", is(authIter.next()));
}
i++;
}
List<Permission> permissionList = policy.getAllowedAttributePermissions().getPermissionList();
assertThat("role : user", is(permissionList.get(0).toString()));
assertThat("control : foo", is(permissionList.get(1).toString()));
assertThat("control : bar", is(permissionList.get(2).toString()));
//check admin policy
policy = manager.getContextPolicy("/admin");
assertThat("/admin", is(policy.getContextPath()));
authIter = policy.getAuthenticationMethods().iterator();
i = 0;
while (authIter.hasNext()) {
if (i == 0) {
assertThat("SAML", is(authIter.next()));
} else if (i == 1) {
assertThat("BASIC", is(authIter.next()));
}
i++;
}
//check foo policy
policy = manager.getContextPolicy("/foo");
assertThat("/foo", is(policy.getContextPath()));
authIter = policy.getAuthenticationMethods().iterator();
i = 0;
while (authIter.hasNext()) {
if (i == 0) {
assertThat("BASIC", is(authIter.next()));
}
i++;
}
//make sure some random context points to /
policy = manager.getContextPolicy("/random");
assertThat("/", is(policy.getContextPath()));
authIter = policy.getAuthenticationMethods().iterator();
i = 0;
while (authIter.hasNext()) {
if (i == 0) {
assertThat("SAML", is(authIter.next()));
} else if (i == 1) {
assertThat("BASIC", is(authIter.next()));
}
i++;
}
//check unprotected contexts
policy = manager.getContextPolicy("/unprotected");
assertThat("/unprotected", is(policy.getContextPath()));
authIter = policy.getAuthenticationMethods().iterator();
assertThat(false, is(authIter.hasNext()));
policy = manager.getContextPolicy("/unprotected2");
assertThat("/unprotected2", is(policy.getContextPath()));
authIter = policy.getAuthenticationMethods().iterator();
assertThat(authIter.hasNext(), is(false));
}
use of org.apache.shiro.authz.Permission in project ddf by codice.
the class OperationPluginTest method makeDecision.
private Answer<Boolean> makeDecision() {
Map<String, List<String>> testRoleMap = new HashMap<String, List<String>>();
List<String> testRoles = new ArrayList<String>();
testRoles.add("A");
testRoles.add("B");
testRoleMap.put("Roles", testRoles);
final KeyValueCollectionPermission testUserPermission = new KeyValueCollectionPermission(CollectionPermission.READ_ACTION, testRoleMap);
return new Answer<Boolean>() {
@Override
public Boolean answer(InvocationOnMock invocation) {
Object[] args = invocation.getArguments();
Permission incomingPermission = (Permission) args[1];
return testUserPermission.implies(incomingPermission);
}
};
}
use of org.apache.shiro.authz.Permission in project ddf by codice.
the class XacmlPdpTest method generateSubjectInfo.
private AuthorizationInfo generateSubjectInfo(String country) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
Set<Permission> permissions = new HashSet<Permission>();
Set<String> roles = new HashSet<String>();
// add roles
roles.add("users");
roles.add("admin");
// add permissions
KeyValuePermission citizenshipPermission = new KeyValuePermission(COUNTRY);
citizenshipPermission.addValue(country);
permissions.add(citizenshipPermission);
KeyValuePermission typePermission = new KeyValuePermission(SUBJECT_ACCESS);
typePermission.addValue(ACCESS_TYPE_A);
typePermission.addValue(ACCESS_TYPE_B);
KeyValuePermission nameIdentPermission = new KeyValuePermission(NAME_IDENTIFIER);
nameIdentPermission.addValue("testuser1");
KeyValuePermission givenNamePermission = new KeyValuePermission(GIVEN_NAME);
givenNamePermission.addValue("Test User");
permissions.add(typePermission);
permissions.add(nameIdentPermission);
permissions.add(givenNamePermission);
info.setRoles(roles);
info.setObjectPermissions(permissions);
return info;
}
use of org.apache.shiro.authz.Permission in project ddf by codice.
the class XacmlPdpTest method testActionGoodSiteName.
@Test
public void testActionGoodSiteName() {
SimpleAuthorizationInfo blankUserInfo = new SimpleAuthorizationInfo(new HashSet<String>());
blankUserInfo.setObjectPermissions(new HashSet<Permission>());
RequestType request = testRealm.createXACMLRequest(USER_NAME, blankUserInfo, new KeyValueCollectionPermission(SITE_NAME_ACTION));
assertTrue(testRealm.isPermitted(request));
}
Aggregations