예제 #1
0
    def test_sleep_between_invalid_args(self):
        self.assertRaises(exceptions.InvalidArgumentsException,
                          scenario.Scenario().sleep_between, 15, 5)

        self.assertRaises(exceptions.InvalidArgumentsException,
                          scenario.Scenario().sleep_between, -1, 0)

        self.assertRaises(exceptions.InvalidArgumentsException,
                          scenario.Scenario().sleep_between, 0, -2)
예제 #2
0
    def test_add_output_raises(self):
        additive = {
            "title": "Foo title",
            "chart_plugin": "Plugin1",
            "description": "Foo description",
            "data": [["ab", 1], ["cd", 2]]
        }
        complete = {
            "title": "Bar title",
            "chart_plugin": "Plugin2",
            "description": "Bar description",
            "data": [["ef", 1], ["jh", 2]]
        }
        scenario_inst = scenario.Scenario()

        scenario_inst.add_output(additive=additive, complete=complete)

        for key in "title", "chart_plugin", "data":
            broken_additive = additive.copy()
            del broken_additive[key]
            self.assertRaises(exceptions.RallyException,
                              scenario_inst.add_output,
                              additive=broken_additive)

            broken_complete = complete.copy()
            del broken_complete[key]
            self.assertRaises(exceptions.RallyException,
                              scenario_inst.add_output,
                              complete=broken_complete)
예제 #3
0
    def test_add_output(self):
        scenario_inst = scenario.Scenario()
        self.assertEqual({"additive": [], "complete": []},
                         scenario_inst._output)

        additive1 = {"title": "Additive 1", "chart_plugin": "Plugin1",
                     "description": "Foo description",
                     "data": [["foo", 1], ["bar", 2]]}
        additive2 = {"title": "Additive 2", "chart_plugin": "Plugin2",
                     "description": "Bar description",
                     "data": [["foo", 42], ["bar", 24]]}
        complete1 = {"title": "Complete 1", "chart_plugin": "Plugin3",
                     "description": "Complete description",
                     "data": [["ab", 1], ["cd", 2]]}
        complete2 = {"title": "Complete 2", "chart_plugin": "Plugin4",
                     "description": "Another complete description",
                     "data": [["vx", 1], ["yz", 2]]}

        scenario_inst.add_output(additive=additive1)
        self.assertEqual({"additive": [additive1], "complete": []},
                         scenario_inst._output)

        scenario_inst.add_output(complete=complete1)
        self.assertEqual({"additive": [additive1], "complete": [complete1]},
                         scenario_inst._output)

        scenario_inst.add_output(additive=additive2, complete=complete2)
        self.assertEqual({"additive": [additive1, additive2],
                          "complete": [complete1, complete2]},
                         scenario_inst._output)
예제 #4
0
 def test_get_owner_id(self):
     scenario_inst = scenario.Scenario(context={
         "task": {
             "uuid": "task_uuid"
         },
         "owner_id": "foo_uuid"
     })
     self.assertEqual("foo_uuid", scenario_inst.get_owner_id())
예제 #5
0
    def test_sleep_between_internal(self, mock_uniform, mock_sleep):
        scenario_inst = scenario.Scenario()

        mock_uniform.return_value = 1.5
        scenario_inst.sleep_between(1, 2)

        mock_sleep.assert_called_once_with(mock_uniform.return_value)
        self.assertEqual(scenario_inst.idle_duration(),
                         mock_uniform.return_value)
예제 #6
0
 def test_sleep_beetween_multi(self):
     scenario_inst = scenario.Scenario()
     scenario_inst.sleep_between(0.001, 0.001)
     scenario_inst.sleep_between(0.004, 0.004)
     self.assertEqual(scenario_inst.idle_duration(), 0.005)
예제 #7
0
 def test_sleep_between(self):
     scenario_inst = scenario.Scenario()
     scenario_inst.sleep_between(0.001, 0.002)
     self.assertTrue(0.001 <= scenario_inst.idle_duration() <= 0.002)
예제 #8
0
 def test_sleep_between(self):
     scenario_inst = scenario.Scenario()
     scenario_inst.sleep_between(0.001, 0.002)
     self.assertGreaterEqual(scenario_inst.idle_duration(), 0.001)
     self.assertLessEqual(scenario_inst.idle_duration(), 0.002)
예제 #9
0
 def test_get_owner_id_from_task(self):
     scenario_inst = scenario.Scenario(
         context={"task": {
             "uuid": "task_uuid"
         }})
     self.assertEqual("task_uuid", scenario_inst.get_owner_id())
예제 #10
0
 def test_context(self):
     ctx = mock.MagicMock()
     self.assertEqual(ctx, scenario.Scenario(context=ctx).context)