def test_produce_lsec_service_exception(self): environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'layers=ecmwf_EUR_LL015.LS_HV01&styles=&srs=LINE%3A1&format=text%2Fxml&' 'request=GetMap&dim_init_time=2012-10-17T12%3A00%3A00Z&' 'version=1.1.1&bbox=201&time=2012-10-17T12%3A00%3A00Z&' 'exceptions=application%2Fvnd.ogc.se_xml&path=52.78%2C-8.93%2C25000%2C48.08%2C11.28%2C25000'} query_string = environ["QUERY_STRING"] self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(query_string)) callback_ok_xml(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") == 0, result for orig, fake in [ ("time=2012-10-17T12%3A00%3A00Z", "time=2012-01-17T12%3A00%3A00Z"), ("&dim_init_time=2012-10-17T12%3A00%3A00Z", ""), ("&time=2012-10-17T12%3A00%3A00Z", ""), ("layers=ecmwf_EUR_LL015.LS_HV01", "layers=ecmwf_AUR_LL015.LS_HV01"), ("layers=ecmwf_EUR_LL015.LS_HV01", "layers=ecmwf_EUR_LL015.LS_HV99"), ("format=text%2Fxml", "format=oext%2Fxml"), ("path=52.78%2C-8.93%2C25000%2C48.08%2C11.28%2C25000", "path=aaaa%2C-8.93%2C25000%2C48.08%2C11.28%2C25000"), ("&path=52.78%2C-8.93%2C25000%2C48.08%2C11.28%2C25000", ""), ("bbox=201", "bbox=aaa")]: environ["QUERY_STRING"] = query_string.replace(orig, fake) result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") > 0, result
def test_produce_lsec_plot(self): environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'layers=ecmwf_EUR_LL015.LS_HV01&styles=&srs=LINE%3A1&format=text%2Fxml&' 'request=GetMap&dim_init_time=2012-10-17T12%3A00%3A00Z&' 'version=1.1.1&bbox=201&time=2012-10-17T12%3A00%3A00Z&' 'exceptions=application%2Fvnd.ogc.se_xml&path=52.78%2C-8.93%2C25000%2C48.08%2C11.28%2C25000'} self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'layers=ecmwf_EUR_LL015.LS_HV01&styles=&crs=LINE%3A1&format=text%2Fxml&' 'request=GetMap&dim_init_time=2012-10-17T12%3A00%3A00Z&' 'version=1.3.0&bbox=201&time=2012-10-17T12%3A00%3A00Z&' 'exceptions=application%2Fvnd.ogc.se_xml&path=52.78%2C-8.93%2C25000%2C48.08%2C11.28%2C25000'} result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers)
def test_produce_vsec_service_exception(self): environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'layers=ecmwf_EUR_LL015.VS_HV01&styles=&srs=VERT%3ALOGP&format=image%2Fpng&' 'request=GetMap&bgcolor=0xFFFFFF&height=245&dim_init_time=2012-10-17T12%3A00%3A00Z&width=842&' 'version=1.1.1&bbox=201%2C500.0%2C10%2C100.0&time=2012-10-17T12%3A00%3A00Z&' 'exceptions=application%2Fvnd.ogc.se_xml&path=52.78%2C-8.93%2C48.08%2C11.28&transparent=FALSE'} query_string = environ["QUERY_STRING"] self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(query_string)) callback_ok_image(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") == 0, result for orig, fake in [ ("time=2012-10-17T12%3A00%3A00Z", "time=2012-01-17T12%3A00%3A00Z"), ("&dim_init_time=2012-10-17T12%3A00%3A00Z", ""), ("&time=2012-10-17T12%3A00%3A00Z", ""), ("layers=ecmwf_EUR_LL015.VS_HV01", "layers=ecmwf_AUR_LL015.VS_HV01"), ("layers=ecmwf_EUR_LL015.VS_HV01", "layers=ecmwf_EUR_LL015.VS_HV99"), ("format=image%2Fpng", "format=omage%2Fpng"), ("path=52.78%2C-8.93%2C48.08%2C11.28", "path=aaaa%2C-8.93%2C48.08%2C11.28"), ("&path=52.78%2C-8.93%2C48.08%2C11.28", ""), ("bbox=201%2C500.0%2C10%2C100.0", "bbox=aaa%2C500.0%2C10%2C100.0")]: environ["QUERY_STRING"] = query_string.replace(orig, fake) result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") > 0, result
def test_produce_hsec_service_exception(self): environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'layers=ecmwf_EUR_LL015.PLDiv01&styles=&elevation=200&srs=EPSG%3A4326&format=image%2Fpng&' 'request=GetMap&bgcolor=0xFFFFFF&height=376&dim_init_time=2012-10-17T12%3A00%3A00Z&width=479&' 'version=1.1.1&bbox=-50.0%2C20.0%2C20.0%2C75.0&time=2012-10-17T12%3A00%3A00Z&' 'exceptions=application%2Fvnd.ogc.se_xml&transparent=FALSE'} query_string = environ["QUERY_STRING"] self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(query_string)) callback_ok_image(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") == 0, result for orig, fake in [ ("dim_init_time=2012-10-17T12%3A00%3A00Z", "dim_init_time=a20121017T12%3A00%3A00Z"), ("time=2012-10-17T12%3A00%3A00Z", "time=a20121-0-17T12%3A00%3A00Z"), ("time=2012-10-17T12%3A00%3A00Z", "time=2012-01-17T12%3A00%3A00Z"), ("&dim_init_time=2012-10-17T12%3A00%3A00Z", ""), ("&time=2012-10-17T12%3A00%3A00Z", ""), ("srs=EPSG%3A4326", "srs=EPSH%3A4326"), ("srs=EPSG%3A4326", "srs=EPSG%3AABCD"), ("srs=EPSG%3A4326", "srs=EPSG%3A6666"), ("ecmwf_EUR_LL015.PLDiv01", "PLDiv01"), ("ecmwf_EUR_LL015.PLDiv01", "ecmwf_EUR_LL015.PLDav01"), ("ecmwf_EUR_LL015.PLDiv01", "ecmwf_AUR_LL015.PLDiv01"), ("format=image%2Fpng", "format=omage%2Fpng"), ("bbox=-50.0%2C20.0%2C20.0%2C75.0", "bbox=-abcd%2C20.0%2C20.0%2C75.0")]: environ["QUERY_STRING"] = query_string.replace(orig, fake) result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) assert result.data.count(b"ServiceExceptionReport") > 0, result
def test_get_capabilities_lowercase(self): environ = { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'request=getcapabilities&service=wms&version=1.1.1'} self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(environ["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) assert isinstance(result.data, bytes), result
def test_get_capabilities(self): cases = ( { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'request=GetCapabilities&service=WMS&version=1.1.1' }, { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'request=capabilities&service=WMS&version=1.1.1' }, { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'request=capabilities&service=WMS&version' }, { 'wsgi.url_scheme': 'http', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'HTTP_HOST': 'localhost:8081', 'QUERY_STRING': 'request=capabilities&service=WMS' }, ) for tst_case in cases: self.client = mswms.application.test_client() result = self.client.get('/?{}'.format(tst_case["QUERY_STRING"])) callback_ok_xml(result.status, result.headers) assert isinstance(result.data, bytes), result