2020 ZARR_FORMAT , decode_group_metadata , encode_group_metadata
2121from zarr .compat import text_type
2222from zarr .storage import default_compressor
23- from zarr .codecs import Zlib
23+ from zarr .codecs import Zlib , Blosc
2424
2525
2626class StoreTests (object ):
@@ -670,18 +670,38 @@ def test_migrate_1to2():
670670
671671 # check results
672672 assert 'meta' not in store
673- assert '.zarray' in store
673+ assert array_meta_key in store
674674 assert 'attrs' not in store
675- assert '.zattrs' in store
675+ assert attrs_key in store
676676 meta_migrated = decode_array_metadata (store [array_meta_key ])
677677 eq (2 , meta_migrated ['zarr_format' ])
678+
678679 # preserved fields
679- for f in 'shape' , 'chunks' , 'dtype' , 'compression' , 'compression_opts' , \
680- 'fill_value' , 'order' :
680+ for f in 'shape' , 'chunks' , 'dtype' , 'fill_value' , 'order' :
681681 eq (meta [f ], meta_migrated [f ])
682+
682683 # migrate should have added empty filters field
683684 assert_is_none (meta_migrated ['filters' ])
684685
686+ # check compression and compression_opts migrated to compressor
687+ assert 'compression' not in meta_migrated
688+ assert 'compression_opts' not in meta_migrated
689+ eq (meta_migrated ['compressor' ], Zlib (1 ).get_config ())
690+
691+ # check dict compression_opts
692+ store = dict ()
693+ meta ['compression' ] = 'blosc'
694+ meta ['compression_opts' ] = dict (cname = 'lz4' , clevel = 5 , shuffle = 1 )
695+ meta_json = meta_v1 .encode_metadata (meta )
696+ store ['meta' ] = meta_json
697+ store ['attrs' ] = json .dumps (dict ()).encode ('ascii' )
698+ migrate_1to2 (store )
699+ meta_migrated = decode_array_metadata (store [array_meta_key ])
700+ assert 'compression' not in meta_migrated
701+ assert 'compression_opts' not in meta_migrated
702+ eq (meta_migrated ['compressor' ],
703+ Blosc (cname = 'lz4' , clevel = 5 , shuffle = 1 ).get_config ())
704+
685705 # check 'none' compression is migrated to None (null in JSON)
686706 store = dict ()
687707 meta ['compression' ] = 'none'
@@ -690,5 +710,6 @@ def test_migrate_1to2():
690710 store ['attrs' ] = json .dumps (dict ()).encode ('ascii' )
691711 migrate_1to2 (store )
692712 meta_migrated = decode_array_metadata (store [array_meta_key ])
693- assert_is_none (meta_migrated ['compression' ])
694- assert_is_none (meta_migrated ['compression_opts' ])
713+ assert 'compression' not in meta_migrated
714+ assert 'compression_opts' not in meta_migrated
715+ assert_is_none (meta_migrated ['compressor' ])
0 commit comments