def test_badurl(self): request = testing.DummyRequest() request.scheme = 'http' request.params['url'] = 'http:/toto' response = ogcproxy(request) self.assertEqual(response.status_int, 400) request.params['url'] = 'ftp://toto' response = ogcproxy(request) self.assertEqual(response.status_int, 400)
def test_badurl(self): request = testing.DummyRequest() request.scheme = "http" request.params["url"] = "http:/toto" response = ogcproxy(request) self.assertEqual(response.status_int, 400) request.params["url"] = "ftp://toto" response = ogcproxy(request) self.assertEqual(response.status_int, 400)
def test_badrequest_netloc(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme='http', params={'url': 'http://'}) response = ogcproxy(request) from pyramid.httpexceptions import HTTPBadRequest self.assertTrue(isinstance(response, HTTPBadRequest))
def test_badrequest_url(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme='http') response = ogcproxy(request) from pyramid.httpexceptions import HTTPBadRequest self.assertTrue(isinstance(response, HTTPBadRequest))
def test_forbidden_content_type(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme='http', params={'url': 'http://www.google.com'}) response = ogcproxy(request) from pyramid.httpexceptions import HTTPForbidden self.assertTrue(isinstance(response, HTTPForbidden))
def test_badgateway_url(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme='http', params={'url': 'http://__foo__.__toto__'}) response = ogcproxy(request) from pyramid.httpexceptions import HTTPBadGateway self.assertTrue(isinstance(response, HTTPBadGateway))
def test_forbidden_content_type_with_post(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme="http", params={"url": "http://www.google.com"}, post="foo") response = ogcproxy(request) from pyramid.httpexceptions import HTTPForbidden self.assertTrue(isinstance(response, HTTPForbidden))
def test_badrequest_netloc(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme="http", params={"url": "http://"}) response = ogcproxy(request) from pyramid.httpexceptions import HTTPBadRequest self.assertTrue(isinstance(response, HTTPBadRequest))
def test_notacceptable_no_content_type(self, MockClass): instance = MockClass.return_value instance.request.return_value = ({}, 'content') from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest request = DummyRequest(scheme='http', params={'url': 'http://www.google.com'}) response = ogcproxy(request) from pyramid.httpexceptions import HTTPNotAcceptable self.assertTrue(isinstance(response, HTTPNotAcceptable))
def test_allowed_content_type(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest url = 'http://map1.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi?' \ 'SERVICE=WMTS&REQUEST=GetCapabilities' request = DummyRequest(scheme='http', params={'url': url}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, 'text/xml')
def test_allowed_host(self): from papyrus_ogcproxy import views from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest views.allowed_hosts = ('www.google.com') request = DummyRequest(scheme='http', params={'url': 'http://www.google.com'}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, 'text/html')
def test_allowed_content_type(self): from papyrus_ogcproxy import views from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest url = 'http://wms.jpl.nasa.gov/wms.cgi?' \ 'SERVICE=WMS&REQUEST=GetCapabilities' request = DummyRequest(scheme='http', params={'url': url}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, 'application/vnd.ogc.wms_xml')
def test_allowed_content_type(self): from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest url = "http://map1.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi?" "SERVICE=WMTS&REQUEST=GetCapabilities" request = DummyRequest(scheme="http", params={"url": url}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, "text/xml")
def test_proxy_info(self): """ Running this test assumes that a proxy is running at localhost:1080. To start a proxy run: ssh -N -D 0.0.0.0:1080 localhost """ from papyrus_ogcproxy import views from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest from httplib2 import ProxyInfo import socks views.allowed_hosts = "www.google.com" views.proxy_info = ProxyInfo(socks.SOCKS5, "localhost", 1080) request = DummyRequest(scheme="http", params={"url": "http://www.google.com"}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, "text/html")
def test_proxy_info(self): """ Running this test assumes that a proxy is running at localhost:1080. To start a proxy run: ssh -N -D 0.0.0.0:1080 localhost """ from papyrus_ogcproxy import views from papyrus_ogcproxy.views import ogcproxy from pyramid.testing import DummyRequest from httplib2 import ProxyInfo import socks views.allowed_hosts = ('www.google.com') views.proxy_info = ProxyInfo(socks.SOCKS5, 'localhost', 1080) request = DummyRequest(scheme='http', params={'url': 'http://www.google.com'}) response = ogcproxy(request) from pyramid.response import Response self.assertTrue(isinstance(response, Response)) self.assertEqual(response.status_int, 200) self.assertEqual(response.content_type, 'text/html')
def test_nourl(self): request = testing.DummyRequest() request.scheme = 'http' response = ogcproxy(request) self.assertEqual(response.status_int, 400)