3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
8 # pylint: disable=missing-docstring
15 from functest.ci import tier_handler
18 class TierHandlerTesting(unittest.TestCase):
21 self.test = mock.Mock()
22 attrs = {'get_name.return_value': 'test_name'}
23 self.test.configure_mock(**attrs)
25 self.mock_depend = mock.Mock()
26 attrs = {'get_scenario.return_value': 'test_scenario',
27 'get_installer.return_value': 'test_installer'}
28 self.mock_depend.configure_mock(**attrs)
30 self.tier = tier_handler.Tier('test_tier',
33 description='test_desc')
34 self.testcase = tier_handler.TestCase('test_name',
39 description='test_desc')
41 self.dependency = tier_handler.Dependency('test_installer',
44 self.testcase.str = self.testcase.__str__()
45 self.dependency.str = self.dependency.__str__()
46 self.tier.str = self.tier.__str__()
48 def test_split_text(self):
49 test_str = 'this is for testing'
50 self.assertEqual(tier_handler.split_text(test_str, 10),
51 ['this is ', 'for ', 'testing '])
53 def test_add_test(self):
54 self.tier.add_test(self.test)
55 self.assertEqual(self.tier.tests_array,
58 def test_get_tests(self):
59 self.tier.tests_array = [self.test]
60 self.assertEqual(self.tier.get_tests(),
63 def test_get_test_names(self):
64 self.tier.tests_array = [self.test]
65 self.assertEqual(self.tier.get_test_names(),
68 def test_get_test(self):
69 self.tier.tests_array = [self.test]
70 with mock.patch.object(self.tier, 'is_test',
72 self.assertEqual(self.tier.get_test('test_name'),
75 def test_get_test_missing_test(self):
76 self.tier.tests_array = [self.test]
77 with mock.patch.object(self.tier, 'is_test',
79 self.assertEqual(self.tier.get_test('test_name'),
82 def test_get_name(self):
83 self.assertEqual(self.tier.get_name(),
86 def test_get_order(self):
87 self.assertEqual(self.tier.get_order(),
90 def test_get_ci_loop(self):
91 self.assertEqual(self.tier.get_ci_loop(),
94 def test_testcase_is_none_in_item(self):
95 self.assertEqual(tier_handler.TestCase.is_none("item"),
98 def test_testcase_is_none_no_item(self):
99 self.assertEqual(tier_handler.TestCase.is_none(None),
102 def test_testcase_is_compatible(self):
103 self.assertEqual(self.testcase.is_compatible('test_installer',
107 def test_testcase_is_compatible_2(self):
108 self.assertEqual(self.testcase.is_compatible('missing_installer',
111 self.assertEqual(self.testcase.is_compatible('test_installer',
115 def test_testcase_get_name(self):
116 self.assertEqual(self.tier.get_name(),
119 def test_testcase_is_enabled(self):
120 self.assertEqual(self.testcase.is_enabled(),
123 def test_testcase_get_criteria(self):
124 self.assertEqual(self.tier.get_order(),
127 def test_testcase_is_blocking(self):
128 self.assertEqual(self.tier.get_ci_loop(),
131 def test_dependency_get_installer(self):
132 self.assertEqual(self.dependency.get_installer(),
135 def test_dependency_get_scenario(self):
136 self.assertEqual(self.dependency.get_scenario(),
140 if __name__ == "__main__":
141 logging.disable(logging.CRITICAL)
142 unittest.main(verbosity=2)