55import responses
66from responses import matchers
77
8+ from posit .connect ._types_content_item import ContentItemContext
9+ from posit .connect .context import Context
810from posit .connect .permissions import Permission , Permissions
9- from posit .connect .resources import ResourceParameters
1011from posit .connect .urls import Url
1112
1213from .api import load_mock , load_mock_dict , load_mock_list
@@ -25,9 +26,12 @@ def test(self):
2526 )
2627
2728 # setup
28- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
29+ ctx = ContentItemContext (
30+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
31+ content_guid = content_guid ,
32+ )
2933 fake_permission = load_mock_dict (f"v1/content/{ content_guid } /permissions/{ uid } .json" )
30- permission = Permission (params , ** fake_permission )
34+ permission = Permission (ctx , ** fake_permission )
3135
3236 # invoke
3337 permission .delete ()
@@ -40,7 +44,7 @@ class TestPermissionUpdate:
4044 @responses .activate
4145 def test_request_shape (self ):
4246 # test data
43- uid = random .randint (0 , 100 )
47+ uid = str ( random .randint (0 , 100 ) )
4448 content_guid = str (uuid .uuid4 ())
4549 principal_guid = str (uuid .uuid4 ())
4650 principal_type = "principal_type"
@@ -51,7 +55,9 @@ def test_request_shape(self):
5155 responses .put (
5256 f"https://connect.example/__api__/v1/content/{ content_guid } /permissions/{ uid } " ,
5357 json = {
54- # doesn't matter for this test
58+ # doesn't matter for this test, but something more than `id` is needed to avoid an API call
59+ "id" : uid ,
60+ "content_guid" : content_guid ,
5561 },
5662 match = [
5763 # assertion
@@ -69,9 +75,13 @@ def test_request_shape(self):
6975 )
7076
7177 # setup
72- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
78+ ctx = ContentItemContext (
79+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
80+ content_guid = content_guid ,
81+ )
82+
7383 permission = Permission (
74- params ,
84+ ctx ,
7585 id = uid ,
7686 content_guid = content_guid ,
7787 principal_guid = principal_guid ,
@@ -95,7 +105,7 @@ def test_role_update(self):
95105 fake_permission .update (role = new_role )
96106
97107 # define api behavior
98- uid = random .randint (0 , 100 )
108+ uid = str ( random .randint (0 , 100 ) )
99109 content_guid = str (uuid .uuid4 ())
100110 responses .put (
101111 f"https://connect.example/__api__/v1/content/{ content_guid } /permissions/{ uid } " ,
@@ -112,13 +122,17 @@ def test_role_update(self):
112122 )
113123
114124 # setup
115- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
116- permission = Permission (params , id = uid , content_guid = content_guid , role = old_role )
125+ ctx = ContentItemContext (
126+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
127+ content_guid = content_guid ,
128+ )
129+ permission = Permission (ctx , id = uid , content_guid = content_guid , role = old_role )
117130
118131 # assert role change with respect to api response
119132 assert permission ["role" ] == old_role
120- permission .update (role = new_role )
121- assert permission ["role" ] == new_role
133+ updated_permission = permission .update (role = new_role )
134+ assert permission ["role" ] == old_role
135+ assert updated_permission ["role" ] == new_role
122136
123137
124138class TestPermissionsCount :
@@ -135,8 +149,11 @@ def test(self):
135149 )
136150
137151 # setup
138- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
139- permissions = Permissions (params , content_guid = content_guid )
152+ ctx = ContentItemContext (
153+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
154+ content_guid = content_guid ,
155+ )
156+ permissions = Permissions (ctx )
140157
141158 # invoke
142159 count = permissions .count ()
@@ -177,8 +194,12 @@ def test(self):
177194 )
178195
179196 # setup
180- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
181- permissions = Permissions (params , content_guid = content_guid )
197+ ctx = ContentItemContext (
198+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
199+ content_guid = content_guid ,
200+ )
201+
202+ permissions = Permissions (ctx )
182203
183204 # invoke
184205 permission = permissions .create (
@@ -205,8 +226,11 @@ def test(self):
205226 )
206227
207228 # setup
208- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
209- permissions = Permissions (params , content_guid = content_guid )
229+ ctx = ContentItemContext (
230+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
231+ content_guid = content_guid ,
232+ )
233+ permissions = Permissions (ctx )
210234
211235 # invoke
212236 permissions = permissions .find ()
@@ -229,8 +253,11 @@ def test(self):
229253 )
230254
231255 # setup
232- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
233- permissions = Permissions (params , content_guid = content_guid )
256+ ctx = ContentItemContext (
257+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
258+ content_guid = content_guid ,
259+ )
260+ permissions = Permissions (ctx )
234261
235262 # invoke
236263 permission = permissions .find_one ()
@@ -254,8 +281,11 @@ def test(self):
254281 )
255282
256283 # setup
257- params = ResourceParameters (requests .Session (), Url ("https://connect.example/__api__" ))
258- permissions = Permissions (params , content_guid = content_guid )
284+ ctx = ContentItemContext (
285+ Context (requests .Session (), Url ("https://connect.example/__api__" )),
286+ content_guid = content_guid ,
287+ )
288+ permissions = Permissions (ctx )
259289
260290 # invoke
261291 permission = permissions .get (uid )
0 commit comments