Coverage for src / invariant / store / null.py: 100.00%
9 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-25 10:21 +0100
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-25 10:21 +0100
1"""NullStore: No-op artifact store. Every operation executes; nothing is cached."""
3from typing import Any
5from invariant.store.base import ArtifactStore
8class NullStore(ArtifactStore):
9 """Store that never caches. exists() always returns False; put() is a no-op.
11 Use for execution correctness tests where cache behavior is irrelevant.
12 Stats are not updated (remains no-op).
13 """
15 def exists(self, op_name: str, digest: str) -> bool:
16 """Always return False; nothing is ever cached."""
17 return False
19 def get(self, op_name: str, digest: str) -> Any:
20 """Raise KeyError. Should never be called since exists() always returns False."""
21 raise KeyError(
22 f"Artifact with op_name '{op_name}' and digest '{digest}' not found"
23 )
25 def put(self, op_name: str, digest: str, artifact: Any) -> None:
26 """No-op; nothing is stored."""
27 pass