Remove main() and __main__ from tests.
[yardstick.git] / yardstick / tests / unit / benchmark / scenarios / availability / test_baseresultchecker.py
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 ##############################################################################
9
10 import mock
11 import unittest
12
13 from yardstick.benchmark.scenarios.availability.result_checker import \
14     baseresultchecker
15
16
17 class ResultCheckerMgrTestCase(unittest.TestCase):
18
19     def setUp(self):
20         config = {
21             'checker_type': 'general-result-checker',
22             'key': 'process-checker'
23         }
24
25         self.checker_configs = []
26         self.checker_configs.append(config)
27
28         self.mgr_ins = baseresultchecker.ResultCheckerMgr()
29
30         self._mock_basechecker = mock.patch.object(baseresultchecker,
31                                                    'BaseResultChecker')
32         self.mock_basechecker = self._mock_basechecker.start()
33         self.addCleanup(self._stop_mock)
34
35     def _stop_mock(self):
36         self._mock_basechecker.stop()
37
38     def test_ResultCheckerMgr_setup_successful(self):
39         self.mgr_ins.verify()
40
41     def test_getitem_succeessful(self):
42         self.mgr_ins.init_ResultChecker(self.checker_configs, None)
43         _ = self.mgr_ins["process-checker"]
44
45     def test_getitem_fail(self):
46         self.mgr_ins.init_ResultChecker(self.checker_configs, None)
47         with self.assertRaises(KeyError):
48             _ = self.mgr_ins["checker-not-exist"]
49
50
51 class BaseResultCheckerTestCase(unittest.TestCase):
52
53     class ResultCheckeSimple(baseresultchecker.BaseResultChecker):
54         __result_checker__type__ = "ResultCheckeForTest"
55
56         def setup(self):
57             self.success = False
58
59         def verify(self):
60             return self.success
61
62     def setUp(self):
63         self.checker_cfg = {
64             'checker_type': 'general-result-checker',
65             'key': 'process-checker'
66         }
67         self.ins = baseresultchecker.BaseResultChecker(self.checker_cfg, None)
68
69     def test_baseresultchecker_setup_verify_successful(self):
70         self.ins.setup()
71         self.ins.verify()
72
73     def test_baseresultchecker_verfiy_pass(self):
74         self.ins.setup()
75         self.ins.actualResult = True
76         self.ins.expectedResult = True
77         self.ins.verify()
78
79     def test_get_script_fullpath(self):
80         self.ins.get_script_fullpath("test.bash")
81
82     def test_get_resultchecker_cls_successful(self):
83         baseresultchecker.BaseResultChecker.get_resultchecker_cls(
84             "ResultCheckeForTest")
85
86     def test_get_resultchecker_cls_fail(self):
87         with self.assertRaises(RuntimeError):
88             baseresultchecker.BaseResultChecker.get_resultchecker_cls(
89                 "ResultCheckeNotExist")