Exemple #1
0
def test_virtual_space_group(upstream_spaces):
    """Test virtual-space with group operation."""
    # Test group operation on upstream spaces.
    title = "Virtual Space for coutries and chicago parks data"
    description = "Test group functionality of virtual space"
    kwargs = {"virtualspace": dict(group=upstream_spaces)}
    vspace = Space.virtual(title=title, description=description, **kwargs)
    vpace_stats = vspace.get_statistics()
    assert set(vpace_stats["geometryTypes"]["value"]) == {
        "MultiPolygon",
        "Polygon",
        "Point",
    }
    assert vpace_stats["count"]["value"] == 189
    feature1 = vspace.get_feature(feature_id="FRA")
    assert (feature1["properties"]["@ns:com:here:xyz"]["space"] ==
            upstream_spaces[0])
    feature2 = vspace.get_feature(feature_id="LP")
    assert (feature2["properties"]["@ns:com:here:xyz"]["space"] ==
            upstream_spaces[1])
    vspace.delete_feature(feature_id="FRA")
    with pytest.raises(ApiError):
        vspace.get_feature("FRA")
    sp1 = Space.from_id(space_id=upstream_spaces[0])
    with pytest.raises(ApiError):
        sp1.get_feature("FRA")
    vspace.delete()
Exemple #2
0
def test_virtual_space_custom(space_id, empty_space):
    """Test virtual-space with custom operation."""
    empty_space.add_features(features=gj_countries)
    title = "Virtual Space to check merge operation"
    description = "Test merge functionality of virtual space"
    kwargs = {"virtualspace": {"custom": [space_id, empty_space.info["id"]]}}
    vspace = Space.virtual(title=title, description=description, **kwargs)
    # TODO: Add assertions once custom connector is enabled for token.
    vspace.delete()
Exemple #3
0
def test_virtual_space_merge(space_id, empty_space):
    """Test virtual-space with a merge operation."""
    # Creating duplicate space_id and checking post merge there are no duplicate features.
    empty_space.add_features(features=gj_countries)
    title = "Virtual Space to check merge operation"
    kwargs = {"virtualspace": {"merge": [space_id, empty_space.info["id"]]}}
    vspace = Space.virtual(title=title, **kwargs)
    feature = vspace.get_feature(feature_id="FRA")
    assert feature["properties"]["@ns:com:here:xyz"]["space"] is None
    vspace.delete()
Exemple #4
0
def test_virtual_space_override(space_id, empty_space):
    """Test virtual-space with override operation."""
    # Creating duplicate space_id and checking post override operation on virtual-space
    # duplicate features from 2nd space in list of upstream spaces get overridden.
    empty_space.add_features(features=gj_countries)
    title = "Virtual Space to check merge operation"
    description = "Test merge functionality of virtual space"
    kwargs = {"virtualspace": {"override": [space_id, empty_space.info["id"]]}}
    vspace = Space.virtual(title=title, description=description, **kwargs)
    feature = vspace.get_feature(feature_id="FRA")
    assert (feature["properties"]["@ns:com:here:xyz"]["space"] ==
            empty_space.info["id"])
    vspace.delete()