Example #1
0
def test_invalid_encoding_chunks_with_numpy_raise():
    data = np.zeros((10, 20, 30))
    ds = xr.Dataset({'foo': (['x', 'y', 'z'], data)})
    ds['foo'].encoding['chunks'] = [8, 5, 1]
    with pytest.raises(ValueError) as excinfo:
        _ = create_zmetadata(ds)
    excinfo.match(r'Encoding chunks do not match inferred.*')
Example #2
0
def test_invalid_encoding_chunks_with_dask_raise():
    expected = [4, 5, 1]
    data = dask.array.zeros((10, 20, 30), chunks=expected)
    ds = xr.Dataset({'foo': (['x', 'y', 'z'], data)})
    ds['foo'].encoding['chunks'] = [8, 5, 1]
    with pytest.raises(NotImplementedError) as excinfo:
        _ = create_zmetadata(ds)
    excinfo.match(r'Specified zarr chunks .*')
Example #3
0
def test_invalid_dask_chunks_raise():
    data1 = dask.array.zeros((10, 20, 30), chunks=(4, 10, 1))
    data2 = dask.array.zeros((10, 20, 30), chunks=(4, 5, 1))
    data = dask.array.concatenate([data1, data2])
    ds = xr.Dataset({'foo': (['x', 'y', 'z'], data)})

    with pytest.raises(ValueError) as excinfo:
        _ = create_zmetadata(ds)
    excinfo.match(r'Zarr requires uniform chunk sizes .*')
Example #4
0
def test_dask_chunks_become_zarr_chunks():
    expected = [4, 5, 1]
    data1 = dask.array.zeros((10, 20, 30), chunks=expected)
    data2 = np.zeros((10, 20, 30))
    ds = xr.Dataset({'foo': (['x', 'y', 'z'], data1), 'bar': (['x', 'y', 'z'], data2)})
    zmeta = create_zmetadata(ds)

    assert zmeta['metadata']['foo/.zarray']['chunks'] == expected
    assert zmeta['metadata']['bar/.zarray']['chunks'] == list(data2.shape)
Example #5
0
def test_zmetadata(airtemp_ds, airtemp_app):
    response = airtemp_app.get('/.zmetadata')
    assert response.status_code == 200
    assert response.json() == jsonify_zmetadata(airtemp_ds,
                                                create_zmetadata(airtemp_ds))
Example #6
0
def test_get_zmetadata_key(airtemp_ds):
    mapper = TestMapper(airtemp_ds.rest.app)
    actual = json.loads(mapper['.zmetadata'].decode())
    expected = jsonify_zmetadata(airtemp_ds, create_zmetadata(airtemp_ds))
    assert actual == expected