c621b21391
* new file: docker/Dockerfile Dockerfile for pygeoapi * testing postgis on travis * testing 9.6 * install postgis as package * create database * postgis dataset - travis * missing path * modified: tests/data/hotosm_bdi_waterways.sql.gz Change in name of dataset * postgresql code * modified: pygeoapi/provider/postgresql.py update with origin * Postgresql working provider, typo in geopackage * update to travis. Change on gpkg * missing dep (psycopg2) * pytest * problem with operator in travis * ProviderConnectionError implementation * postgresql with schema support * Changes requested by @tomkralidis * missing pygeoapi-config.yml * delete openapi.yml deleted openapi.yml
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
# Needs to be run like: python3 -m pytest
|
|
|
|
import pytest
|
|
from pygeoapi.provider.postgresql import PostgreSQLProvider
|
|
|
|
|
|
@pytest.fixture()
|
|
def config():
|
|
return {
|
|
'name': 'PostgreSQL',
|
|
'data': {'host': '127.0.0.1',
|
|
'dbname': 'test',
|
|
'user': 'postgres',
|
|
'password': 'postgres'
|
|
},
|
|
'id_field': "osm_id",
|
|
'table': 'hotosm_bdi_waterways'
|
|
}
|
|
|
|
|
|
def test_query(config):
|
|
"""Testing query for a valid JSON object with geometry"""
|
|
|
|
p = PostgreSQLProvider(config)
|
|
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_get(config):
|
|
"""Testing query for a specific object"""
|
|
p = PostgreSQLProvider(config)
|
|
results = p.get(29701937)
|
|
print(results)
|
|
assert len(results['features']) == 1
|
|
assert "Kanyosha" in results['features'][0]['properties']['name']
|