package com.plexobject.rbac.domain; import org.junit.Assert; import org.junit.Test; public class PermissionTest { @Test public void testGetSet() { Permission p = new Permission(); Assert.assertNull(p.getId()); Assert.assertNull(p.getOperation()); Assert.assertNull(p.getTarget()); } @Test public void testOperationEquals() { Permission p = new Permission("read", "database", null); Assert.assertTrue(p.implies("READ", "database")); Assert.assertFalse(p.implies("READ", "file")); Assert.assertFalse(p.implies("XREAD", "database")); } @Test public void testOperationRegex() { Permission p = new Permission("*", "database", null); Assert.assertTrue(p.implies("READ", "database")); Assert.assertTrue(p.implies("XREAD", "database")); Assert.assertFalse(p.implies("XREAD", "file")); p = new Permission("(write|read|update|delete)", "database", null); Assert.assertTrue(p.implies("read", "database")); Assert.assertTrue(p.implies("DELETE", "database")); } }