def test_post_and_get_are_different(self): req = HTTPRequest("/hello") resp_partial = functools.partial(HTTPResponse, buffer=StringIO("response value")) RequestCollection.add(req, resp_partial) AsyncHTTPStubClient().fetch("/hello", self.stop, method="POST") response = self.wait() self.assertEqual(response.code, 404)
def test_fetch_string_converts_to_request_object(self): req = HTTPRequest("/hello") resp_partial = functools.partial(HTTPResponse, buffer=StringIO("response value")) RequestCollection.add(req, resp_partial) client = AsyncHTTPStubClient() client.fetch("/hello", self.stop) response = self.wait() self.assertEqual(response.code, 200) self.assertEqual(response.body, "response value")
def test_fetch_string_converts_to_request_object(self): req = HTTPRequest("/hello") resp_partial = functools.partial(HTTPResponse, code=200, buffer=StringIO("response value")) RequestCollection.add(req, resp_partial) client = AsyncHTTPStubClient() client.fetch("/hello", self.stop) response = self.wait() self.assertEqual(response.code, 200) self.assertEqual(response.body, "response value")
def test_return_with_body_json(self): st = stub("/hello").and_return(body_json={'name': 'somebody'}) resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request) self.assertEqual(json.loads(resp.body).get('name'), 'somebody')
def test_stub_with_method(self): st = stub("/hello", method="POST").and_return(body="anything") resp_partial = RequestCollection.find(st.request) self.assertNotEqual(resp_partial, None)
def test_no_return_args(self): st = stub("/hello").and_return() resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request) self.assertEqual(resp.body, b'')
def test_stub_with_method(self): st = stub("/hello", method="POST").and_return(body=b"anything") resp_partial = RequestCollection.find(st.request) self.assertNotEqual(resp_partial, None)
def setUp(self): super(ClientTest, self).setUp() RequestCollection.reset()
def test_add(self): req = HTTPRequest("/hello") RequestCollection.add(req, "response val") val = RequestCollection._requests["/hello"]["GET"][0] self.assertEqual(val, "response val")
def test_reset(self): req = HTTPRequest("http://www.example.com:8000/hello") RequestCollection.add(req, "response val") RequestCollection.reset() self.assertEqual(len(RequestCollection._requests), 0)
def test_remove(self): req = HTTPRequest("http://www.example.com:8000/hello") RequestCollection.add(req, "response val") RequestCollection.remove(req) val = RequestCollection.find(req) self.assertEqual(val, None)
def test_add_with_absolute_url(self): req = HTTPRequest("http://www.example.com:8000/hello") RequestCollection.add(req, "response val") val = RequestCollection._requests["/hello"]["GET"][0] self.assertEqual(val, "response val")
def test_no_return_args(self): st = stub("/hello").and_return() resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request) self.assertEqual(resp.body, '')
def test_set_response_code_in_stub(self): st = stub("/hello").and_return(code=418) resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request) self.assertEqual(resp.code, 418)
def test_stub_no_return_doesnt_add_to_collection(self): st = stub("/hello") self.assertNotEqual(st.request, None) resp_partial = RequestCollection.find(st.request) self.assertEqual(resp_partial, None)
def test_no_body(self): st = stub("/hello").and_return(body=None) resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request, 200) self.assertEqual(resp.body, '')
def test_return_with_body_json(self): st = stub("/hello").and_return(body_json={'name': 'somebody'}) resp_partial = RequestCollection.find(st.request) resp = resp_partial(st.request) self.assertEqual( json.loads(resp.body.decode()).get('name'), 'somebody')