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()
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()
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()
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()