|
19 | 19 | DirectoryStore, ZipStore, init_group, group_meta_key,
|
20 | 20 | getsize, migrate_1to2, TempStore, atexit_rmtree,
|
21 | 21 | NestedDirectoryStore, default_compressor, DBMStore,
|
22 |
| - LMDBStore, atexit_rmglob, LRUStoreCache) |
| 22 | + LMDBStore, atexit_rmglob, LRUStoreCache, |
| 23 | + ConsolidatedMetadataStore) |
23 | 24 | from zarr.meta import (decode_array_metadata, encode_array_metadata, ZARR_FORMAT,
|
24 | 25 | decode_group_metadata, encode_group_metadata)
|
25 | 26 | from zarr.compat import PY2
|
26 | 27 | from zarr.codecs import Zlib, Blosc, BZ2
|
27 |
| -from zarr.errors import PermissionError |
| 28 | +from zarr.errors import PermissionError, MetadataError |
28 | 29 | from zarr.hierarchy import group
|
29 | 30 | from zarr.tests.util import CountingDict
|
30 | 31 |
|
@@ -1251,3 +1252,16 @@ def test_format_compatibility():
|
1251 | 1252 | else:
|
1252 | 1253 | assert compressor.codec_id == z.compressor.codec_id
|
1253 | 1254 | assert compressor.get_config() == z.compressor.get_config()
|
| 1255 | + |
| 1256 | + |
| 1257 | +class TestConsolidatedMetadataStore(unittest.TestCase): |
| 1258 | + |
| 1259 | + def test_bad_format(self): |
| 1260 | + store = dict() |
| 1261 | + metadata = json.dumps({ |
| 1262 | + # bad format version |
| 1263 | + 'zarr_consolidated_format': 0, |
| 1264 | + }) |
| 1265 | + store['.zmetadata'] = metadata |
| 1266 | + with pytest.raises(MetadataError): |
| 1267 | + ConsolidatedMetadataStore(store) |
0 commit comments