88
99import unittest
1010import pytest
11- import sys
12- from pywps .validator .complexvalidator import *
11+ from pywps .validator .mode import MODE
12+ from pywps .validator .complexvalidator import (
13+ validategml ,
14+ # validategpx,
15+ # validatexml,
16+ validatejson ,
17+ validategeojson ,
18+ validateshapefile ,
19+ validategeotiff ,
20+ validatenetcdf ,
21+ validatedods ,
22+ )
1323from pywps .inout .formats import FORMATS
1424from pywps import ComplexInput
1525from pywps .inout .basic import SOURCE_TYPE
1626import tempfile
1727import os
1828
19- try :
20- import osgeo
21- except ImportError :
22- WITH_GDAL = False
23- else :
24- WITH_GDAL = True
2529
2630try :
27- import netCDF4
31+ import netCDF4 # noqa
2832except ImportError :
2933 WITH_NC4 = False
3034else :
3135 WITH_NC4 = True
3236
37+
3338def get_input (name , schema , mime_type ):
3439
3540 class FakeFormat (object ):
3641 mimetype = 'text/plain'
3742 schema = None
3843 units = None
44+
3945 def validate (self , data ):
4046 return True
4147
@@ -67,20 +73,17 @@ class ValidateTest(unittest.TestCase):
6773 def setUp (self ):
6874 pass
6975
70-
7176 def tearDown (self ):
7277 pass
7378
74- @unittest .skip ('long' )
7579 def test_gml_validator (self ):
7680 """Test GML validator
7781 """
7882 gml_input = get_input ('gml/point.gml' , 'point.xsd' , FORMATS .GML .mime_type )
7983 self .assertTrue (validategml (gml_input , MODE .NONE ), 'NONE validation' )
8084 self .assertTrue (validategml (gml_input , MODE .SIMPLE ), 'SIMPLE validation' )
81- if WITH_GDAL :
82- self .assertTrue (validategml (gml_input , MODE .STRICT ), 'STRICT validation' )
83- self .assertTrue (validategml (gml_input , MODE .VERYSTRICT ), 'VERYSTRICT validation' )
85+ self .assertTrue (validategml (gml_input , MODE .STRICT ), 'STRICT validation' )
86+ self .assertTrue (validategml (gml_input , MODE .VERYSTRICT ), 'VERYSTRICT validation' )
8487 gml_input .stream .close ()
8588
8689 def test_json_validator (self ):
@@ -99,9 +102,8 @@ def test_geojson_validator(self):
99102 FORMATS .GEOJSON .mime_type )
100103 self .assertTrue (validategeojson (geojson_input , MODE .NONE ), 'NONE validation' )
101104 self .assertTrue (validategeojson (geojson_input , MODE .SIMPLE ), 'SIMPLE validation' )
102- if WITH_GDAL :
103- self .assertTrue (validategeojson (geojson_input , MODE .STRICT ), 'STRICT validation' )
104- self .assertTrue (validategeojson (geojson_input , MODE .VERYSTRICT ), 'VERYSTRICT validation' )
105+ self .assertTrue (validategeojson (geojson_input , MODE .STRICT ), 'STRICT validation' )
106+ self .assertTrue (validategeojson (geojson_input , MODE .VERYSTRICT ), 'VERYSTRICT validation' )
105107 geojson_input .stream .close ()
106108
107109 def test_shapefile_validator (self ):
@@ -111,8 +113,7 @@ def test_shapefile_validator(self):
111113 FORMATS .SHP .mime_type )
112114 self .assertTrue (validateshapefile (shapefile_input , MODE .NONE ), 'NONE validation' )
113115 self .assertTrue (validateshapefile (shapefile_input , MODE .SIMPLE ), 'SIMPLE validation' )
114- if WITH_GDAL :
115- self .assertTrue (validateshapefile (shapefile_input , MODE .STRICT ), 'STRICT validation' )
116+ self .assertTrue (validateshapefile (shapefile_input , MODE .STRICT ), 'STRICT validation' )
116117 shapefile_input .stream .close ()
117118
118119 def test_geotiff_validator (self ):
@@ -122,8 +123,6 @@ def test_geotiff_validator(self):
122123 FORMATS .GEOTIFF .mime_type )
123124 self .assertTrue (validategeotiff (geotiff_input , MODE .NONE ), 'NONE validation' )
124125 self .assertTrue (validategeotiff (geotiff_input , MODE .SIMPLE ), 'SIMPLE validation' )
125- if not WITH_GDAL :
126- self .skipTest ('GDAL not Installed' )
127126 self .assertTrue (validategeotiff (geotiff_input , MODE .STRICT ), 'STRICT validation' )
128127 geotiff_input .stream .close ()
129128
@@ -161,12 +160,12 @@ def test_dods_default(self):
161160 default_type = SOURCE_TYPE .URL ,
162161 mode = MODE .SIMPLE )
163162
164-
165163 def test_fail_validator (self ):
166164 fake_input = get_input ('point.xsd' , 'point.xsd' , FORMATS .SHP .mime_type )
167165 self .assertFalse (validategml (fake_input , MODE .SIMPLE ), 'SIMPLE validation invalid' )
168166 fake_input .stream .close ()
169167
168+
170169def load_tests (loader = None , tests = None , pattern = None ):
171170 if not loader :
172171 loader = unittest .TestLoader ()
0 commit comments