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
13 from functest.ci import tier_handler
16 class TierHandlerTesting(unittest.TestCase):
19 self.test = mock.Mock()
20 attrs = {'get_name.return_value': 'test_name'}
21 self.test.configure_mock(**attrs)
23 self.mock_depend = mock.Mock()
24 attrs = {'get_scenario.return_value': 'test_scenario',
25 'get_installer.return_value': 'test_installer'}
26 self.mock_depend.configure_mock(**attrs)
28 self.tier = tier_handler.Tier('test_tier',
31 description='test_desc')
32 self.testcase = tier_handler.TestCase('test_name',
37 description='test_desc')
39 self.dependency = tier_handler.Dependency('test_installer',
42 self.testcase.str = self.testcase.__str__()
43 self.dependency.str = self.dependency.__str__()
44 self.tier.str = self.tier.__str__()
46 def test_split_text(self):
47 test_str = 'this is for testing'
48 self.assertEqual(tier_handler.split_text(test_str, 10),
49 ['this is ', 'for ', 'testing '])
51 def test_add_test(self):
52 self.tier.add_test(self.test)
53 self.assertEqual(self.tier.tests_array,
56 def test_get_tests(self):
57 self.tier.tests_array = [self.test]
58 self.assertEqual(self.tier.get_tests(),
61 def test_get_test_names(self):
62 self.tier.tests_array = [self.test]
63 self.assertEqual(self.tier.get_test_names(),
66 def test_get_test(self):
67 self.tier.tests_array = [self.test]
68 with mock.patch.object(self.tier, 'is_test',
70 self.assertEqual(self.tier.get_test('test_name'),
73 def test_get_test_missing_test(self):
74 self.tier.tests_array = [self.test]
75 with mock.patch.object(self.tier, 'is_test',
77 self.assertEqual(self.tier.get_test('test_name'),
80 def test_get_name(self):
81 self.assertEqual(self.tier.get_name(),
84 def test_get_order(self):
85 self.assertEqual(self.tier.get_order(),
88 def test_get_ci_loop(self):
89 self.assertEqual(self.tier.get_ci_loop(),
92 def test_testcase_is_none_present_item(self):
93 self.assertEqual(tier_handler.TestCase.is_none("item"),
96 def test_testcase_is_none_missing_item(self):
97 self.assertEqual(tier_handler.TestCase.is_none(None),
100 def test_testcase_is_compatible(self):
101 self.assertEqual(self.testcase.is_compatible('test_installer',
105 def test_testcase_is_compatible_missing_installer_scenario(self):
106 self.assertEqual(self.testcase.is_compatible('missing_installer',
109 self.assertEqual(self.testcase.is_compatible('test_installer',
113 def test_testcase_get_name(self):
114 self.assertEqual(self.tier.get_name(),
117 def test_testcase_is_enabled(self):
118 self.assertEqual(self.testcase.is_enabled(),
121 def test_testcase_get_criteria(self):
122 self.assertEqual(self.tier.get_order(),
125 def test_testcase_is_blocking(self):
126 self.assertEqual(self.tier.get_ci_loop(),
129 def test_dependency_get_installer(self):
130 self.assertEqual(self.dependency.get_installer(),
133 def test_dependency_get_scenario(self):
134 self.assertEqual(self.dependency.get_scenario(),
138 if __name__ == "__main__":
139 logging.disable(logging.CRITICAL)
140 unittest.main(verbosity=2)