From: Ben Darnell Date: Tue, 19 Oct 2010 19:26:10 +0000 (-0700) Subject: Add a convenience method for synchronous fetches in AsyncHTTPTestCase X-Git-Tag: v1.2.0~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=11fdd479b2ff45a3071672fd483cdb4aa81783ec;p=thirdparty%2Ftornado.git Add a convenience method for synchronous fetches in AsyncHTTPTestCase --- diff --git a/tornado/testing.py b/tornado/testing.py index d7d810742..485f840c7 100644 --- a/tornado/testing.py +++ b/tornado/testing.py @@ -198,6 +198,10 @@ class AsyncHTTPTestCase(AsyncTestCase): return Application([('/', MyHandler)...]) def test_homepage(self): + # The following two lines are equivalent to + # response = self.fetch('/') + # but are shown in full here to demonstrate explicit use + # of self.stop and self.wait. self.http_client.fetch(self.get_url('/'), self.stop) response = self.wait() # test contents of response @@ -218,6 +222,17 @@ class AsyncHTTPTestCase(AsyncTestCase): """ raise NotImplementedError() + def fetch(self, path, **kwargs): + """Convenience method to synchronously fetch a url. + + The given path will be appended to the local server's host and port. + Any additional kwargs will be passed directly to + AsyncHTTPClient.fetch (and so could be used to pass method="POST", + body="...", etc). + """ + self.http_client.fetch(self.get_url(path), self.stop, **kwargs) + return self.wait() + def get_httpserver_options(self): """May be overridden by subclasses to return additional keyword arguments for HTTPServer.