Skip to content

Commit

Permalink
Move bbox function to helper
Browse files Browse the repository at this point in the history
  • Loading branch information
pindge committed Jul 1, 2020
1 parent 13b8d8d commit cf7f43b
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 32 deletions.
27 changes: 27 additions & 0 deletions integration_tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import os
pytest_plugins = ['helpers_namespace']
import pytest
from click.testing import CliRunner

Expand Down Expand Up @@ -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
)
13 changes: 10 additions & 3 deletions integration_tests/test_wcs_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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
Expand Down
31 changes: 3 additions & 28 deletions integration_tests/test_wms_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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,
Expand All @@ -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,
Expand All @@ -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],
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ sentry-sdk
blinker
pyows
owslib
pytest-helpers-namespace
1 change: 0 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
[bdist_wheel]
universal = 1

0 comments on commit cf7f43b

Please sign in to comment.