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
15 class ScenarioGeneralTestCase(unittest.TestCase):
17 @mock.patch.object(scenario_general, 'Director')
18 def setUp(self, *args):
20 'type': "general_scenario",
23 'fault_type': "general-attacker",
24 'key': "kill-process"}],
26 'monitor_type': "general-monitor",
27 'key': "service-status"}],
30 'actionKey': "kill-process",
31 'actionType': "attacker",
34 'actionKey': "service-status",
35 'actionType': "monitor",
39 self.instance = scenario_general.ScenarioGeneral(self.scenario_cfg, None)
41 self.instance.director.verify.return_value = True
43 def test_scenario_general_all_successful(self):
46 self.instance.run(ret)
47 self.instance.teardown()
48 self.assertEqual(ret['sla_pass'], 1)
50 def test_scenario_general_exception(self):
51 self.instance.director.createActionPlayer.side_effect = KeyError('Wrong')
52 self.instance.director.data = {}
54 self.instance.run(ret)
55 self.instance.teardown()
56 self.assertEqual(ret['sla_pass'], 1)
58 def test_scenario_general_case_fail(self):
59 self.instance.director.verify.return_value = False
60 self.instance.director.data = {}
62 self.assertRaises(AssertionError, self.instance.run, ret)
63 self.instance.teardown()
64 self.assertEqual(ret['sla_pass'], 0)