示例#1
0
    def test__run_scenario_constantly_aborted(self):
        runner_obj = constant.ConstantForDurationScenarioRunner(
            None, self.config)

        runner_obj.abort()
        runner_obj._run_scenario(fakes.FakeScenario, "do_it", self.context,
                                 self.args)
        self.assertEqual(len(runner_obj.result_queue), 0)
示例#2
0
    def test_run_scenario_constantly_for_duration(self):
        runner_obj = constant.ConstantForDurationScenarioRunner(
            None, self.config)

        runner_obj._run_scenario(fakes.FakeScenario, "do_it",
                                 self.context, self.args)
        # NOTE(mmorais): when duration is 0, scenario executes exactly 1 time
        expected_times = 1
        self.assertEqual(len(runner_obj.result_queue), expected_times)
        for result in runner_obj.result_queue:
            self.assertIsNotNone(runner.ScenarioRunnerResult(result))
示例#3
0
    def test_run_scenario_constantly_for_duration_timeout(self):
        runner_obj = constant.ConstantForDurationScenarioRunner(
            None, self.config)

        runner_obj._run_scenario(fakes.FakeScenario, "raise_timeout",
                                 self.context, self.args)
        # NOTE(mmorais): when duration is 0, scenario executes exactly 1 time
        expected_times = 1
        self.assertEqual(len(runner_obj.result_queue), expected_times)
        for result_batch in runner_obj.result_queue:
            for result in result_batch:
                self.assertIsNotNone(result)
        self.assertIn("error", runner_obj.result_queue[0][0])
示例#4
0
    def test_run_scenario_constantly_for_duration(self):
        runner_obj = constant.ConstantForDurationScenarioRunner(
            mock.MagicMock(), self.config)

        runner_obj._run_scenario(fakes.FakeScenario, "do_it", self.context,
                                 self.args)
        # NOTE(mmorais/msimonin): when duration is 0, scenario executes exactly
        # 1 time per unit of parrallelism
        expected_times = self.config["concurrency"]
        self.assertEqual(expected_times, len(runner_obj.result_queue))
        for result_batch in runner_obj.result_queue:
            for result in result_batch:
                self.assertIsNotNone(result)
示例#5
0
    def test_run_scenario_constantly_for_duration_exception(self):
        runner_obj = constant.ConstantForDurationScenarioRunner(
            mock.MagicMock(), self.config)

        runner_obj._run_scenario(fakes.FakeScenario, "something_went_wrong",
                                 self.context, self.args)
        # NOTE(mmorais): when duration is 0, scenario executes exactly 1 time
        expected_times = 1
        self.assertEqual(expected_times, len(runner_obj.result_queue))
        for result_batch in runner_obj.result_queue:
            for result in result_batch:
                self.assertIsNotNone(result)
        self.assertIn("error", runner_obj.result_queue[0][0])
示例#6
0
 def test_abort(self):
     runner_obj = constant.ConstantForDurationScenarioRunner(
         None, self.config)
     self.assertFalse(runner_obj.aborted.is_set())
     runner_obj.abort()
     self.assertTrue(runner_obj.aborted.is_set())