Merge "Fix dns problem on E/// pod"
[functest.git] / testcases / tests / TestFunctestUtils.py
1 import unittest
2 import os
3 import sys
4 import yaml
5
6 sys.path.append("../")
7 from functest_utils import getTestEnv, isTestRunnable, generateTestcaseList
8
9
10 class TestFunctestUtils(unittest.TestCase):
11
12     def setUp(self):
13         os.environ["INSTALLER_TYPE"] = "fuel"
14         os.environ["SDN_CONTROLLER"] = "odl"
15         os.environ["OPNFV_FEATURE"] = "ovs2.4"
16
17         global functest_yaml
18
19         with open("/home/opnfv/functest/conf/config_functest.yaml") as f:
20             functest_yaml = yaml.safe_load(f)
21             f.close()
22
23     def test_getTestEnv(self):
24
25         env_test = getTestEnv('ovno', functest_yaml)
26         self.assertEqual(env_test, {'controller': 'opencontrail'})
27
28         env_test = getTestEnv('doctor', functest_yaml)
29         self.assertEqual(env_test, None)
30
31         env_test = getTestEnv('promise', functest_yaml)
32         self.assertEqual(env_test, None)
33
34         env_test = getTestEnv('functest/tempest', functest_yaml)
35         self.assertEqual(env_test, None)
36
37         env_test = getTestEnv('functest/vims', functest_yaml)
38         self.assertEqual(env_test, None)
39
40         env_test = getTestEnv('functest/odl', functest_yaml)
41         self.assertEqual(env_test, {'controller': 'odl'})
42
43         env_test = getTestEnv('functest/onos', functest_yaml)
44         self.assertEqual(env_test, {'controller': 'onos'})
45
46         env_test = getTestEnv('functest/onos-ovsdb', functest_yaml)
47         self.assertEqual(env_test, {'controller': 'onos'})
48
49         env_test = getTestEnv('policy-test', functest_yaml)
50         self.assertEqual(env_test, {'controller': 'odl'})
51
52         env_test = getTestEnv('sdnvpn/odl-vpn_service-tests', functest_yaml)
53         self.assertEqual(env_test,
54                          {'controller': 'odl', 'scenario': 'os_ovh_ha'})
55
56         env_test = getTestEnv('sdnvpn/opnfv-yardstick-tc026-sdnvpn',
57                               functest_yaml)
58         self.assertEqual(env_test,
59                          {'controller': 'nosdn', 'scenario': 'os_ovh_ha'})
60
61         env_test = getTestEnv('sdnvpn/openstack-neutron-bgpvpn-api-extension-tests',
62                               functest_yaml)
63         self.assertEqual(env_test,
64                          {'controller': 'nosdn', 'scenario': 'os_ovh_ha'})
65
66         env_test = getTestEnv('foo', functest_yaml)
67         self.assertEqual(env_test, '')
68
69     def test_isTestRunnable(self):
70
71         test = isTestRunnable('ovno', functest_yaml)
72         self.assertFalse(test)
73
74         test = isTestRunnable('doctor', functest_yaml)
75         self.assertTrue(test)
76
77         test = isTestRunnable('promise', functest_yaml)
78         self.assertTrue(test)
79
80         test = isTestRunnable('functest/onos', functest_yaml)
81         self.assertFalse(test)
82
83         test = isTestRunnable('functest/odl', functest_yaml)
84         self.assertTrue(test)
85
86         test = isTestRunnable('functest/vping', functest_yaml)
87         self.assertTrue(test)
88
89         test = isTestRunnable('functest/tempest', functest_yaml)
90         self.assertTrue(test)
91
92         test = isTestRunnable('functest/rally', functest_yaml)
93         self.assertTrue(test)
94
95         test = isTestRunnable('functest/vims', functest_yaml)
96         self.assertTrue(test)
97
98         test = isTestRunnable('sdnvpn/odl-vpn_service-tests',
99                               functest_yaml)
100         self.assertTrue(test)
101
102         test = isTestRunnable('sdnvpn/opnfv-yardstick-tc026-sdnvpn',
103                               functest_yaml)
104         self.assertFalse(test)
105
106     def test_generateTestcaseList(self):
107
108         test = generateTestcaseList(functest_yaml)
109         test = sorted(test.split(' '))
110         expected_list = "doctor vims odl rally vping tempest promise policy-test odl-vpn_service-tests "
111         expected_list_array = sorted(expected_list.split(' '))
112         
113         self.assertEqual(test, expected_list_array)
114
115     def tearDown(self):
116         os.environ["INSTALLER_TYPE"] = ""
117         os.environ["SDN_CONTROLLER"] = ""
118         os.environ["OPNFV_FEATURE"] = ""
119
120
121 if __name__ == '__main__':
122     unittest.main()