Skip to content

Commit 3fab702

Browse files
committed
Add test that detects backwards compatibility break
1 parent d366ae9 commit 3fab702

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

tests/test_metadata/test_consolidated.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
open,
1818
open_consolidated,
1919
)
20-
from zarr.core.buffer import default_buffer_prototype
20+
from zarr.core.buffer import cpu, default_buffer_prototype
2121
from zarr.core.group import ConsolidatedMetadata, GroupMetadata
2222
from zarr.core.metadata import ArrayV3Metadata
2323
from zarr.core.metadata.v2 import ArrayV2Metadata
@@ -476,6 +476,27 @@ async def test_open_consolidated_raises_async(self, zarr_format: ZarrFormat):
476476
with pytest.raises(ValueError):
477477
await zarr.api.asynchronous.open_consolidated(store, zarr_format=None)
478478

479+
@pytest.fixture
480+
async def v2_consolidated_metadata_empty_dataset(
481+
self, memory_store: zarr.storage.MemoryStore
482+
) -> AsyncGroup:
483+
zgroup_bytes = cpu.Buffer.from_bytes(json.dumps({"zarr_format": 2}).encode())
484+
zmetadata_bytes = cpu.Buffer.from_bytes(
485+
b'{"metadata":{".zgroup":{"zarr_format":2}},"zarr_consolidated_format":1}'
486+
)
487+
return AsyncGroup._from_bytes_v2(
488+
None, zgroup_bytes, zattrs_bytes=None, consolidated_metadata_bytes=zmetadata_bytes
489+
)
490+
491+
async def test_consolidated_metadata_backwards_compatibility(
492+
self, v2_consolidated_metadata_empty_dataset
493+
):
494+
store = zarr.storage.MemoryStore()
495+
await zarr.api.asynchronous.open(store=store, zarr_format=2)
496+
await zarr.api.asynchronous.consolidate_metadata(store)
497+
result = await zarr.api.asynchronous.open_consolidated(store, zarr_format=2)
498+
assert result.metadata == v2_consolidated_metadata_empty_dataset.metadata
499+
479500
async def test_consolidated_metadata_v2(self):
480501
store = zarr.storage.MemoryStore()
481502
g = await AsyncGroup.from_store(store, attributes={"key": "root"}, zarr_format=2)

0 commit comments

Comments
 (0)