def test_headers(self): request = Request('GET', 'http', {'Connection':'keep-alive'}) self.assertIsInstance(request.headers, Headers) headers = Headers({'Connection':'keep-alive'}) request = Request('GET', 'http', headers) self.assertTrue(request) self.assertEqual(request.header('connection'), 'keep-alive')
def test_headers(self): request = Request('GET', 'http', {'Connection': 'keep-alive'}) self.assertIsInstance(request.headers, Headers) headers = Headers({'Connection': 'keep-alive'}) request = Request('GET', 'http', headers) self.assertTrue(request) self.assertEqual(request.header('connection'), 'keep-alive')
def test_method(self): for method in ['GET', 'get', 'gEt']: request = Request(method, 'http') self.assertEqual(request.method, method) request = Request('GET', 'http') request.method = 'POST' self.assertEqual(request.method, 'POST') request.method = 'post' self.assertEqual(request.method, 'post')
def _test_request(self, method): client = Client() client.add_handler('request_send', _test_cb) request = Request(method, tests[method]['url'], tests[method]['headers']) if 'content' in tests[method]: request.content = tests[method]['content'] resp = client.request(request) self.assertTrue(resp) self.assertEqual(resp.status, 204)
def test_overwrite_handlers(self): request = Request('GET', 'http') handlers = Handlers() handlers.add_handler('request_send', lambda r: 1) resp = handlers.dispatch('request_send', request) self.assertEqual(resp, 1) handlers.add_handler('request_send', lambda r: 2) resp = handlers.dispatch('request_send', request) self.assertEqual(resp, 2)
def test_base(self): response = Response(status=200, message='OK', headers={'Content-Base': 'http://foo'}) self.assertEqual(response.base, 'http://foo') response = Response(status=200, message='OK', headers={'Content-Location': 'http://bar'}) self.assertEqual(response.base, 'http://bar') request = Request('GET', 'http://baz') response = Response(status=200, message='OK', request=request) self.assertEqual(response.base, 'http://baz')
def test_prepare(self): request = Request('FOO', 'http') client = Client() client.add_handler('request_prepare', _cb_request_prepare) resp = client.request(request) self.assertEqual(resp.status, 400) handlers = Handlers() handlers.add_handler('request_prepare', _cb_request_prepare_change_request) req = handlers.dispatch('request_prepare', request) self.assertEqual(req.method, 'PUT') handlers = Handlers() handlers.add_handler('request_prepare', _cb_request_prepare_do_nothing) req = handlers.dispatch('request_prepare', request) self.assertEqual(req.method, 'FOO') self.assertEqual(req.url, 'http')
def test_date_headers(self): request = Request('GET', 'http') now = datetime(2011, 12, 12, 12, 0, 0) request.if_modified_since(now) self.assertEqual(request._headers.get('If-Modified-Since'), 'Mon, 12 Dec 2011 12:00:00 GMT')
def test_request(self): request = Request('GET', 'http://foobar') response = Response(status=200, message='OK', headers={}, request=request)
def test_response(self): request = Request('GET', 'http') client = Client() client.add_handler('request_send', _cb_request_send) #client.add_handler('response_done', _cb_response_done) resp = client.request(request)
def test_url(self): request = Request('GET', 'http') self.assertIsInstance(request.url, Url)
def test_execute_handler(self): request = Request('GET', 'http') handlers = Handlers() handlers.add_handler('request_send', _cb_request_send) resp = handlers.dispatch('request_send', request) self.assertIsInstance(resp, Response)
def _cb_request_prepare_change_request(request): request = Request('PUT', 'http') return request
def test_content(self): request = Request('GET', 'http', content='foo') self.assertEqual(request.content, 'foo')
def test_base(self): request = Request('GET', 'http://github.com') self.assertTrue(request) self.assertEqual(request.method, 'GET')