|
8 | 8 |
|
9 | 9 | import pytest |
10 | 10 |
|
| 11 | +from mock_vws import MockVWS |
| 12 | +from mock_vws.database import VuforiaDatabase |
| 13 | + |
11 | 14 | from vws import VWS, CloudRecoService |
12 | 15 | from vws.exceptions import AuthenticationFailure, MaxNumResultsOutOfRange |
13 | 16 |
|
@@ -47,6 +50,43 @@ def test_match( |
47 | 50 | assert matching_target['target_id'] == target_id |
48 | 51 |
|
49 | 52 |
|
| 53 | +class TestCustomBaseVWQURL: |
| 54 | + """ |
| 55 | + Tests for using a custom base VWQ URL. |
| 56 | + """ |
| 57 | + |
| 58 | + def test_custom_base_url(self, high_quality_image: io.BytesIO) -> None: |
| 59 | + """ |
| 60 | + It is possible to use query a target to a database under a custom VWQ |
| 61 | + URL. |
| 62 | + """ |
| 63 | + base_vwq_url = 'http://example.com' |
| 64 | + with MockVWS(base_vwq_url=base_vwq_url) as mock: |
| 65 | + database = VuforiaDatabase() |
| 66 | + mock.add_database(database=database) |
| 67 | + vws_client = VWS( |
| 68 | + server_access_key=database.server_access_key, |
| 69 | + server_secret_key=database.server_secret_key, |
| 70 | + ) |
| 71 | + |
| 72 | + target_id = vws_client.add_target( |
| 73 | + name='x', |
| 74 | + width=1, |
| 75 | + image=high_quality_image, |
| 76 | + ) |
| 77 | + |
| 78 | + vws_client.wait_for_target_processed(target_id=target_id) |
| 79 | + |
| 80 | + cloud_reco_client = CloudRecoService( |
| 81 | + client_access_key=database.client_access_key, |
| 82 | + client_secret_key=database.client_secret_key, |
| 83 | + base_vwq_url=base_vwq_url, |
| 84 | + ) |
| 85 | + |
| 86 | + [match] = cloud_reco_client.query(image=high_quality_image) |
| 87 | + assert match['target_id'] == target_id |
| 88 | + |
| 89 | + |
50 | 90 | class TestMaxNumResults: |
51 | 91 | """ |
52 | 92 | Tests for the ``max_num_results`` parameter of ``query``. |
|
0 commit comments