22
33import json
44from http import HTTPMethod , HTTPStatus
5- from pathlib import Path
65
76import pytest
87import requests
9- from pydantic import ValidationError
10- from pydantic_settings import BaseSettings , SettingsConfigDict
118from vws_auth_tools import authorization_header , rfc_1123_date
129
13- from mock_vws .database import VuforiaDatabase
10+ from tests . mock_vws .fixtures . credentials import VuMarkVuforiaDatabase
1411
1512_VWS_HOST = "https://vws.vuforia.com"
1613_PNG_SIGNATURE = b"\x89 PNG\r \n \x1a \n "
1714
1815
19- class _VuMarkGenerationSettings (BaseSettings ):
20- """Settings needed for VuMark instance generation tests."""
21-
22- target_id : str
23- instance_id : str
24-
25- model_config = SettingsConfigDict (
26- env_prefix = "VUMARK_VUFORIA_" ,
27- env_file = Path ("vuforia_secrets.env" ),
28- extra = "allow" ,
29- )
30-
31-
32- def _get_vumark_generation_settings () -> _VuMarkGenerationSettings :
33- """Return generation settings, skipping if they are not configured."""
34- try :
35- settings = _VuMarkGenerationSettings .model_validate (obj = {})
36- except ValidationError :
37- pytest .skip (
38- reason = (
39- "VuMark generation settings are not configured. "
40- "Set VUMARK_VUFORIA_TARGET_ID and "
41- "VUMARK_VUFORIA_INSTANCE_ID."
42- ),
43- )
44-
45- if settings .target_id .startswith ("<" ) or settings .instance_id .startswith (
16+ def test_generate_instance_success (
17+ vumark_vuforia_database : VuMarkVuforiaDatabase ,
18+ ) -> None :
19+ """A VuMark instance can be generated with valid template settings."""
20+ if vumark_vuforia_database .target_id .startswith (
4621 "<"
47- ):
22+ ) or vumark_vuforia_database . instance_id . startswith ( "<" ) :
4823 pytest .skip (
4924 reason = (
5025 "VuMark generation settings are placeholders. "
@@ -53,19 +28,11 @@ def _get_vumark_generation_settings() -> _VuMarkGenerationSettings:
5328 ),
5429 )
5530
56- return settings
57-
58-
59- def test_generate_instance_success (
60- vumark_vuforia_database : VuforiaDatabase ,
61- ) -> None :
62- """A VuMark instance can be generated with valid template settings."""
63- settings = _get_vumark_generation_settings ()
64- request_path = f"/targets/{ settings .target_id } /instances"
31+ request_path = f"/targets/{ vumark_vuforia_database .target_id } /instances"
6532 content_type = "application/json"
66- content = json .dumps (obj = { "instance_id" : settings . instance_id }). encode (
67- encoding = "utf-8"
68- )
33+ content = json .dumps (
34+ obj = { "instance_id" : vumark_vuforia_database . instance_id }
35+ ). encode ( encoding = "utf-8" )
6936 date = rfc_1123_date ()
7037 authorization_string = authorization_header (
7138 access_key = vumark_vuforia_database .server_access_key ,
0 commit comments