예제 #1
0
  @Test
  public void test() {
    final UserImpl user = new UserImpl("andrey");
    final UserImpl admin = new UserImpl("admin");
    final UserImpl mannheim = new UserImpl("mannheim");
    user.getParents().add(admin);
    user.getParents().add(mannheim);

    final OperationImpl read = new OperationImpl("read");
    final OperationImpl operation = new OperationImpl("op");
    read.getParents().add(operation);

    final ResourceImpl doc = new ResourceImpl("document");
    final ResourceImpl resource = new ResourceImpl("resource");
    doc.getParents().add(resource);

    final RuleSetImpl rules = new RuleSetImpl();
    rules.allow(admin, read, doc);

    final Rule rule = new Rule(user, read, doc, rules);
    final Collection<Rule> parents = rule.getParents();
    assertEquals(4, parents.size());

    final EvaluationStrategy eval = new BasicEvaluation();
    assertTrue(rule.value(eval));
  }