@@ -105,6 +105,35 @@ func (s *AdapterTestSuite) TestAutoSave() {
105105 [][]string {{"alice" , "data1" , "read" }, {"bob" , "data2" , "write" }, {"data2_admin" , "data2" , "read" }, {"data2_admin" , "data2" , "write" }, {"alice" , "data1" , "write" }},
106106 s .e .GetPolicy (),
107107 )
108+
109+ _ , err = s .e .AddPolicies ([][]string {
110+ {"bob" , "data2" , "read" },
111+ {"alice" , "data2" , "write" },
112+ {"alice" , "data2" , "read" },
113+ {"bob" , "data1" , "write" },
114+ {"bob" , "data1" , "read" },
115+ })
116+ s .Require ().NoError (err )
117+ // Reload the policy from the storage to see the effect.
118+ err = s .e .LoadPolicy ()
119+ s .Require ().NoError (err )
120+ // The policy has a new rule: {"alice", "data1", "write"}.
121+ s .assertPolicy (
122+ [][]string {
123+ {"alice" , "data1" , "read" },
124+ {"bob" , "data2" , "write" },
125+ {"data2_admin" , "data2" , "read" },
126+ {"data2_admin" , "data2" , "write" },
127+ {"alice" , "data1" , "write" },
128+ {"bob" , "data2" , "read" },
129+ {"alice" , "data2" , "write" },
130+ {"alice" , "data2" , "read" },
131+ {"bob" , "data1" , "write" },
132+ {"bob" , "data1" , "read" },
133+ },
134+ s .e .GetPolicy (),
135+ )
136+
108137 s .Require ().NoError (err )
109138}
110139
@@ -141,6 +170,17 @@ func (s *AdapterTestSuite) TestRemovePolicy() {
141170 [][]string {{"bob" , "data2" , "write" }, {"data2_admin" , "data2" , "read" }, {"data2_admin" , "data2" , "write" }},
142171 s .e .GetPolicy (),
143172 )
173+
174+ _ , err = s .e .RemovePolicies ([][]string {
175+ {"data2_admin" , "data2" , "read" },
176+ {"data2_admin" , "data2" , "write" },
177+ })
178+ s .Require ().NoError (err )
179+
180+ s .assertPolicy (
181+ [][]string {{"bob" , "data2" , "write" }},
182+ s .e .GetPolicy (),
183+ )
144184}
145185
146186func (s * AdapterTestSuite ) TestRemoveFilteredPolicy () {
0 commit comments