Skip to content

Commit 23751ba

Browse files
Supply prepared request URLs through backend fixtures (#3746)
1 parent cc5b340 commit 23751ba

3 files changed

Lines changed: 38 additions & 26 deletions

File tree

‎tests/mock_vws/authorization_header/test_authorization_header.py‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"""
55

66
from http import HTTPStatus
7-
from urllib.parse import urlparse
87

98
from vws_auth_tools import rfc_1123_date
109

@@ -17,7 +16,7 @@
1716
from tests.mock_vws.utils.too_many_requests import handle_server_errors
1817

1918

20-
def test_missing(endpoint: Endpoint) -> None:
19+
def test_missing(endpoint: Endpoint, base_vwq_url: str) -> None:
2120
"""
2221
An `UNAUTHORIZED` response is returned when no `Authorization`
2322
header
@@ -46,8 +45,7 @@ def test_missing(endpoint: Endpoint) -> None:
4645

4746
handle_server_errors(response=response)
4847

49-
netloc = urlparse(url=endpoint.base_url).netloc
50-
if netloc == "cloudreco.vuforia.com":
48+
if endpoint.base_url == base_vwq_url:
5149
assert_vwq_failure(
5250
response=response,
5351
status_code=HTTPStatus.UNAUTHORIZED,

‎tests/mock_vws/date_header/test_missing.py‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""Tests for what happens when the `Date` header is missing."""
22

33
from http import HTTPStatus
4-
from urllib.parse import urlparse
54

65
from vws_auth_tools import authorization_header
76

@@ -14,7 +13,7 @@
1413
from tests.mock_vws.utils.too_many_requests import handle_server_errors
1514

1615

17-
def test_no_date_header(endpoint: Endpoint) -> None:
16+
def test_no_date_header(endpoint: Endpoint, base_vwq_url: str) -> None:
1817
"""
1918
A `BAD_REQUEST` response is returned when no `Date` header is
2019
given.
@@ -51,9 +50,7 @@ def test_no_date_header(endpoint: Endpoint) -> None:
5150

5251
handle_server_errors(response=response)
5352

54-
netloc = urlparse(url=endpoint.base_url).netloc
55-
56-
if netloc == "cloudreco.vuforia.com":
53+
if endpoint.base_url == base_vwq_url:
5754
expected_content_type = "text/plain;charset=iso-8859-1"
5855
assert response.text == "Date header required."
5956
assert_vwq_failure(

‎tests/mock_vws/fixtures/prepared_requests.py‎

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
from tests.mock_vws.fixtures.credentials import VuMarkCloudDatabase
1818
from tests.mock_vws.utils import Endpoint
1919

20-
VWS_HOST = "https://vws.vuforia.com"
21-
VWQ_HOST = "https://cloudreco.vuforia.com"
22-
2320

2421
@pytest.fixture
2522
def add_target(
2623
*,
2724
vuforia_database: CloudDatabase,
25+
base_vws_url: str,
2826
image_file_failed_state: io.BytesIO,
2927
) -> Endpoint:
3028
"""Return details of the endpoint for adding a target."""
@@ -66,7 +64,7 @@ def add_target(
6664
return Endpoint(
6765
successful_headers_status_code=HTTPStatus.CREATED,
6866
successful_headers_result_code=ResultCodes.TARGET_CREATED,
69-
base_url=VWS_HOST,
67+
base_url=base_vws_url,
7068
path_url=request_path,
7169
method=method,
7270
headers=headers,
@@ -80,6 +78,7 @@ def add_target(
8078
def delete_target(
8179
*,
8280
vuforia_database: CloudDatabase,
81+
base_vws_url: str,
8382
target_id: str,
8483
) -> Endpoint:
8584
"""Return details of the endpoint for deleting a target."""
@@ -107,7 +106,7 @@ def delete_target(
107106
}
108107

109108
return Endpoint(
110-
base_url=VWS_HOST,
109+
base_url=base_vws_url,
111110
path_url=request_path,
112111
method=method,
113112
headers=headers,
@@ -120,7 +119,11 @@ def delete_target(
120119

121120

122121
@pytest.fixture
123-
def database_summary(*, vuforia_database: CloudDatabase) -> Endpoint:
122+
def database_summary(
123+
*,
124+
vuforia_database: CloudDatabase,
125+
base_vws_url: str,
126+
) -> Endpoint:
124127
"""
125128
Return details of the endpoint for getting details about the
126129
database.
@@ -150,7 +153,7 @@ def database_summary(*, vuforia_database: CloudDatabase) -> Endpoint:
150153
}
151154

152155
return Endpoint(
153-
base_url=VWS_HOST,
156+
base_url=base_vws_url,
154157
path_url=request_path,
155158
method=method,
156159
headers=headers,
@@ -166,6 +169,7 @@ def database_summary(*, vuforia_database: CloudDatabase) -> Endpoint:
166169
def get_duplicates(
167170
*,
168171
vuforia_database: CloudDatabase,
172+
base_vws_url: str,
169173
target_id: str,
170174
) -> Endpoint:
171175
"""
@@ -197,7 +201,7 @@ def get_duplicates(
197201
}
198202

199203
return Endpoint(
200-
base_url=VWS_HOST,
204+
base_url=base_vws_url,
201205
path_url=request_path,
202206
method=method,
203207
headers=headers,
@@ -213,6 +217,7 @@ def get_duplicates(
213217
def get_target(
214218
*,
215219
vuforia_database: CloudDatabase,
220+
base_vws_url: str,
216221
target_id: str,
217222
) -> Endpoint:
218223
"""Return details of the endpoint for getting details of a target."""
@@ -243,7 +248,7 @@ def get_target(
243248
return Endpoint(
244249
successful_headers_status_code=HTTPStatus.OK,
245250
successful_headers_result_code=ResultCodes.SUCCESS,
246-
base_url=VWS_HOST,
251+
base_url=base_vws_url,
247252
path_url=request_path,
248253
method=method,
249254
headers=headers,
@@ -254,7 +259,11 @@ def get_target(
254259

255260

256261
@pytest.fixture
257-
def target_list(*, vuforia_database: CloudDatabase) -> Endpoint:
262+
def target_list(
263+
*,
264+
vuforia_database: CloudDatabase,
265+
base_vws_url: str,
266+
) -> Endpoint:
258267
"""Return details of the endpoint for getting a list of targets."""
259268
date = rfc_1123_date()
260269
request_path = "/targets"
@@ -283,7 +292,7 @@ def target_list(*, vuforia_database: CloudDatabase) -> Endpoint:
283292
return Endpoint(
284293
successful_headers_status_code=HTTPStatus.OK,
285294
successful_headers_result_code=ResultCodes.SUCCESS,
286-
base_url=VWS_HOST,
295+
base_url=base_vws_url,
287296
path_url=request_path,
288297
method=method,
289298
headers=headers,
@@ -297,6 +306,7 @@ def target_list(*, vuforia_database: CloudDatabase) -> Endpoint:
297306
def target_summary(
298307
*,
299308
vuforia_database: CloudDatabase,
309+
base_vws_url: str,
300310
target_id: str,
301311
) -> Endpoint:
302312
"""
@@ -330,7 +340,7 @@ def target_summary(
330340
return Endpoint(
331341
successful_headers_status_code=HTTPStatus.OK,
332342
successful_headers_result_code=ResultCodes.SUCCESS,
333-
base_url=VWS_HOST,
343+
base_url=base_vws_url,
334344
path_url=request_path,
335345
method=method,
336346
headers=headers,
@@ -344,6 +354,7 @@ def target_summary(
344354
def update_target(
345355
*,
346356
vuforia_database: CloudDatabase,
357+
base_vws_url: str,
347358
target_id: str,
348359
) -> Endpoint:
349360
"""Return details of the endpoint for updating a target."""
@@ -377,7 +388,7 @@ def update_target(
377388
return Endpoint(
378389
successful_headers_status_code=HTTPStatus.OK,
379390
successful_headers_result_code=ResultCodes.SUCCESS,
380-
base_url=VWS_HOST,
391+
base_url=base_vws_url,
381392
path_url=request_path,
382393
method=method,
383394
headers=headers,
@@ -391,6 +402,7 @@ def update_target(
391402
def query(
392403
*,
393404
vuforia_database: CloudDatabase,
405+
base_vwq_url: str,
394406
high_quality_image: io.BytesIO,
395407
) -> Endpoint:
396408
"""
@@ -428,7 +440,7 @@ def query(
428440
return Endpoint(
429441
successful_headers_status_code=HTTPStatus.OK,
430442
successful_headers_result_code=ResultCodes.SUCCESS,
431-
base_url=VWQ_HOST,
443+
base_url=base_vwq_url,
432444
path_url=request_path,
433445
method=method,
434446
headers=headers,
@@ -442,6 +454,7 @@ def query(
442454
def vumark_generate_instance(
443455
*,
444456
vumark_vuforia_database: VuMarkCloudDatabase,
457+
base_vws_url: str,
445458
) -> Endpoint:
446459
"""Return details of the endpoint for generating a VuMark instance."""
447460
request_path = f"/targets/{vumark_vuforia_database.target_id}/instances"
@@ -475,7 +488,7 @@ def vumark_generate_instance(
475488
return Endpoint(
476489
successful_headers_status_code=HTTPStatus.OK,
477490
successful_headers_result_code=None,
478-
base_url=VWS_HOST,
491+
base_url=base_vws_url,
479492
path_url=request_path,
480493
method=method,
481494
headers=headers,
@@ -486,7 +499,11 @@ def vumark_generate_instance(
486499

487500

488501
@pytest.fixture
489-
def reco_counts_report(*, vuforia_database: CloudDatabase) -> Endpoint:
502+
def reco_counts_report(
503+
*,
504+
vuforia_database: CloudDatabase,
505+
base_vws_url: str,
506+
) -> Endpoint:
490507
"""Return details of the endpoint for requesting a reco counts
491508
report.
492509
"""
@@ -521,7 +538,7 @@ def reco_counts_report(*, vuforia_database: CloudDatabase) -> Endpoint:
521538
return Endpoint(
522539
successful_headers_status_code=HTTPStatus.OK,
523540
successful_headers_result_code=ResultCodes.SUCCESS,
524-
base_url=VWS_HOST,
541+
base_url=base_vws_url,
525542
path_url=request_path,
526543
method=method,
527544
headers=headers,

0 commit comments

Comments
 (0)