class TestCase(unittest.TestCase): server_url = None def __init__(self, test_name, test_result=None, config=None): super(TestCase, self).__init__(test_name) if config is None: config = {} self.config = config if config.get('server_url') is not None: self.server_url = config['server_url'] self._test_result = test_result self.session = Session(test=self, test_result=test_result) http_adapter = HTTPAdapter(pool_maxsize=MAX_CON, pool_connections=MAX_CON) self.session.mount('http://', http_adapter) self.session.mount('https://', http_adapter) if self.server_url is not None: self.app = TestApp(self.server_url, self.session, test_result) else: self.app = FakeTestApp() self._ws = [] self._loads_status = None def defaultTestResult(self): return LoadsTestResult() def incr_counter(self, name): self._test_result.incr_counter(self, self._loads_status, name) def create_ws(self, url, callback=None, protocols=None, extensions=None, klass=None): from loads.websockets import create_ws ws = create_ws(url, self._test_result, callback=callback, protocols=protocols, extensions=extensions, klass=klass, test_case=self) self._ws.append(ws) return ws def tearDown(self): for ws in self._ws: if ws._th.dead: ws._th.get() # re-raise any exception swallowed by gevent def run(self, result=None, loads_status=None): if (loads_status is not None and result is None and not isinstance(self._test_result, LoadsTestResult)): result = LoadsTestResult(loads_status, self._test_result) if loads_status is not None: self._loads_status = self.session.loads_status = loads_status return super(TestCase, self).run(result)
class TestCase(unittest.TestCase): server_url = None def __init__(self, test_name, test_result=None, config=None): super(TestCase, self).__init__(test_name) if config is None: config = {} self.config = config if config.get('server_url') is not None: self.server_url = config['server_url'] self._test_result = test_result self.session = Session(test=self, test_result=test_result) http_adapter = HTTPAdapter(pool_maxsize=MAX_CON, pool_connections=MAX_CON) self.session.mount('http://', http_adapter) self.session.mount('https://', http_adapter) if self.server_url is not None: self.app = TestApp(self.server_url, self.session, test_result) else: self.app = FakeTestApp() def defaultTestResult(self): return TestResult() def create_ws(self, url, callback, protocols=None, extensions=None): from loads.websockets import create_ws return create_ws(url, callback, self._test_result, protocols, extensions) def run(self, result=None, loads_status=None): if (loads_status is not None and result is None and not isinstance(self._test_result, TestResultProxy)): result = TestResultProxy(loads_status, self._test_result) if loads_status is not None: self.session.loads_status = loads_status return super(TestCase, self).run(result)
def __init__(self, test_name, test_result=None, config=None): super(TestCase, self).__init__(test_name) if config is None: config = {} self.config = config if config.get('server_url') is not None: self.server_url = config['server_url'] self._test_result = test_result self.session = Session(test=self, test_result=test_result) http_adapter = HTTPAdapter(pool_maxsize=MAX_CON, pool_connections=MAX_CON) self.session.mount('http://', http_adapter) self.session.mount('https://', http_adapter) if self.server_url is not None: self.app = TestApp(self.server_url, self.session, test_result) else: self.app = FakeTestApp() self._ws = [] self._loads_status = None
def __init__(self, test_name, test_result=None, config=None): super(TestCase, self).__init__(test_name) if config is None: config = {} self.config = config if config.get('server_url') is not None: self.server_url = config['server_url'] self._test_result = test_result self.session = Session(test=self, test_result=test_result) http_adapter = HTTPAdapter(pool_maxsize=MAX_CON, pool_connections=MAX_CON) self.session.mount('http://', http_adapter) self.session.mount('https://', http_adapter) if self.server_url is not None: self.app = TestApp(self.server_url, self.session, test_result) else: self.app = FakeTestApp()
def test_no_dns_resolve(self): from loads import measure old = measure.dns_resolve def fail(*args, **kw): raise AssertionError() measure.dns_resolve = fail test = _FakeTest() test_result = _TestResult() try: session = Session(test, test_result) self.assertRaises(AssertionError, session.get, 'http://impossible.place') session = Session(test, test_result, dns_resolve=False) session.get('http://impossible.place') finally: measure.dns_resolve = old
def test_session(self): test = _FakeTest() test_result = _TestResult() session = Session(test, test_result) session.get('http://impossible.place') self.assertEqual(len(test_result.data), 1)