1 ##############################################################################
2 # Copyright (c) 2016 Huan Li and others
3 # lihuansse@tongji.edu.cn
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
13 from yardstick.benchmark.scenarios.availability import scenario_general
14 from yardstick.common import exceptions as y_exc
16 class ScenarioGeneralTestCase(unittest.TestCase):
18 @mock.patch.object(scenario_general, 'Director')
19 def setUp(self, *args):
21 'type': "general_scenario",
24 'fault_type': "general-attacker",
25 'key': "kill-process"}],
27 'monitor_type': "general-monitor",
28 'key': "service-status"}],
31 'actionKey': "kill-process",
32 'actionType': "attacker",
35 'actionKey': "service-status",
36 'actionType': "monitor",
40 self.instance = scenario_general.ScenarioGeneral(self.scenario_cfg, None)
42 self.instance.director.verify.return_value = True
44 def test_scenario_general_all_successful(self):
47 self.instance.run(ret)
48 self.instance.teardown()
49 self.assertEqual(ret['sla_pass'], 1)
51 def test_scenario_general_exception(self):
52 self.instance.director.createActionPlayer.side_effect = KeyError('Wrong')
53 self.instance.director.data = {}
55 self.instance.run(ret)
56 self.instance.teardown()
57 self.assertEqual(ret['sla_pass'], 1)
59 def test_scenario_general_case_fail(self):
60 self.instance.director.verify.return_value = False
61 self.instance.director.data = {}
63 self.assertRaises(y_exc.SLAValidationError, self.instance.run, ret)
64 self.instance.teardown()
65 self.assertEqual(ret['sla_pass'], 0)
67 def test_scenario_general_case_service_not_found_fail(self):
68 self.instance.director.verify.return_value = True
69 self.instance.director.data = {"general-attacker": 0}
71 self.assertRaises(y_exc.SLAValidationError, self.instance.run, ret)
72 self.instance.teardown()
73 self.assertEqual(ret['sla_pass'], 0)