def METHOD_NAME(
    hub_cloud_path, hub_cloud_dev_token, hub_cloud_dev_credentials
):
    runner = CliRunner()
    result = runner.invoke(logout)
    assert result.exit_code == 0
    ds = deeplake.empty(hub_cloud_path, token=hub_cloud_dev_token)
    with ds:
        populate(ds)
    ds = deeplake.load(hub_cloud_path, token=hub_cloud_dev_token)
    view = ds[50:100]
    view.save_view(id="50to100")
    ds = deeplake.load(hub_cloud_path, read_only=True, token=hub_cloud_dev_token)
    view = ds[25:100]
    view.save_view(id="25to100")
    ds = deeplake.load(hub_cloud_path, read_only=True, token=hub_cloud_dev_token)
    loaded = ds.load_view("50to100")
    np.testing.assert_array_equal(loaded.images.numpy(), ds[50:100].images.numpy())
    np.testing.assert_array_equal(loaded.labels.numpy(), ds[50:100].labels.numpy())
    assert loaded._vds.path == posixpath.join(hub_cloud_path, ".queries/50to100")
    loaded = ds.load_view("25to100")
    np.testing.assert_array_equal(loaded.images.numpy(), ds[25:100].images.numpy())
    np.testing.assert_array_equal(loaded.labels.numpy(), ds[25:100].labels.numpy())
    assert loaded._vds.path == posixpath.join(hub_cloud_path, ".queries/25to100")
    ds.delete_view("25to100")
    deeplake.delete(hub_cloud_path, token=hub_cloud_dev_token)