Skip to content

Commit e4e9b03

Browse files
committed
More test updates
1 parent ce673cc commit e4e9b03

File tree

6 files changed

+26
-4
lines changed

6 files changed

+26
-4
lines changed

key-value/key-value-aio/src/key_value/aio/stores/vault/store.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,13 @@ async def _delete_managed_entry(self, *, key: str, collection: str) -> bool:
120120
combo_key: str = compound_key(collection=collection, key=key)
121121

122122
try:
123+
# Vault doesnt tell us if the delete was successful so we read the entry and if it exists before we call delete,
124+
# we count it as a deletion.
125+
entry = self._kv_v2.read_secret(path=combo_key, mount_point=self._mount_point) # pyright: ignore[reportUnknownMemberType,reportUnknownVariableType]
123126
self._kv_v2.delete_metadata_and_all_versions(path=combo_key, mount_point=self._mount_point) # pyright: ignore[reportUnknownMemberType]
124127
except InvalidPath:
125128
return False
126129
except Exception:
127130
return False
128131

129-
return True
132+
return entry is not None

key-value/key-value-aio/tests/stores/base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@ async def test_put_many_tuple_get_many(self, store: BaseStore):
116116
await store.put_many(collection="test", keys=["test", "test_2"], values=({"test": "test"}, {"test": "test_2"}))
117117
assert await store.get_many(collection="test", keys=["test", "test_2"]) == [{"test": "test"}, {"test": "test_2"}]
118118

119+
async def test_delete(self, store: BaseStore):
120+
assert await store.delete(collection="test", key="test") is False
121+
122+
async def test_put_delete_delete(self, store: BaseStore):
123+
await store.put(collection="test", key="test", value={"test": "test"})
124+
assert await store.delete(collection="test", key="test")
125+
assert await store.delete(collection="test", key="test") is False
126+
119127
async def test_delete_many(self, store: BaseStore):
120128
assert await store.delete_many(collection="test", keys=["test", "test_2"]) == 0
121129

key-value/key-value-aio/tests/stores/keyring/test_keyring.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TestKeychainStore(BaseStoreTests):
1717
async def store(self) -> KeyringStore:
1818
# Use a test-specific service name to avoid conflicts
1919
store = KeyringStore(service_name="py-key-value-test")
20-
await store.delete_many(collection="test", keys=["test"])
20+
await store.delete_many(collection="test", keys=["test", "test_2"])
2121
await store.delete_many(collection="test_collection", keys=["test_key"])
2222

2323
return store

key-value/key-value-sync/src/key_value/sync/code_gen/stores/vault/store.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,13 @@ def _delete_managed_entry(self, *, key: str, collection: str) -> bool:
117117
combo_key: str = compound_key(collection=collection, key=key)
118118

119119
try:
120+
# Vault doesnt tell us if the delete was successful so we read the entry and if it exists before we call delete,
121+
# we count it as a deletion.
122+
entry = self._kv_v2.read_secret(path=combo_key, mount_point=self._mount_point) # pyright: ignore[reportUnknownMemberType,reportUnknownVariableType]
120123
self._kv_v2.delete_metadata_and_all_versions(path=combo_key, mount_point=self._mount_point) # pyright: ignore[reportUnknownMemberType]
121124
except InvalidPath:
122125
return False
123126
except Exception:
124127
return False
125128

126-
return True
129+
return entry is not None

key-value/key-value-sync/tests/code_gen/stores/base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,14 @@ def test_put_many_tuple_get_many(self, store: BaseStore):
113113
store.put_many(collection="test", keys=["test", "test_2"], values=({"test": "test"}, {"test": "test_2"}))
114114
assert store.get_many(collection="test", keys=["test", "test_2"]) == [{"test": "test"}, {"test": "test_2"}]
115115

116+
def test_delete(self, store: BaseStore):
117+
assert store.delete(collection="test", key="test") is False
118+
119+
def test_put_delete_delete(self, store: BaseStore):
120+
store.put(collection="test", key="test", value={"test": "test"})
121+
assert store.delete(collection="test", key="test")
122+
assert store.delete(collection="test", key="test") is False
123+
116124
def test_delete_many(self, store: BaseStore):
117125
assert store.delete_many(collection="test", keys=["test", "test_2"]) == 0
118126

key-value/key-value-sync/tests/code_gen/stores/keyring/test_keyring.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class TestKeychainStore(BaseStoreTests):
2020
def store(self) -> KeyringStore:
2121
# Use a test-specific service name to avoid conflicts
2222
store = KeyringStore(service_name="py-key-value-test")
23-
store.delete_many(collection="test", keys=["test"])
23+
store.delete_many(collection="test", keys=["test", "test_2"])
2424
store.delete_many(collection="test_collection", keys=["test_key"])
2525

2626
return store

0 commit comments

Comments
 (0)