Search in sources :

Example 6 with KeyValuePermissionImpl

use of ddf.security.permission.impl.KeyValuePermissionImpl in project ddf by codice.

the class CollectionPermissionTest method testCollectionToString.

/**
 * Tests that the string output of the collection has correct permissions.
 */
@Test
public void testCollectionToString() {
    ArrayList<KeyValuePermission> permissionList = new ArrayList<KeyValuePermission>();
    permissionList.add(new KeyValuePermissionImpl("key1", Arrays.asList("val1")));
    permissionList.add(new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    CollectionPermission collection = new CollectionPermissionImpl("", permissionList);
    // String outputs the correct collection permissions.
    assertTrue(collection.toString().indexOf("key2") != -1);
    // String does not output extra permissions
    assertFalse(collection.toString().indexOf("key3") != -1);
}
Also used : KeyValuePermissionImpl(ddf.security.permission.impl.KeyValuePermissionImpl) ArrayList(java.util.ArrayList) CollectionPermissionImpl(ddf.security.permission.impl.CollectionPermissionImpl) Test(org.junit.Test)

Example 7 with KeyValuePermissionImpl

use of ddf.security.permission.impl.KeyValuePermissionImpl in project ddf by codice.

the class CollectionPermissionTest method testAddAllCollection.

/**
 * Tests that all of the items were added when calling addAll().
 */
@Test
public void testAddAllCollection() {
    CollectionPermission collection = new CollectionPermissionImpl();
    assertTrue(collection.getPermissionList().isEmpty());
    ArrayList<KeyValuePermission> permissionList = new ArrayList<KeyValuePermission>();
    permissionList.add(new KeyValuePermissionImpl("key1", Arrays.asList("val1")));
    permissionList.add(new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    collection.addAll(permissionList);
    assertFalse(collection.getPermissionList().isEmpty());
    assertEquals(permissionList.size(), collection.getPermissionList().size());
}
Also used : KeyValuePermissionImpl(ddf.security.permission.impl.KeyValuePermissionImpl) ArrayList(java.util.ArrayList) CollectionPermissionImpl(ddf.security.permission.impl.CollectionPermissionImpl) Test(org.junit.Test)

Example 8 with KeyValuePermissionImpl

use of ddf.security.permission.impl.KeyValuePermissionImpl in project ddf by codice.

the class CollectionPermissionTest method testCollectionImplies.

/**
 * Tests the collection implying permissions and other collections.
 */
@Test
public void testCollectionImplies() {
    // Permissions of the user
    ArrayList<KeyValuePermission> permissionList = new ArrayList<KeyValuePermission>();
    permissionList.add(new KeyValuePermissionImpl("key1", Arrays.asList("val1")));
    permissionList.add(new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    permissionList.add(new KeyValuePermissionImpl("key3", Arrays.asList("val3")));
    CollectionPermission userPermission = new CollectionPermissionImpl("", permissionList);
    // user can create
    assertTrue(userPermission.implies(new KeyValuePermissionImpl("key1", Arrays.asList("val1"))));
    // user cannot delete
    assertFalse(userPermission.implies(new KeyValuePermissionImpl("key2", Arrays.asList("somevalue"))));
    // user can create and query
    CollectionPermission task1Permission = new CollectionPermissionImpl("", new KeyValuePermissionImpl("key1", Arrays.asList("val1")), new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    assertTrue(userPermission.implies(task1Permission));
    // user cannot create AND delete
    CollectionPermission task2Permission = new CollectionPermissionImpl("", new KeyValuePermissionImpl("key1", Arrays.asList("val1")), new KeyValuePermissionImpl("somekey", Arrays.asList("somevalue")));
    assertFalse(userPermission.implies(task2Permission));
    // test empty collection (should always return false)
    assertFalse(new CollectionPermissionImpl().implies(userPermission));
}
Also used : KeyValuePermissionImpl(ddf.security.permission.impl.KeyValuePermissionImpl) ArrayList(java.util.ArrayList) CollectionPermissionImpl(ddf.security.permission.impl.CollectionPermissionImpl) Test(org.junit.Test)

Example 9 with KeyValuePermissionImpl

use of ddf.security.permission.impl.KeyValuePermissionImpl in project ddf by codice.

the class CollectionPermissionTest method testClearCollection.

/**
 * Tests that the collection was properly cleared out after calling clear.
 */
@Test
public void testClearCollection() {
    ArrayList<KeyValuePermission> permissionList = new ArrayList<KeyValuePermission>();
    permissionList.add(new KeyValuePermissionImpl("key1", Arrays.asList("val1")));
    permissionList.add(new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    CollectionPermission collection = new CollectionPermissionImpl("", permissionList);
    collection.clear();
    assertTrue(collection.getPermissionList().isEmpty());
}
Also used : KeyValuePermissionImpl(ddf.security.permission.impl.KeyValuePermissionImpl) ArrayList(java.util.ArrayList) CollectionPermissionImpl(ddf.security.permission.impl.CollectionPermissionImpl) Test(org.junit.Test)

Example 10 with KeyValuePermissionImpl

use of ddf.security.permission.impl.KeyValuePermissionImpl in project ddf by codice.

the class CollectionPermissionTest method testModifyPermissionList.

/**
 * Tests that the permission list that comes back cannot be modified.
 */
@Test(expected = UnsupportedOperationException.class)
public void testModifyPermissionList() {
    ArrayList<KeyValuePermission> permissionList = new ArrayList<KeyValuePermission>();
    permissionList.add(new KeyValuePermissionImpl("key1", Arrays.asList("val1")));
    permissionList.add(new KeyValuePermissionImpl("key2", Arrays.asList("val2")));
    CollectionPermission collection = new CollectionPermissionImpl("", permissionList);
    collection.getPermissionList().clear();
    fail("Returned list should not be able to modify.");
}
Also used : KeyValuePermissionImpl(ddf.security.permission.impl.KeyValuePermissionImpl) ArrayList(java.util.ArrayList) CollectionPermissionImpl(ddf.security.permission.impl.CollectionPermissionImpl) Test(org.junit.Test)

Aggregations

KeyValuePermissionImpl (ddf.security.permission.impl.KeyValuePermissionImpl)21 Test (org.junit.Test)14 KeyValuePermission (ddf.security.permission.KeyValuePermission)13 ArrayList (java.util.ArrayList)13 KeyValueCollectionPermission (ddf.security.permission.KeyValueCollectionPermission)10 CollectionPermissionImpl (ddf.security.permission.impl.CollectionPermissionImpl)8 KeyValueCollectionPermissionImpl (ddf.security.permission.impl.KeyValueCollectionPermissionImpl)6 Permission (org.apache.shiro.authz.Permission)6 CollectionPermission (ddf.security.permission.CollectionPermission)5 SimpleAuthorizationInfo (org.apache.shiro.authz.SimpleAuthorizationInfo)4 PermissionsImpl (ddf.security.permission.impl.PermissionsImpl)3 SecurityLogger (ddf.security.audit.SecurityLogger)2 Expansion (ddf.security.expansion.Expansion)2 AuthzRealm (ddf.security.pdp.realm.AuthzRealm)2 HashSet (java.util.HashSet)2 WildcardPermission (org.apache.shiro.authz.permission.WildcardPermission)2 PrincipalCollection (org.apache.shiro.subject.PrincipalCollection)2 XmlParser (org.codice.ddf.parser.xml.XmlParser)2 Before (org.junit.Before)2 AttributeStatement (ddf.security.assertion.AttributeStatement)1