@@ -86,4 +86,51 @@ public function testAddPolicy()
8686 $ e ->addPermissionForUser ('eve ' , 'data3 ' , 'read ' );
8787 $ this ->assertTrue ($ e ->enforce ('eve ' , 'data3 ' , 'read ' ));
8888 }
89+
90+ public function testAddPolicies ()
91+ {
92+ $ policies = [
93+ ['u1 ' , 'd1 ' , 'read ' ],
94+ ['u2 ' , 'd2 ' , 'read ' ],
95+ ['u3 ' , 'd3 ' , 'read ' ],
96+ ];
97+ $ e = $ this ->getEnforcer ();
98+ $ e ->clearPolicy ();
99+ $ this ->assertEquals ([], $ e ->getPolicy ());
100+ $ e ->addPolicies ($ policies );
101+ $ this ->assertEquals ($ policies , $ e ->getPolicy ());
102+ }
103+
104+ public function testRemovePolicy ()
105+ {
106+ $ e = $ this ->getEnforcer ();
107+ $ this ->assertFalse ($ e ->enforce ('alice ' , 'data5 ' , 'read ' ));
108+
109+ $ e ->addPermissionForUser ('alice ' , 'data5 ' , 'read ' );
110+ $ this ->assertTrue ($ e ->enforce ('alice ' , 'data5 ' , 'read ' ));
111+
112+ $ e ->deletePermissionForUser ('alice ' , 'data5 ' , 'read ' );
113+ $ this ->assertFalse ($ e ->enforce ('alice ' , 'data5 ' , 'read ' ));
114+ }
115+
116+ public function testRemovePolicies ()
117+ {
118+ $ e = $ this ->getEnforcer ();
119+ $ this ->assertEquals ([
120+ ['alice ' , 'data1 ' , 'read ' ],
121+ ['bob ' , 'data2 ' , 'write ' ],
122+ ['data2_admin ' , 'data2 ' , 'read ' ],
123+ ['data2_admin ' , 'data2 ' , 'write ' ],
124+ ], $ e ->getPolicy ());
125+
126+ $ e ->removePolicies ([
127+ ['data2_admin ' , 'data2 ' , 'read ' ],
128+ ['data2_admin ' , 'data2 ' , 'write ' ],
129+ ]);
130+
131+ $ this ->assertEquals ([
132+ ['alice ' , 'data1 ' , 'read ' ],
133+ ['bob ' , 'data2 ' , 'write ' ]
134+ ], $ e ->getPolicy ());
135+ }
89136}
0 commit comments