def test_caching_wurfl_check(self): proxy, url = self.start_proxy(self.wurfl_handlers) [handler] = self.wurfl_handlers yield http.request(url, headers={"User-Agent": self.iphone_ua}) cache_key = handler.get_cache_key(self.iphone_ua) self.assertTrue(cache_key in self.fake_memcached) response = yield http.request(url, headers={"User-Agent": self.iphone_ua}) self.assertEqual(response.delivered_body, "foo") self.assertEqual(self.fake_memcached.times_called(cache_key), 1) self.assertTrue(self.fake_memcached.get(cache_key)) req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders("X-UA-header"), ["medium"])
def test_setting_header(self): proxy, url = self.start_proxy(self.header_handlers) resp = yield http.request(url, method="GET") self.assertEqual(resp.delivered_body, "foo") req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders("x-ua-type"), ["small"]) self.assertEqual(req.requestHeaders.getRawHeaders("x-ua-category"), ["mobi"])
def test_debug_path(self): proxy, url = self.start_proxy(self.wurfl_handlers) request_path = "/_debug" response = yield http.request( "%s%s" % (url, request_path), headers={"User-Agent": self.iphone_ua}, method="GET" ) self.assertEqual(response.code, 200)
def test_debug_path(self): proxy, url = self.start_proxy(self.wurfl_handlers) request_path = "/_debug" response = yield http.request('%s%s' % (url, request_path), headers={ 'User-Agent': self.iphone_ua, }, method='GET') self.assertEqual(response.code, 200)
def test_setting_cookie(self): proxy, url = self.start_proxy(self.cookie_handlers) resp = yield http.request(url, method="GET") self.assertEqual(resp.delivered_body, "foo") req = yield self.mocked_backend.queue.get() self.assertFalse(req.requestHeaders.hasHeader("Set-Cookie")) self.assertTrue(resp.headers.hasHeader("Set-Cookie")) self.assertEqual(resp.headers.getRawHeaders("Set-Cookie"), ["Type=Chocolate Chip", "Delicious=Definitely"])
def test_cache_lifetime(self): proxy, url = self.start_proxy(self.wurfl_handlers) [handler] = self.wurfl_handlers request_path = "/some/random/path?true=1" response = yield http.request("%s%s" % (url, request_path), headers={"User-Agent": self.iphone_ua}) self.assertEqual(response.delivered_body, "foo") cache_key = handler.get_cache_key(self.iphone_ua) self.assertEqual(self.fake_memcached.key_lifetime(cache_key), 100)
def test_headers(self): proxy, url = self.start_proxy(self.demo_handlers) response = yield http.request(url) self.assertEqual(response.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertEqual( req.requestHeaders.getRawHeaders('x-device-is-dumb'), ['Very'])
def test_wurfl_iphone_lookup(self): proxy, url = self.start_proxy(self.wurfl_handlers) response = yield http.request(url, headers={ 'User-Agent': self.iphone_ua, }) self.assertEqual(response.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders('x-ua-header'), ['high'])
def test_setting_cookie(self): proxy, url = self.start_proxy(self.cookie_handlers) resp = yield http.request(url, method='GET') self.assertEqual(resp.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertFalse(req.requestHeaders.hasHeader('Set-Cookie')) self.assertTrue(resp.headers.hasHeader('Set-Cookie')) self.assertEqual(resp.headers.getRawHeaders('Set-Cookie'), [ 'Type=Chocolate Chip', 'Delicious=Definitely'])
def test_setting_header(self): proxy, url = self.start_proxy(self.header_handlers) resp = yield http.request(url, method='GET') self.assertEqual(resp.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders('x-ua-type'), ['small']) self.assertEqual(req.requestHeaders.getRawHeaders('x-ua-category'), ['mobi'])
def test_handle_user_agent(self): proxy, url = self.start_proxy(self.wurfl_handlers) response = yield http.request(url, headers={ 'User-Agent': 'Some special bot', }) self.assertEqual(response.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders('x-ua-header'), ['bot'])
def test_cookies(self): proxy, url = self.start_proxy(self.demo_handlers) resp = yield http.request(url, method='GET') self.assertEqual(resp.delivered_body, 'foo') req = yield self.mocked_backend.queue.get() self.assertFalse(req.requestHeaders.hasHeader('Set-Cookie')) self.assertTrue(resp.headers.hasHeader('Set-Cookie')) self.assertEqual(resp.headers.getRawHeaders('Set-Cookie'), [ 'type=dog-biscuit'])
def test_debug_info(self): proxy, url = self.start_proxy(self.debug_handlers) resp = yield http.request('%s/_debug' % (url,), method='GET') self.assertTrue('debugfoo' in resp.delivered_body) self.assertTrue('debugbar' in resp.delivered_body)
def test_wurfl_iphone_lookup(self): proxy, url = self.start_proxy(self.wurfl_handlers) response = yield http.request(url, headers={"User-Agent": self.iphone_ua}) self.assertEqual(response.delivered_body, "foo") req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders("x-ua-header"), ["medium"])
def test_handle_user_agent(self): proxy, url = self.start_proxy(self.wurfl_handlers) response = yield http.request(url, headers={"User-Agent": "Some special bot"}) self.assertEqual(response.delivered_body, "foo") req = yield self.mocked_backend.queue.get() self.assertEqual(req.requestHeaders.getRawHeaders("x-ua-header"), ["bot"])
def test_echo_resource(self): proxy, url = self.start_proxy(self.echo_handlers) resp = yield http.request("%s/_echo" % (url,), method="GET") self.assertTrue(resp.delivered_body, "ok") self.assertTrue(resp.headers.getRawHeaders("header-one"), ["one"]) self.assertTrue(resp.headers.getRawHeaders("header-two"), ["two"])
def test_health_resource(self): proxy, url = self.start_proxy(self.debug_handlers) resp = yield http.request("%s/_health" % (url,), method="GET") self.assertTrue("OK" in resp.delivered_body) header = resp.headers.getRawHeaders("Cache-Control")[0] self.assertEquals(header, "no-cache")
def test_debug_info(self): proxy, url = self.start_proxy(self.debug_handlers) resp = yield http.request("%s/_debug" % (url,), method="GET") self.assertTrue("debugfoo" in resp.delivered_body) self.assertTrue("debugbar" in resp.delivered_body)