DataAccessRule rule = parseDataAccessRule(ruleKey, ruleValue); if (rule != null) { if (result.contains(rule))
@Test public void testAdd() { assertEquals(4, dao.getRules().size()); DataAccessRule newRule = dao.parseDataAccessRule("*.*.w", "ROLE_GENERIC_W"); assertTrue(dao.addRule(newRule)); assertEquals(5, dao.getRules().size()); assertEquals(newRule, dao.getRules().get(1)); assertFalse(dao.addRule(newRule)); }
@Test public void testRemove() { assertEquals(4, dao.getRules().size()); DataAccessRule newRule = dao.parseDataAccessRule("*.*.w", "ROLE_GENERIC_W"); assertFalse(dao.removeRule(newRule)); DataAccessRule first = dao.getRules().get(0); assertTrue(dao.removeRule(first)); assertFalse(dao.removeRule(first)); assertEquals(3, dao.getRules().size()); }
@Test public void testParseSpaces() { DataAccessRule rule = dao.parseDataAccessRule(" a . b . r ", "ROLE_WHO_CARES"); assertEquals("a", rule.getRoot()); assertEquals("b", rule.getLayer()); assertFalse(rule.isGlobalGroupRule()); assertEquals(AccessMode.READ, rule.getAccessMode()); }
@Test public void testParseEscapedDots() { DataAccessRule rule = dao.parseDataAccessRule("w. a\\.b . r ", "ROLE_WHO_CARES"); assertEquals("w", rule.getRoot()); assertEquals("a.b", rule.getLayer()); assertFalse(rule.isGlobalGroupRule()); assertEquals(AccessMode.READ, rule.getAccessMode()); }
@Test public void testParseGlobalLayerGroupRule() { DataAccessRule r = dao.parseDataAccessRule("group.r", "ROLE_GROUP_OWNER"); assertEquals(r.getRoot(), "group"); assertNull(r.getLayer()); assertTrue(r.isGlobalGroupRule()); assertEquals(AccessMode.READ, r.getAccessMode()); }
@Test public void testParsePlain() { DataAccessRule rule = dao.parseDataAccessRule("a.b.r", "ROLE_WHO_CARES"); assertEquals("a", rule.getRoot()); assertEquals("b", rule.getLayer()); assertFalse(rule.isGlobalGroupRule()); assertEquals(AccessMode.READ, rule.getAccessMode()); }