diff --git a/tests/unit/layer/db_layer/datastore/test_backend.py b/tests/unit/layer/db_layer/datastore/test_backend.py index fb028caf3..75a33c4d6 100644 --- a/tests/unit/layer/db_layer/datastore/test_backend.py +++ b/tests/unit/layer/db_layer/datastore/test_backend.py @@ -29,6 +29,9 @@ def test_read_write_simple(datastore_emulator) -> None: entity = layer.backend.client.get(child_key) # type: ignore assert entity["value"] == "val" + assert layer.get("key") == "val" + assert layer.get("non_existent_key") is None + assert layer.get("non_existent_key", "default_val") == "default_val" def test_read_write(datastore_emulator) -> None: @@ -46,6 +49,7 @@ def test_read_write(datastore_emulator) -> None: data = layer[idx_user] assert data == data_user + assert layer[("key0", "col1")] == "val1" def test_with_changes(datastore_emulator) -> None: diff --git a/zetta_utils/layer/db_layer/datastore/backend.py b/zetta_utils/layer/db_layer/datastore/backend.py index 189cb0da4..e1fa64bcb 100644 --- a/zetta_utils/layer/db_layer/datastore/backend.py +++ b/zetta_utils/layer/db_layer/datastore/backend.py @@ -83,7 +83,7 @@ def __contains__(self, idx: str) -> bool: parent_key = self.client.key("Row", idx) return self.client.get(parent_key) is not None - def __len__(self) -> int: + def __len__(self) -> int: # pragma: no cover # no emulator support count_query = self.client.aggregation_query(self.client.query(kind="Row")).count() for aggregation_results in count_query.fetch(): for aggregation in aggregation_results: diff --git a/zetta_utils/layer/db_layer/layer.py b/zetta_utils/layer/db_layer/layer.py index 22ed383e4..1a7e08703 100644 --- a/zetta_utils/layer/db_layer/layer.py +++ b/zetta_utils/layer/db_layer/layer.py @@ -196,7 +196,7 @@ def __setitem__(self, idx, data): def __contains__(self, idx: str) -> bool: # pragma: no cover # no logic return idx in self.backend - def __len__(self) -> int: + def __len__(self) -> int: # pragma: no cover # no logic return len(self.backend) def get(self, idx: str, default=None):