@@ -34,6 +34,12 @@ def fixture_repo_name() -> str:
34
34
return "turtle"
35
35
36
36
37
+ @pytest .fixture (name = "repo_id" , scope = "session" )
38
+ def fixture_repo_id () -> int :
39
+ """Return a repository ID."""
40
+ return 102909380
41
+
42
+
37
43
@attr .s (auto_attribs = True , frozen = True , kw_only = True )
38
44
class FakeProc :
39
45
"""Fake for a CompletedProcess instance."""
@@ -161,28 +167,48 @@ def fixture_mock_list_labels(
161
167
yield
162
168
163
169
164
- @pytest .fixture (name = "mock_paged_list_labels" )
165
- def fixture_mock_paged_list_labels (
166
- base_url : str , repo_owner : str , repo_name : str , response_list_labels : ResponseLabels
167
- ) -> None :
168
- """Mock requests for list labels."""
170
+ @pytest .fixture (name = "mock_list_labels_paginated" )
171
+ def fixture_mock_list_labels_paginated (
172
+ base_url : str ,
173
+ repo_owner : str ,
174
+ repo_name : str ,
175
+ repo_id : int ,
176
+ response_get_infra : ResponseLabel ,
177
+ response_get_docs : ResponseLabel ,
178
+ response_get_bug : ResponseLabel ,
179
+ ):
180
+ """Mock requests for list labels with pagination."""
181
+
169
182
with responses .RequestsMock () as rsps :
183
+
170
184
rsps .add (
171
185
responses .GET ,
172
186
f"{ base_url } /repos/{ repo_owner } /{ repo_name } /labels" ,
173
- json = response_list_labels [: 2 ],
187
+ json = [ response_get_bug , response_get_docs ],
174
188
status = 200 ,
175
189
content_type = "application/json" ,
176
- headers = {'link' : f'<{ base_url } /repos/{ repo_owner } /{ repo_name } /labels?page=2&per_page=2>; rel="next", <{ base_url } /repos/{ repo_owner } /{ repo_name } /labels?page=2&per_page=2>; rel="last"' } # noqa: E501
190
+ headers = {
191
+ "Link" : (
192
+ f'<{ base_url } /repositories/{ repo_id } /labels?page=2>; rel="next", '
193
+ f'<{ base_url } /repositories/{ repo_id } /labels?page=2>; rel="last"'
194
+ )
195
+ },
177
196
)
197
+
178
198
rsps .add (
179
199
responses .GET ,
180
- f"{ base_url } /repos/ { repo_owner } / { repo_name } / labels" ,
181
- json = response_list_labels [ 2 : ],
200
+ f"{ base_url } /repositories/ { repo_id } / labels?page=2 " ,
201
+ json = [ response_get_infra ],
182
202
status = 200 ,
183
203
content_type = "application/json" ,
184
- headers = {'link' : f'<{ base_url } /repos/{ repo_owner } /{ repo_name } /labels?page=1&per_page=2>; rel="prev", <{ base_url } /repos/{ repo_owner } /{ repo_name } /labels?page=1&per_page=2>; rel="first"' } # noqa: E501
204
+ headers = {
205
+ "Link" : (
206
+ f'<{ base_url } /repositories/{ repo_id } /labels?page=1>; rel="prev", '
207
+ f'<{ base_url } /repositories/{ repo_id } /labels?page=1>; rel="first"'
208
+ )
209
+ },
185
210
)
211
+
186
212
yield
187
213
188
214
0 commit comments