|
14 | 14 |
|
15 | 15 | package org.casbin.jcasbin.main;
|
16 | 16 |
|
| 17 | +import com.googlecode.aviator.AviatorEvaluator; |
| 18 | +import com.googlecode.aviator.Expression; |
17 | 19 | import org.casbin.jcasbin.model.Model;
|
18 | 20 | import org.casbin.jcasbin.persist.Adapter;
|
19 | 21 | import org.casbin.jcasbin.persist.file_adapter.FileAdapter;
|
|
23 | 25 |
|
24 | 26 | import java.io.FileInputStream;
|
25 | 27 | import java.io.IOException;
|
| 28 | +import java.util.HashMap; |
26 | 29 | import java.util.List;
|
| 30 | +import java.util.Map; |
27 | 31 | import java.util.Set;
|
28 | 32 |
|
29 | 33 | import static java.util.Arrays.asList;
|
@@ -218,10 +222,19 @@ public void testNotUsedRBACModelInMemory() {
|
218 | 222 | testEnforce(e, "bob", "data2", "write", true);
|
219 | 223 | }
|
220 | 224 |
|
| 225 | + @Test |
| 226 | + public void testInOp() { |
| 227 | + Enforcer e = new Enforcer("examples/in_op_sytanx.conf", "examples/in_op_sytanx.csv"); |
| 228 | + |
| 229 | + TestSub sub = new TestSub("alice"); |
| 230 | + TestObj obj = new TestObj(new String[]{"alice","bob"}); |
| 231 | + |
| 232 | + assertTrue(e.enforce(sub,obj)); |
| 233 | + } |
| 234 | + |
221 | 235 | @Test
|
222 | 236 | public void testReloadPolicy() {
|
223 | 237 | Enforcer e = new Enforcer("examples/rbac_model.conf", "examples/rbac_policy.csv");
|
224 |
| - |
225 | 238 | e.loadPolicy();
|
226 | 239 | testGetPolicy(e, asList(asList("alice", "data1", "read"), asList("bob", "data2", "write"), asList("data2_admin", "data2", "read"), asList("data2_admin", "data2", "write")));
|
227 | 240 | }
|
@@ -572,4 +585,46 @@ public void testBatchEnforceWithMatcher() {
|
572 | 585 | asList("root", "data3", "read"), asList("jack", "data3", "read")));
|
573 | 586 | Assert.assertArrayEquals(myResults.toArray(new Boolean[0]), results.toArray(new Boolean[0]));
|
574 | 587 | }
|
| 588 | + |
| 589 | + public static class TestSub{ |
| 590 | + private String name; |
| 591 | + |
| 592 | + public TestSub(String name) { |
| 593 | + this.name = name; |
| 594 | + } |
| 595 | + |
| 596 | + public String getName() { return name; } |
| 597 | + |
| 598 | + public void setName(String name) { this.name = name; } |
| 599 | + } |
| 600 | + public static class TestAdmins{ |
| 601 | + private String name; |
| 602 | + |
| 603 | + public TestAdmins(String name) { |
| 604 | + this.name = name; |
| 605 | + } |
| 606 | + |
| 607 | + public String getName() { |
| 608 | + return name; |
| 609 | + } |
| 610 | + |
| 611 | + public void setName(String name) { |
| 612 | + this.name = name; |
| 613 | + } |
| 614 | + } |
| 615 | + public static class TestObj{ |
| 616 | + private String[] admins; |
| 617 | + |
| 618 | + public TestObj(String[] admins) { |
| 619 | + this.admins = admins; |
| 620 | + } |
| 621 | + |
| 622 | + public String[] getAdmins() { |
| 623 | + return admins; |
| 624 | + } |
| 625 | + |
| 626 | + public void setAdmins(String[] admins) { |
| 627 | + this.admins = admins; |
| 628 | + } |
| 629 | + } |
575 | 630 | }
|
0 commit comments