def test_locust_master(self): self.configure({ "execution": { "concurrency": 1, "iterations": 10, "hold-for": 30, "master": True, "slaves": 1, "scenario": { "default-address": "http://blazedemo.com", "script": RESOURCES_DIR + "locust/simple.py" } } }) self.obj.prepare() self.obj.startup() self.obj.get_widget() try: self.obj.check() time.sleep(2) self.obj.check() except RuntimeError: ROOT_LOGGER.warning( "Do you use patched locust for non-GUI master?") self.obj.shutdown() self.obj.post_process() self.assertFalse(self.obj.has_results())
def test_locust_master(self): self.configure({"execution": { "concurrency": 1, "iterations": 10, "hold-for": 30, "master": True, "slaves": 1, "scenario": { "default-address": "http://blazedemo.com", "script": RESOURCES_DIR + "locust/simple.py" } }}) self.obj.prepare() self.obj.startup() self.obj.get_widget() try: self.obj.check() time.sleep(2) self.obj.check() except RuntimeError: ROOT_LOGGER.warning("Do you use patched locust for non-GUI master?") self.obj.shutdown() self.obj.post_process() self.assertFalse(self.obj.has_results())
def test_public_report(self): mock = BZMock() mock.mock_get.update({ 'https://a.blazemeter.com/api/v4/tests?workspaceId=1&name=Taurus+Test': {"result": []} }) mock.mock_post.update({ 'https://a.blazemeter.com/api/v4/projects': {"result": {'id': 1}}, 'https://a.blazemeter.com/api/v4/tests': {'result': {'id': 'unittest1'}}, 'https://a.blazemeter.com/api/v4/tests/unittest1/start-external': {"result": { 'session': {'id': 'sess1', 'userId': 1, 'testId': 1}, 'master': {'id': 'master1', 'userId': 1}, 'signature': '' }}, 'https://a.blazemeter.com/api/v4/masters/master1/public-token': {'result': {'publicToken': 'publicToken'}}, 'https://data.blazemeter.com/submit.php?session_id=sess1&signature=&test_id=1&user_id=1&pq=0&target=labels_bulk&update=1': { "result": {'session': {}}}, 'https://data.blazemeter.com/api/v4/image/sess1/files?signature=': {'result': True}, }) obj = BlazeMeterUploader() obj.settings['token'] = '123' obj.settings['browser-open'] = 'none' obj.settings['public-report'] = True obj.settings['send-monitoring'] = False obj.engine = EngineEmul() mock.apply(obj._user) self.sniff_log(obj.log) obj.prepare() obj.startup() obj.aggregated_second(random_datapoint(10)) obj.check() obj.shutdown() obj.post_process() log_buff = self.log_recorder.info_buff.getvalue() log_line = "Public report link: https://a.blazemeter.com/app/?public-token=publicToken#/masters/master1/summary" self.assertIn(log_line, log_buff) ROOT_LOGGER.warning("\n".join([x['url'] for x in mock.requests])) self.assertEqual(14, len(mock.requests))