diff options
| author | Yuval Adam <_@yuv.al> | 2024-05-07 20:55:09 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2024-05-07 20:56:12 +0200 |
| commit | 7dfd130b1c0bd909b604e2273792f840be4decee (patch) | |
| tree | 103ad199a65c370ac070601808f0dfdf291cc628 /tests | |
| parent | 3ebf529934ad4932a0dd7deeffa31c4deee2e72d (diff) | |
Finalize key field functionality
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_stash.py | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/tests/test_stash.py b/tests/test_stash.py index e7e573b..6a11db9 100644 --- a/tests/test_stash.py +++ b/tests/test_stash.py @@ -1,3 +1,5 @@ +import pytest + from pathlib import Path from ymlstash import YmlStash from dataclasses import dataclass @@ -20,7 +22,7 @@ def test_stash_path(): def test_stash(): stash = YmlStash(User, "/tmp/") yuval = User(name="yuval", age=42) - stash.save("foo", yuval) + stash.save(yuval, "foo") assert stash.list_all_keys() == ["foo"] obj = stash.load("foo") assert obj == yuval @@ -28,15 +30,26 @@ def test_stash(): assert stash.list_all_keys() == [] -@dataclass -class Dog: - name: str - key: ClassVar[str] = "name" +def test_key_field(): + @dataclass + class Rat: + key: ClassVar[str] = "name" + + with pytest.raises(Exception): + YmlStash(Rat, ".") + @dataclass + class Dog: + name: str + key: ClassVar[str] = "name" -def test_auto_key(): stash = YmlStash(Dog, "/tmp/") terra = Dog(name="terra") - stash.save(None, terra) + stash.save(terra) assert stash.list_all_keys() == ["terra"] + + terra = Dog(name="terra") + stash.save(terra, key="dupe") # override key + assert stash.list_all_keys() == ["terra", "dupe"] + stash.drop() |
