@@ -190,23 +190,85 @@ def test(self):
190190 role = role ,
191191 )
192192
193- with pytest .raises (TypeError ):
193+ # assert
194+ assert permission == fake_permission
195+
196+ def test_assertions (self ):
197+ # setup
198+ principal_guid = "principal_guid"
199+ content_guid = "content_guid"
200+ params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
201+ permissions = Permissions (params , content_guid = content_guid )
202+ user = User (params , guid = principal_guid )
203+ group = User (params , guid = principal_guid )
204+
205+ # behavior
206+ with pytest .raises (TypeError , match = "str" ):
194207 permissions .create ( # pyright: ignore[reportCallIssue]
208+ user ,
209+ group ,
195210 "not a user or group" ,
196211 )
197212 with pytest .raises (ValueError ):
198213 permissions .create ( # pyright: ignore[reportCallIssue]
199- User ( params , guid = principal_guid ) ,
214+ user ,
200215 principal_guid = principal_guid ,
201216 )
202217 with pytest .raises (ValueError ):
203218 permissions .create ( # pyright: ignore[reportCallIssue]
204- User ( params , guid = principal_guid ) ,
205- principal_type = principal_type ,
219+ user ,
220+ principal_type = "viewer" ,
206221 )
207222
223+ @responses .activate
224+ def test_multiple (self ):
225+ # data
226+ content_guid = "CONTENT_GUID"
227+ user_guid = "USER_GUID"
228+ group_guid = "GROUP_GUID"
229+
230+ fake_user = {
231+ "principal_guid" : user_guid ,
232+ "principal_type" : "user" ,
233+ "role" : "viewer" ,
234+ }
235+ fake_group = {
236+ "principal_guid" : group_guid ,
237+ "principal_type" : "group" ,
238+ "role" : "viewer" ,
239+ }
240+ res_user = responses .post (
241+ f"https://connect.example/__api__/v1/content/{ content_guid } /permissions" ,
242+ json = fake_user ,
243+ match = [matchers .json_params_matcher (fake_user )],
244+ )
245+ res_group = responses .post (
246+ f"https://connect.example/__api__/v1/content/{ content_guid } /permissions" ,
247+ json = fake_group ,
248+ match = [matchers .json_params_matcher (fake_group )],
249+ )
250+
251+ # setup
252+ params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
253+ permissions = Permissions (params , content_guid = content_guid )
254+ user = User (params , guid = user_guid )
255+ group = Group (params , guid = group_guid )
256+
257+ # invoke
258+ permissions = permissions .create (user , group , role = "viewer" )
259+
208260 # assert
209- assert permission == fake_permission
261+ assert res_user .call_count == 1
262+ assert res_group .call_count == 1
263+
264+ assert isinstance (permissions , list )
265+ for permission in permissions :
266+ assert isinstance (permission , Permission )
267+
268+ assert permissions == [
269+ Permission (params , principal_guid = user_guid , principal_type = "user" , role = "viewer" ),
270+ Permission (params , principal_guid = group_guid , principal_type = "group" , role = "viewer" ),
271+ ]
210272
211273
212274class TestPermissionsFind :
0 commit comments