Skip testcases by any env var
[functest-xtesting.git] / xtesting / tests / unit / ci / test_tier_handler.py
1 #!/usr/bin/env python
2
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
7
8 # pylint: disable=missing-docstring
9
10 import logging
11 import unittest
12
13 import mock
14
15 from xtesting.ci import tier_handler
16
17
18 class TierHandlerTesting(unittest.TestCase):
19     # pylint: disable=too-many-public-methods
20
21     def setUp(self):
22         self.test = mock.Mock()
23         attrs = {'get_name.return_value': 'test_name'}
24         self.test.configure_mock(**attrs)
25         self.tier = tier_handler.Tier(
26             'test_tier', 'test_order', 'test_desc')
27         self.testcase = tier_handler.TestCase(
28             'test_name', 'true', 'test_criteria',
29             True, description='test_desc', project='project_name')
30         self.testcase.str = self.testcase.__str__()
31         self.tier.str = self.tier.__str__()
32
33     def test_split_text(self):
34         test_str = 'this is for testing'
35         self.assertEqual(tier_handler.split_text(test_str, 10),
36                          ['this is ', 'for ', 'testing '])
37
38     def test_add_test(self):
39         self.tier.add_test(self.test)
40         self.assertEqual(self.tier.tests_array, [self.test])
41
42     def test_get_skipped_test1(self):
43         self.assertEqual(self.tier.get_skipped_test(), [])
44
45     def test_get_skipped_test2(self):
46         self.tier.skip_test(self.test)
47         self.assertEqual(self.tier.get_skipped_test(), [self.test])
48
49     def test_get_tests(self):
50         self.tier.tests_array = [self.test]
51         self.assertEqual(self.tier.get_tests(), [self.test])
52
53     def test_get_test_names(self):
54         self.tier.tests_array = [self.test]
55         self.assertEqual(self.tier.get_test_names(), ['test_name'])
56
57     def test_get_test(self):
58         self.tier.tests_array = [self.test]
59         with mock.patch.object(self.tier, 'is_test', return_value=True):
60             self.assertEqual(self.tier.get_test('test_name'), self.test)
61
62     def test_get_test_missing_test(self):
63         self.tier.tests_array = [self.test]
64         with mock.patch.object(self.tier, 'is_test', return_value=False):
65             self.assertEqual(self.tier.get_test('test_name'), None)
66
67     def test_get_name(self):
68         self.assertEqual(self.tier.get_name(), 'test_tier')
69
70     def test_get_order(self):
71         self.assertEqual(self.tier.get_order(), 'test_order')
72
73     def test_testcase_get_name(self):
74         self.assertEqual(self.tier.get_name(), 'test_tier')
75
76     def test_testcase_is_enabled(self):
77         self.assertEqual(self.testcase.is_enabled(), 'true')
78
79     def test_testcase_get_criteria(self):
80         self.assertEqual(self.testcase.get_criteria(), 'test_criteria')
81
82     def test_testcase_is_blocking(self):
83         self.assertTrue(self.testcase.is_blocking())
84
85     def test_testcase_get_project(self):
86         self.assertEqual(self.testcase.get_project(), 'project_name')
87
88     def test_testcase_get_order(self):
89         self.assertEqual(self.tier.get_order(), 'test_order')
90
91
92 if __name__ == "__main__":
93     logging.disable(logging.CRITICAL)
94     unittest.main(verbosity=2)