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
17 class ScenarioGeneralTestCase(unittest.TestCase):
19 @mock.patch.object(scenario_general, 'Director')
20 def setUp(self, *args):
22 'type': "general_scenario",
25 'fault_type': "general-attacker",
26 'key': "kill-process"}],
28 'monitor_type': "general-monitor",
29 'key': "service-status"}],
32 'actionKey': "kill-process",
33 'actionType': "attacker",
36 'actionKey': "service-status",
37 'actionType': "monitor",
41 self.instance = scenario_general.ScenarioGeneral(self.scenario_cfg,
44 self.instance.director.verify.return_value = True
46 def test_scenario_general_all_successful(self):
48 self.instance.run(ret)
49 self.instance.teardown()
50 self.assertEqual(ret['sla_pass'], 1)
52 @mock.patch.object(scenario_general.LOG, 'exception')
53 def test_scenario_general_exception(self, *args):
54 self.instance.director.createActionPlayer.side_effect = (
56 self.instance.director.data = {}
58 self.instance.run(ret)
59 self.instance.teardown()
60 self.assertEqual(ret['sla_pass'], 1)
62 def test_scenario_general_case_fail(self):
63 self.instance.director.verify.return_value = False
64 self.instance.director.data = {}
66 self.assertRaises(y_exc.SLAValidationError, self.instance.run, ret)
67 self.instance.teardown()
68 self.assertEqual(ret['sla_pass'], 0)
70 def test_scenario_general_case_service_not_found_fail(self):
71 self.instance.director.verify.return_value = True
72 self.instance.director.data = {"general-attacker": 0}
74 self.assertRaises(y_exc.SLAValidationError, self.instance.run, ret)
75 self.instance.teardown()
76 self.assertEqual(ret['sla_pass'], 0)