From cf7f43b4178e5d15f89cf25fe61db1ca91e36daa Mon Sep 17 00:00:00 2001 From: Pin Date: Wed, 1 Jul 2020 04:33:15 +0000 Subject: [PATCH] Move bbox function to helper --- integration_tests/conftest.py | 27 ++++++++++++++++++++++++ integration_tests/test_wcs_server.py | 13 +++++++++--- integration_tests/test_wms_server.py | 31 +++------------------------- requirements.txt | 1 + setup.cfg | 1 - 5 files changed, 41 insertions(+), 32 deletions(-) diff --git a/integration_tests/conftest.py b/integration_tests/conftest.py index b54f81340..1054ddc69 100644 --- a/integration_tests/conftest.py +++ b/integration_tests/conftest.py @@ -1,4 +1,5 @@ import os +pytest_plugins = ['helpers_namespace'] import pytest from click.testing import CliRunner @@ -37,3 +38,29 @@ def ows_server(request): @pytest.fixture def runner(): return CliRunner() + +@pytest.helpers.register +def enclosed_bbox(bbox): + lon_min, lat_min, lon_max, lat_max = bbox + lon_range = lon_max - lon_min + lat_range = lat_max - lat_min + + return ( + lon_min + 0.2 * lon_range, + lat_min + 0.2 * lat_range, + lon_max - 0.2 * lon_range, + lat_max - 0.2 * lat_range + ) + +@pytest.helpers.register +def disjoint_bbox(bbox): + lon_min, lat_min, lon_max, lat_max = bbox + lon_range = lon_max - lon_min + lat_range = lat_max - lat_min + + return ( + lon_min - 0.4 * lon_range, + lat_min - 0.4 * lat_range, + lon_min - 0.2 * lon_range, + lat_min - 0.2 * lat_range + ) \ No newline at end of file diff --git a/integration_tests/test_wcs_server.py b/integration_tests/test_wcs_server.py index f6278f05d..5fbeaba5a 100644 --- a/integration_tests/test_wcs_server.py +++ b/integration_tests/test_wcs_server.py @@ -74,10 +74,13 @@ def test_wcs1_getcoverage_geotiff(ows_server): test_layer_name = contents[0] test_layer = wcs.contents[test_layer_name] + bbox = test_layer.boundingBoxWGS84 + + output = wcs.getCoverage( identifier=contents[0], format='GeoTIFF', - bbox=(10,40,18,45), + bbox=pytest.helpers.disjoint_bbox(bbox), crs='EPSG:4326', width=400, height=300, @@ -87,18 +90,22 @@ def test_wcs1_getcoverage_geotiff(ows_server): assert output assert output.info()['Content-Type'] == 'image/geotiff' -@pytest.mark.xfail(reason="returns 500") +# @pytest.mark.xfail(reason="returns 500") def test_wcs1_getcoverage_netcdf(ows_server): # Use owslib to confirm that we have a somewhat compliant WCS service wcs = WebCoverageService(url=ows_server.url+"/wcs", version="1.0.0") # Ensure that we have at least some layers available contents = list(wcs.contents) + test_layer_name = contents[0] + test_layer = wcs.contents[test_layer_name] + + bbox = test_layer.boundingBoxWGS84 output = wcs.getCoverage( identifier=contents[0], format='netCDF', - bbox=(10,40,18,45), + bbox=pytest.helpers.enclosed_bbox(bbox), crs='EPSG:4326', width=400, height=300 diff --git a/integration_tests/test_wms_server.py b/integration_tests/test_wms_server.py index 6466c46c5..462feba19 100644 --- a/integration_tests/test_wms_server.py +++ b/integration_tests/test_wms_server.py @@ -60,31 +60,6 @@ def test_getcap(ows_server): assert gc_xds.validate(resp_xml) -def enclosed_bbox(bbox): - lon_min, lat_min, lon_max, lat_max = bbox - lon_range = lon_max - lon_min - lat_range = lat_max - lat_min - - return ( - lon_min + 0.2 * lon_range, - lat_min + 0.2 * lat_range, - lon_max - 0.2 * lon_range, - lat_max - 0.2 * lat_range - ) - - -def disjoint_bbox(bbox): - lon_min, lat_min, lon_max, lat_max = bbox - lon_range = lon_max - lon_min - lat_range = lat_max - lat_min - - return ( - lon_min - 0.4 * lon_range, - lat_min - 0.4 * lat_range, - lon_min - 0.2 * lon_range, - lat_min - 0.2 * lat_range - ) - def test_wms_server(ows_server): # Use owslib to confirm that we have a somewhat compliant WMS service wms = WebMapService(url=ows_server.url+"/wms", version="1.3.0") @@ -109,7 +84,7 @@ def test_wms_getmap(ows_server): img = wms.getmap(layers=[test_layer_name], styles=[], srs="EPSG:4326", - bbox=enclosed_bbox(bbox), + bbox=pytest.helpers.enclosed_bbox(bbox), size=(256, 256), format="image/png", transparent=True, @@ -121,7 +96,7 @@ def test_wms_getmap(ows_server): img = wms.getmap(layers=[test_layer_name], styles=[], srs="EPSG:4326", - bbox=disjoint_bbox(bbox), + bbox=pytest.helpers.disjoint_bbox(bbox), size=(256, 256), format="image/png", transparent=True, @@ -144,7 +119,7 @@ def test_wms_getfeatureinfo(ows_server): response = wms.getfeatureinfo( layers=[test_layer_name], srs='EPSG:4326', - bbox=enclosed_bbox(bbox), + bbox=pytest.helpers.enclosed_bbox(bbox), size=(256, 256), format="image/png", query_layers=[test_layer_name], diff --git a/requirements.txt b/requirements.txt index 3f7cdcfdb..3ee22baab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,3 +28,4 @@ sentry-sdk blinker pyows owslib +pytest-helpers-namespace \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index b8a1655fa..2a9acf13d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,2 @@ [bdist_wheel] universal = 1 -