Skip to content

Commit 50961a4

Browse files
committed
Add config error coverage for keysets
1 parent c386815 commit 50961a4

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

tests/test_fields.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,29 @@ def test_missing_configuration_raises() -> None:
5555
_ = field._keyset_manager.aead_primitive
5656

5757

58+
def test_missing_keyset_name_raises(keysets: dict[str, dict[str, Any]]) -> None:
59+
registry = KeysetRegistry(keysets)
60+
field = EncryptedString(registry=registry, keyset="missing")
61+
with pytest.raises(ConfigurationError):
62+
_ = field._keyset_manager.aead_primitive
63+
64+
65+
def test_missing_keyset_path_raises(tmp_path: Path) -> None:
66+
registry = KeysetRegistry({"default": {"path": str(tmp_path / "missing.json"), "cleartext": True}})
67+
field = EncryptedString(registry=registry)
68+
with pytest.raises(ConfigurationError):
69+
_ = field._keyset_manager.aead_primitive
70+
71+
72+
def test_encrypted_keyset_requires_master_key() -> None:
73+
registry = KeysetRegistry(
74+
{"default": {"path": str(_fixture_path("aead_keyset.json")), "cleartext": False}}
75+
)
76+
field = EncryptedString(registry=registry)
77+
with pytest.raises(ConfigurationError):
78+
_ = field._keyset_manager.aead_primitive
79+
80+
5881
def test_encrypt_decrypt_string_roundtrip(keysets: dict[str, dict[str, Any]]) -> None:
5982
registry = KeysetRegistry(keysets)
6083
field = EncryptedString(registry=registry)

0 commit comments

Comments
 (0)