Skip to content

Commit 6511fd3

Browse files
Merge pull request #3077 from VWS-Python/dataclass-frozen-kw-only-mock
kw_only on frozen mock types; freeze key validator routes
2 parents 2455b51 + 7b6817e commit 6511fd3

6 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/mock_vws/_mock_common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def __str__(self) -> str:
3232

3333

3434
@beartype
35-
@dataclass(frozen=True)
35+
@dataclass(frozen=True, kw_only=True)
3636
class RequestData:
3737
"""A library-agnostic representation of an HTTP request.
3838
@@ -50,7 +50,7 @@ class RequestData:
5050

5151

5252
@beartype
53-
@dataclass(frozen=True)
53+
@dataclass(frozen=True, kw_only=True)
5454
class Route:
5555
"""A representation of a VWS route.
5656

src/mock_vws/_services_validators/key_validators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
@beartype
18-
@dataclass
18+
@dataclass(frozen=True, kw_only=True)
1919
class _Route:
2020
"""A representation of a VWS route.
2121

src/mock_vws/database.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def _random_hex() -> str:
5050

5151

5252
@beartype
53-
@dataclass(eq=True, frozen=True)
53+
@dataclass(eq=True, frozen=True, kw_only=True)
5454
class CloudDatabase:
5555
"""Credentials for VWS APIs.
5656
@@ -180,7 +180,7 @@ def processing_targets(self) -> set[ImageTarget]:
180180

181181

182182
@beartype
183-
@dataclass(eq=True, frozen=True)
183+
@dataclass(eq=True, frozen=True, kw_only=True)
184184
class VuMarkDatabase:
185185
"""Credentials for the VuMark generation API.
186186

src/mock_vws/target.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def _time_now() -> datetime.datetime:
5959

6060

6161
@beartype(conf=BeartypeConf(is_pep484_tower=True))
62-
@dataclass(frozen=True, eq=True)
62+
@dataclass(frozen=True, eq=True, kw_only=True)
6363
class ImageTarget:
6464
"""A Vuforia image target as managed in
6565
https://developer.vuforia.com/target-manager.
@@ -219,7 +219,7 @@ def to_dict(self) -> ImageTargetDict:
219219

220220

221221
@beartype(conf=BeartypeConf(is_pep484_tower=True))
222-
@dataclass(frozen=True, eq=True)
222+
@dataclass(frozen=True, eq=True, kw_only=True)
223223
class VuMarkTarget:
224224
"""
225225
A VuMark target as managed in

tests/mock_vws/fixtures/credentials.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class _VuMarkCloudDatabaseSettings(BaseSettings):
6868
)
6969

7070

71-
@dataclass(frozen=True)
71+
@dataclass(frozen=True, kw_only=True)
7272
class InactiveVuMarkCloudDatabase:
7373
"""Credentials for an inactive VuMark database."""
7474

@@ -77,7 +77,7 @@ class InactiveVuMarkCloudDatabase:
7777
server_secret_key: str = field(repr=False)
7878

7979

80-
@dataclass(frozen=True)
80+
@dataclass(frozen=True, kw_only=True)
8181
class VuMarkCloudDatabase:
8282
"""Credentials for the VuMark generation API."""
8383

tests/mock_vws/utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from mock_vws._constants import ResultCodes
1717

1818

19-
@dataclass(frozen=True)
19+
@dataclass(frozen=True, kw_only=True)
2020
class Endpoint:
2121
"""Details of endpoints to be called in tests.
2222

0 commit comments

Comments
 (0)