def test_url_open_remote(url: str, sample_dataset: wk.Dataset, sample_bbox: wk.BoundingBox) -> None: ds = wk.Dataset.open_remote(url, ) assert set(ds.layers.keys()) == {"color", "segmentation"} data = (ds.get_color_layers()[0].get_finest_mag().read( absolute_bounding_box=sample_bbox)) assert data.sum() == 122507 assert np.array_equal( data, sample_dataset.get_color_layers()[0].get_finest_mag().read(), )
def test_url_download(url: str, tmp_path: Path, sample_dataset: wk.Dataset, sample_bbox: wk.BoundingBox) -> None: ds = wk.Dataset.download(url, path=tmp_path / "ds", mags=[wk.Mag(1)], bbox=sample_bbox) assert set(ds.layers.keys()) == {"color", "segmentation"} data = ds.get_color_layers()[0].get_finest_mag().read() assert data.sum() == 122507 assert np.array_equal( data, sample_dataset.get_color_layers()[0].get_finest_mag().read(), )
def test_remote_dataset(sample_dataset: wk.Dataset) -> None: time_str = strftime("%Y-%m-%d_%H-%M-%S", gmtime()) remote_ds = sample_dataset.upload( new_dataset_name=f"test_remote_metadata_{time_str}") assert np.array_equal( remote_ds.get_color_layers()[0].get_finest_mag().read(), sample_dataset.get_color_layers()[0].get_finest_mag().read(), ) assert remote_ds.read_only assert remote_ds.get_color_layers()[0].read_only assert remote_ds.get_color_layers()[0].get_finest_mag().read_only assert ( remote_ds.url == f"http://localhost:9000/datasets/Organization_X/test_remote_metadata_{time_str}" ) assert remote_ds.display_name is None remote_ds.display_name = "Test Remote Dataset" assert remote_ds.display_name == "Test Remote Dataset" del remote_ds.display_name assert remote_ds.display_name is None assert remote_ds.description is None remote_ds.description = "My awesome test description" assert remote_ds.description == "My awesome test description" del remote_ds.description assert remote_ds.description is None assert not remote_ds.is_public remote_ds.is_public = True assert remote_ds.is_public assert len(remote_ds.tags) == 0 for i in range(3): remote_ds.tags += (f"category {i}", ) assert remote_ds.tags == ("category 0", "category 1", "category 2") assert len(remote_ds.sharing_token) > 0 assert len(remote_ds.allowed_teams) == 0 test_teams = (wk.Team.get_by_name("team_X1"), ) assert test_teams[0].id == "570b9f4b2a7c0e3b008da6ec" remote_ds.allowed_teams = test_teams assert remote_ds.allowed_teams == test_teams remote_ds.allowed_teams = ["570b9f4b2a7c0e3b008da6ec"] assert remote_ds.allowed_teams == test_teams