Пример #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()
Пример #2
0
def activity_log_space():
    """Create a new space supporting activity log."""
    listeners = {
        "id": "activity-log",
        "params": {
            "states": 5,
            "storageMode": "DIFF_ONLY",
            "writeInvalidatedAt": "true",
        },
        "eventTypes": ["ModifySpaceEvent.request"],
    }
    space = Space.new(
        title="Activity-Log Test",
        description="A test space for Activity-Log",
        enable_uuid=True,
        listeners=listeners,
    )
    sleep(0.5)
    yield space

    # now teardown (delete temporary space and activity log space)
    activity_log_spaceid = space.info["listeners"]["activity-log-writer"][0][
        "params"
    ]["spaceId"]
    space2 = Space.from_id(activity_log_spaceid)
    space.delete()
    space2.delete()
Пример #3
0
def test_get_space_tile_sampling(api):
    """Get space tile and compare all available sampling rates."""
    space = Space.from_id(MICROSOFT_BUILDINGS_SPACE_ID)
    params = dict(
        tile_type="web",
        tile_id="11_585_783",
    )
    tile_raw = list(space.features_in_tile(mode="raw", **params))
    tile_viz_off = list(
        space.features_in_tile(mode="viz", viz_sampling="off", **params))
    tile_viz_low = list(
        space.features_in_tile(mode="viz", viz_sampling="low", **params))
    tile_viz_med = list(
        space.features_in_tile(mode="viz", viz_sampling="med", **params))
    tile_viz_high = list(
        space.features_in_tile(mode="viz", viz_sampling="high", **params))

    len_raw = len(tile_raw)
    len_viz_off = len(tile_viz_off)
    len_viz_low = len(tile_viz_low)
    len_viz_med = len(tile_viz_med)
    len_viz_high = len(tile_viz_high)
    assert len_raw > len_viz_off >= len_viz_low > len_viz_med >= len_viz_high
Пример #4
0
def test_create_from_id(api, space_id):
    """Test create from an existing space ID."""
    space = Space.from_id(space_id)
    assert space.info == api.get_space(space_id=space_id)
Пример #5
0
def space_object(api, space_id):
    """Create from an existing space ID."""
    space = Space.from_id(space_id)
    return space