Skip to content

Commit 1c0151d

Browse files
Altay Sansaltasansal
authored andcommitted
Refactor mock_store to use zarr open_group instead of FsspecStore
1 parent b8e6692 commit 1c0151d

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

tests/unit/conftest.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
import numpy as np
99
import pytest
10-
from fsspec.implementations.local import LocalFileSystem
10+
import zarr
1111
from numpy.typing import NDArray
1212
from zarr import Group
1313
from zarr import consolidate_metadata
14-
from zarr.storage import FsspecStore
14+
from zarr import open_group
1515

1616
from mdio import MDIOReader
1717
from mdio.core import Dimension
@@ -30,11 +30,11 @@
3030

3131

3232
@pytest.fixture(scope="module")
33-
def mock_store(tmp_path_factory):
33+
def mock_root_group(tmp_path_factory) -> Group:
3434
"""Make a mocked MDIO store for writing."""
35+
zarr.config.set({"default_zarr_format": 2, "write_empty_chunks": False})
3536
tmp_dir = tmp_path_factory.mktemp("mdio")
36-
fs = LocalFileSystem()
37-
return FsspecStore(fs, path=tmp_dir.name)
37+
return open_group(tmp_dir.name, mode="w")
3838

3939

4040
@pytest.fixture
@@ -75,7 +75,7 @@ def mock_data(mock_coords):
7575

7676
@pytest.fixture
7777
def mock_mdio(
78-
mock_store: FsspecStore,
78+
mock_root_group: Group,
7979
mock_dimensions: list[Dimension],
8080
mock_coords: tuple[NDArray],
8181
mock_data: NDArray,
@@ -84,7 +84,7 @@ def mock_mdio(
8484
):
8585
"""This mocks most of mdio.converters.segy in memory."""
8686
zarr_root = create_zarr_hierarchy(
87-
store=mock_store,
87+
root_group=mock_root_group,
8888
overwrite=True,
8989
)
9090

@@ -108,13 +108,14 @@ def mock_mdio(
108108
write_attribute(name="dimension", zarr_group=zarr_root, attribute=dimensions_dict)
109109
write_attribute(name="trace_count", zarr_group=zarr_root, attribute=trace_count)
110110

111-
zarr_root["metadata"].create_dataset(
112-
data=grid.live_mask,
111+
live_mask_arr = zarr_root["metadata"].create_array(
113112
name="live_mask",
113+
dtype="bool",
114114
shape=grid.shape[:-1],
115-
chunks=-1,
116-
dimension_separator="/",
115+
chunks=grid.shape[:-1],
116+
chunk_key_encoding={"name": "v2", "separator": "/"},
117117
)
118+
live_mask_arr[...] = grid.live_mask[...]
118119

119120
write_attribute(name="created", zarr_group=zarr_root, attribute=str(datetime.now()))
120121
write_attribute(name="api_version", zarr_group=zarr_root, attribute=API_VERSION)
@@ -132,21 +133,21 @@ def mock_mdio(
132133
for key, value in stats.items():
133134
write_attribute(name=key, zarr_group=zarr_root, attribute=value)
134135

135-
data_arr = data_grp.create_dataset(
136+
data_arr = data_grp.create_array(
136137
"chunked_012",
137138
data=mock_data,
138-
dimension_separator="/",
139+
chunk_key_encoding={"name": "v2", "separator": "/"},
139140
)
140141

141-
metadata_grp.create_dataset(
142+
metadata_grp.create_array(
142143
data=il_grid * xl_grid,
143144
name="_".join(["chunked_012", "trace_headers"]),
144145
shape=grid.shape[:-1], # Same spatial shape as data
145146
chunks=data_arr.chunks[:-1], # Same spatial chunks as data
146-
dimension_separator="/",
147+
chunk_key_encoding={"name": "v2", "separator": "/"},
147148
)
148149

149-
consolidate_metadata(mock_store)
150+
consolidate_metadata(mock_root_group.store)
150151

151152
return zarr_root
152153

0 commit comments

Comments
 (0)