class TestHandlerBase(AsyncHTTPTestCase): database = False app = Application() def get_app(self): BaseHandler.get_current_user = Mock(return_value=User("*****@*****.**")) self.app.settings['debug'] = False return self.app
class TestHandlerBase(AsyncHTTPTestCase): database = False app = Application() def get_app(self): BaseHandler.get_current_user = Mock(return_value=User("*****@*****.**")) self.app.settings['debug'] = False return self.app def tearDown(self): if self.database: clean_test_environment() super(TestHandlerBase, self).tearDown() # helpers from http://www.peterbe.com/plog/tricks-asynchttpclient-tornado def get(self, url, data=None, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'GET', headers=headers) def post(self, url, data, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) return self._fetch(url, 'POST', data, headers) def patch(self, url, data, headers=None, doseq=True): if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'PATCH', data=data, headers=headers) def delete(self, url, data=None, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'DELETE', headers=headers) def _fetch(self, url, method, data=None, headers=None): self.http_client.fetch(self.get_url(url), self.stop, method=method, body=data, headers=headers) return self.wait(timeout=10)
class TestHandlerBase(AsyncHTTPTestCase): database = False conn_handler = SQLConnectionHandler() app = Application() def get_app(self): BaseHandler.get_current_user = Mock(return_value=User("*****@*****.**")) return self.app def setUp(self): if self.database: # First, we check that we are not in a production environment # It is possible that we are connecting to a production database test_db = self.conn_handler.execute_fetchone( "SELECT test FROM settings")[0] # Or the loaded config file belongs to a production environment if not qiita_config.test_environment or not test_db: raise RuntimeError("Working in a production environment. Not " "executing the tests to keep the production" " database safe.") # Drop the schema and rebuild the test database drop_and_rebuild_tst_database(self.conn_handler) super(TestHandlerBase, self).setUp() # helpers from http://www.peterbe.com/plog/tricks-asynchttpclient-tornado def get(self, url, data=None, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'GET', headers=headers) def post(self, url, data, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) return self._fetch(url, 'POST', data, headers) def _fetch(self, url, method, data=None, headers=None): self.http_client.fetch(self.get_url(url), self.stop, method=method, body=data, headers=headers) return self.wait()
def get_app(self): BaseHandler.get_current_user = Mock(return_value="*****@*****.**") self.app = Application() return self.app
class TestHandlerBase(AsyncHTTPTestCase): database = False app = Application() def get_app(self): BaseHandler.get_current_user = Mock(return_value=User("*****@*****.**")) self.app.settings['debug'] = False return self.app @classmethod def tearDownClass(cls): clean_test_environment() r_client.flushdb() # helpers from http://www.peterbe.com/plog/tricks-asynchttpclient-tornado def get(self, url, data=None, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'GET', headers=headers) def post(self, url, data, headers=None, doseq=True, asjson=False): if data is not None: if asjson: data = json_encode(data) elif isinstance(data, dict): data = urlencode(data, doseq=doseq) return self._fetch(url, 'POST', data, headers) def patch(self, url, data, headers=None, doseq=True, asjson=False): if asjson: data = json_encode(data) else: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'PATCH', data=data, headers=headers) def delete(self, url, data=None, headers=None, doseq=True): if data is not None: if isinstance(data, dict): data = urlencode(data, doseq=doseq) if '?' in url: url += '&%s' % data else: url += '?%s' % data return self._fetch(url, 'DELETE', headers=headers) def _fetch(self, url, method, data=None, headers=None): self.http_client.fetch(self.get_url(url), self.stop, method=method, body=data, headers=headers) # there is a random error in travis where a test takes longer than # expected thus using 25 seconds return self.wait(timeout=25)