def test_get_fields_gs(config_MapServer_WFS_continents):
    """Testing field types"""

    p = OGRProvider(config_MapServer_WFS_continents)
    results = p.get_fields()
    assert results['NA2DESC']['type'] == 'string'
    assert results['NA3DESC']['type'] == 'string'
def test_get_agol_not_existing_feature_raise_exception(
    config_ArcGIS_ESRIJSON
):
    """Testing query for a not existing object"""
    p = OGRProvider(config_ArcGIS_ESRIJSON)
    with pytest.raises(ProviderItemNotFoundError):
        p.get(-1)
Example #3
0
def test_get_agol(config_ArcGIS_ESRIJSON):
    """Testing query for a specific object"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    result = p.get('78232831')
    assert result['id'] == 78232831
    assert '2605' in result['properties']['fulladdr']
Example #4
0
def test_query_with_skip_geometry_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with property filter"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(skip_geometry=True)
    for feature in feature_collection['features']:
        assert feature['geometry'] is None
def test_get_ms(config_MapServer_WFS_cities):
    """Testing query for a specific object"""

    p = OGRProvider(config_MapServer_WFS_cities)
    result = p.get('cities.8338')
    assert result['id'] == 'cities.8338'
    assert 'Buenos Aires' in result['properties']['NAME']
def test_gs_not_getting_gml_id(config_geonode_gs_WFS):
    """Testing query not returning gml_id for a specific object"""

    p = OGRProvider(config_geonode_gs_WFS)
    assert p.open_options is not None
    result = p.get_fields()
    assert result.get('gml_id') is None
def test_get_fields_agol(config_ArcGIS_ESRIJSON):
    """Testing field types"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    results = p.get_fields()
    assert results['fulladdr']['type'] == 'string'
    assert results['municipality']['type'] == 'string'
def test_get_vsicurl(config_vsicurl_csv):
    """Testing query for a specific object"""

    p = OGRProvider(config_vsicurl_csv)
    result = p.get('32')
    assert result['id'] == 32
    assert '14' in result['properties']['codice_regione']
def test_get_not_existing_feature_raise_exception(
    config_shapefile_4326
):
    """Testing query for a not existing object"""
    p = OGRProvider(config_shapefile_4326)
    with pytest.raises(ProviderItemNotFoundError):
        p.get(-1)
Example #10
0
def test_get_ms_not_existing_feature_raise_exception(
    config_MapServer_WFS
):
    """Testing query for a not existing object"""
    p = OGRProvider(config_MapServer_WFS)
    with pytest.raises(ProviderItemNotFoundError):
        p.get(-1)
def test_get_fields_vsicurl(config_vsicurl_csv):
    """Testing field types"""

    p = OGRProvider(config_vsicurl_csv)
    results = p.get_fields()
    assert results['denominazione_regione'] == 'string'
    assert results['totale_positivi'] == 'string'
def test_get_fields_gs(config_GeoServer_WFS):
    """Testing field types"""

    p = OGRProvider(config_GeoServer_WFS)
    results = p.get_fields()
    assert results['straatnaam'] == 'string'
    assert results['huisnummer'] == 'integer'
def test_get_ms(config_MapServer_WFS):
    """Testing query for a specific object"""

    p = OGRProvider(config_MapServer_WFS)
    result = p.get('stations.4403')
    assert result['id'] == 'stations.4403'
    assert '01' in result['properties']['station']
def test_get_geosol_gs(config_geosol_gs_WFS):
    """Testing query for a specific object"""

    p = OGRProvider(config_geosol_gs_WFS)
    result = p.get('Unesco_point.123')
    assert result['id'] == 'Unesco_point.123'
    assert 'Centro storico di San Gimignano' in result['properties']['sito']
def test_get_gs(config_GeoServer_WFS):
    """Testing query for a specific object"""

    p = OGRProvider(config_GeoServer_WFS)
    result = p.get('inspireadressen.1747652')
    assert result['id'] == 'inspireadressen.1747652'
    assert 'Mosselsepad' in result['properties']['straatnaam']
def test_get_agol(config_ArcGIS_ESRIJSON, config_random_id):
    """Testing query for a specific object"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    id, addr_number = config_random_id
    result = p.get(id)
    assert result['id'] == id
    assert addr_number in result['properties']['fulladdr']
def test_get_gs(config_MapServer_WFS_continents):
    """Testing query for a specific object"""

    p = OGRProvider(config_MapServer_WFS_continents)
    result = p.get('continents.23774')
    assert result['id'] == 'continents.23774'
    assert result['properties']['NA2DESC'] == 'Canada'
    assert result['properties']['NA3DESC'] == 'North America'
def test_gs_force_getting_gml_id(config_geonode_gs_WFS):
    """Testing query forcing to return gml_id for a specific object"""

    p = OGRProvider(config_geonode_gs_WFS)
    assert p.open_options is not None
    p.open_options['EXPOSE_GML_ID'] = 'YES'
    result = p.get_fields()
    assert result.get('gml_id')
def test_get_gs_with_geojson_output_too_complex_raise_exception(
        config_geonode_gs_WFS):
    """Testing query for a specific object with too complex geojson"""
    p = OGRProvider(config_geonode_gs_WFS)
    assert p.open_options.get('URL') is None
    p.open_options[
        'URL'] = 'https://geonode.wfp.org/geoserver/wfs?outputformat=json'
    with pytest.raises(ProviderQueryError):
        p.get(272)
def config_random_id(config_ArcGIS_ESRIJSON):
    p = OGRProvider(config_ArcGIS_ESRIJSON)
    # Get bunch of features to randomly have an id
    feature_collection = p.query(startindex=0, limit=10, resulttype='results')
    features = feature_collection.get('features', None)
    features_list = []
    for feature in features:
        features_list.append(feature['id'])
    selected_id = random.choice(features_list)
    fulladdr = p.get(selected_id)['properties']['fulladdr']
    return (selected_id, fulladdr.split(' ')[0])
def test_query_hits_ms(config_MapServer_WFS_cities):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_MapServer_WFS_cities)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 5000
def test_query_hits_28992(config_shapefile_28992):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_shapefile_28992)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 2481
def test_query_hits_agol(config_ArcGIS_ESRIJSON):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 100
def test_query_hits_geosol_gs(config_geosol_gs_WFS):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_geosol_gs_WFS)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 186
def test_query_bbox_hits_ms(config_MapServer_WFS_cities):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS_cities)
    feature_collection = p.query(bbox=[-47, -24, -45, -22], resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
def test_query_bbox_hits_gs(config_MapServer_WFS_continents):
    """Testing query for a valid JSON object with geometry, single address"""

    p = OGRProvider(config_MapServer_WFS_continents)
    feature_collection = p.query(bbox=[-61, 46, -60, 47], resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 3
def test_query_bbox_hits_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(
        bbox=[10.497565, 41.520355, 15.111823, 43.308645], resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
def test_query_with_property_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with property filter"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(
        startindex=20, limit=10, resulttype='results',
        properties=[('denominazione_regione', 'Lazio')])
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 10
    for feature in features:
        assert 'Lazio' in feature['properties']['denominazione_regione']
def test_query(config_poi_portugal):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_poi_portugal)
    feature_collection = p.query()
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert features is not None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
def test_query_with_property_filtering_ms(config_MapServer_WFS):
    """Testing query with property filtering on mapserver backend"""

    p = OGRProvider(config_MapServer_WFS)

    feature_collection = p.query(properties=[
        ('station', '21'),
    ])

    for feature in feature_collection['features']:
        assert 'properties' in feature
        assert 'station' in feature['properties']

        assert feature['properties']['station'] == '21'