コード例 #1
0
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)
コード例 #2
0
ファイル: case.py プロジェクト: edmoz/loads
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)
コード例 #3
0
    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
コード例 #4
0
ファイル: case.py プロジェクト: edmoz/loads
    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()
コード例 #5
0
ファイル: test_measure.py プロジェクト: movermeyer/loads
    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
コード例 #6
0
ファイル: test_measure.py プロジェクト: diyan/loads
 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)
コード例 #7
0
 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)