Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/source/docker.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ To mimic this functionality, this mock provides a target manager container which
To add a database, make a request to the following endpoint against the target manager container:

.. autoflask:: mock_vws._flask_server.target_manager:TARGET_MANAGER_FLASK_APP
:endpoints: create_database
:endpoints: create_cloud_database

For example, with the containers set up as in :ref:`creating-containers`, use ``curl``:

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ optional-dependencies.dev = [
"vulture==2.14",
"vws-python==2026.2.15",
"vws-test-fixtures==2023.3.5",
"vws-web-tools==2026.2.17.1",
"vws-web-tools==2026.2.20",
"yamlfix==1.19.1",
"zizmor==1.22.0",
]
Expand Down
Binary file modified secrets.tar.gpg
Binary file not shown.
16 changes: 9 additions & 7 deletions src/mock_vws/_flask_server/target_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def delete_database(database_name: str) -> Response:
try:
(matching_database,) = {
database
for database in TARGET_MANAGER.databases
for database in TARGET_MANAGER.cloud_databases
if database_name == database.database_name
}
except ValueError:
Expand All @@ -82,9 +82,11 @@ def delete_database(database_name: str) -> Response:

@TARGET_MANAGER_FLASK_APP.route(rule="/databases", methods=[HTTPMethod.GET])
@beartype
def get_databases() -> Response:
def get_cloud_databases() -> Response:
"""Return a list of all databases."""
databases = [database.to_dict() for database in TARGET_MANAGER.databases]
databases = [
database.to_dict() for database in TARGET_MANAGER.cloud_databases
]
return Response(
response=json.dumps(obj=databases),
status=HTTPStatus.OK,
Expand All @@ -93,7 +95,7 @@ def get_databases() -> Response:

@TARGET_MANAGER_FLASK_APP.route(rule="/databases", methods=[HTTPMethod.POST])
@beartype
def create_database() -> Response:
def create_cloud_database() -> Response:
"""Create a new database.

:reqheader Content-Type: application/json
Expand Down Expand Up @@ -193,7 +195,7 @@ def create_target(database_name: str) -> Response:
"""Create a new target in a given database."""
(database,) = (
database
for database in TARGET_MANAGER.databases
for database in TARGET_MANAGER.cloud_databases
if database.database_name == database_name
)
request_json = json.loads(s=request.data)
Expand Down Expand Up @@ -229,7 +231,7 @@ def delete_target(database_name: str, target_id: str) -> Response:
"""Delete a target."""
(database,) = (
database
for database in TARGET_MANAGER.databases
for database in TARGET_MANAGER.cloud_databases
if database.database_name == database_name
)
target = database.get_target(target_id=target_id)
Expand All @@ -255,7 +257,7 @@ def update_target(database_name: str, target_id: str) -> Response:
"""Update a target."""
(database,) = (
database
for database in TARGET_MANAGER.databases
for database in TARGET_MANAGER.cloud_databases
if database.database_name == database_name
)
target = database.get_target(target_id=target_id)
Expand Down
4 changes: 2 additions & 2 deletions src/mock_vws/_flask_server/vwq.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class VWQSettings(BaseSettings):


@beartype
def get_all_databases() -> set[CloudDatabase]:
def get_all_cloud_databases() -> set[CloudDatabase]:
"""Get all database objects from the target manager back-end."""
settings = VWQSettings.model_validate(obj={})
response = requests.get(
Expand Down Expand Up @@ -132,7 +132,7 @@ def query() -> Response:
settings = VWQSettings.model_validate(obj={})
query_match_checker = settings.query_image_matcher.to_image_matcher()

databases = get_all_databases()
databases = get_all_cloud_databases()
request_body = request.stream.read()
run_query_validators(
request_headers=dict(request.headers),
Expand Down
20 changes: 10 additions & 10 deletions src/mock_vws/_flask_server/vws.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class VWSSettings(BaseSettings):


@beartype
def get_all_databases() -> set[CloudDatabase]:
def get_all_cloud_databases() -> set[CloudDatabase]:
"""Get all database objects from the task manager back-end."""
settings = VWSSettings.model_validate(obj={})
timeout_seconds = 30
Expand Down Expand Up @@ -130,7 +130,7 @@ def set_terminate_wsgi_input() -> None:
@beartype
def validate_request() -> None:
"""Run validators on the request."""
databases = get_all_databases()
databases = get_all_cloud_databases()
run_services_validators(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -172,7 +172,7 @@ def add_target() -> Response:
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#add
"""
settings = VWSSettings.model_validate(obj={})
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -245,7 +245,7 @@ def get_target(target_id: str) -> Response:
Fake implementation of
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#target-record
"""
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -302,7 +302,7 @@ def delete_target(target_id: str) -> Response:
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#delete
"""
settings = VWSSettings.model_validate(obj={})
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -402,7 +402,7 @@ def database_summary() -> Response:
Fake implementation of
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#summary-report
"""
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -457,7 +457,7 @@ def target_summary(target_id: str) -> Response:
Fake implementation of
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#retrieve-report
"""
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -511,7 +511,7 @@ def get_duplicates(target_id: str) -> Response:
Fake implementation of
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#check
"""
databases = get_all_databases()
databases = get_all_cloud_databases()
settings = VWSSettings.model_validate(obj={})
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
Expand Down Expand Up @@ -570,7 +570,7 @@ def target_list() -> Response:
Fake implementation of
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api#details-list
"""
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down Expand Up @@ -616,7 +616,7 @@ def update_target(target_id: str) -> Response:
# We do not use ``request.get_json(force=True)`` because this only works
# when the content type is given as ``application/json``.
request_json = json.loads(s=request.data)
databases = get_all_databases()
databases = get_all_cloud_databases()
database = get_database_matching_server_keys(
request_headers=dict(request.headers),
request_body=request.data,
Expand Down
4 changes: 2 additions & 2 deletions src/mock_vws/_requests_mock_server/mock_web_query_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def query(self, request: PreparedRequest) -> _ResponseType:
request_headers=request.headers,
request_body=_body_bytes(request=request),
request_method=request.method or "",
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -132,7 +132,7 @@ def query(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
query_match_checker=self._query_match_checker,
)

Expand Down
34 changes: 17 additions & 17 deletions src/mock_vws/_requests_mock_server/mock_web_services_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ def add_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -174,7 +174,7 @@ def add_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

request_json: dict[str, Any] = json.loads(s=request.body or b"")
Expand Down Expand Up @@ -239,7 +239,7 @@ def delete_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -249,7 +249,7 @@ def delete_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

target_id = request.path_url.split(sep="/")[-1]
Expand Down Expand Up @@ -314,7 +314,7 @@ def generate_vumark_instance(
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

accept = dict(request.headers).get("Accept", "")
Expand Down Expand Up @@ -360,7 +360,7 @@ def database_summary(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -370,7 +370,7 @@ def database_summary(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

date = email.utils.formatdate(
Expand Down Expand Up @@ -421,7 +421,7 @@ def target_list(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -431,7 +431,7 @@ def target_list(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

date = email.utils.formatdate(
Expand Down Expand Up @@ -478,7 +478,7 @@ def get_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -488,7 +488,7 @@ def get_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
target_id = request.path_url.split(sep="/")[-1]
target = database.get_target(target_id=target_id)
Expand Down Expand Up @@ -544,7 +544,7 @@ def get_duplicates(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -554,7 +554,7 @@ def get_duplicates(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
target_id = request.path_url.split(sep="/")[-1]
target = database.get_target(target_id=target_id)
Expand Down Expand Up @@ -615,7 +615,7 @@ def update_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -625,7 +625,7 @@ def update_target(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)

target_id = request.path_url.split(sep="/")[-1]
Expand Down Expand Up @@ -728,7 +728,7 @@ def target_summary(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
except ValidatorError as exc:
return exc.status_code, exc.headers, exc.response_text
Expand All @@ -738,7 +738,7 @@ def target_summary(self, request: PreparedRequest) -> _ResponseType:
request_body=_body_bytes(request=request),
request_method=request.method or "",
request_path=request.path_url,
databases=self._target_manager.databases,
databases=self._target_manager.cloud_databases,
)
target_id = request.path_url.split(sep="/")[-1]
target = database.get_target(target_id=target_id)
Expand Down
4 changes: 2 additions & 2 deletions src/mock_vws/target_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def add_database(self, database: CloudDatabase) -> None:
"All {key_name}s must be unique. "
'There is already a database with the {key_name} "{value}".'
)
for existing_db in self.databases:
for existing_db in self.cloud_databases:
for existing, new, key_name in (
(
existing_db.server_access_key,
Expand Down Expand Up @@ -82,6 +82,6 @@ def add_database(self, database: CloudDatabase) -> None:
self._databases = {*self._databases, database}

@property
def databases(self) -> set[CloudDatabase]:
def cloud_databases(self) -> set[CloudDatabase]:
"""All cloud databases."""
return set(self._databases)