Merge "Remove openstack utils calls in rally and tempest"
[functest.git] / functest / tests / unit / cli / test_cli_base.py
1 #!/usr/bin/env python
2
3 # Copyright (c) 2016 Orange and others.
4 #
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9
10 import logging
11 import unittest
12
13 import mock
14 from click.testing import CliRunner
15
16 with mock.patch('functest.cli.commands.cli_testcase.CliTestcase.__init__',
17                 mock.Mock(return_value=None)), \
18     mock.patch('functest.cli.commands.cli_tier.CliTier.__init__',
19                mock.Mock(return_value=None)):
20     from functest.cli import cli_base
21
22
23 class CliBaseTesting(unittest.TestCase):
24
25     def setUp(self):
26         self.runner = CliRunner()
27         self._openstack = cli_base._openstack
28         self._env = cli_base._env
29         self._testcase = cli_base._testcase
30         self._tier = cli_base._tier
31
32     def test_os_check(self):
33         with mock.patch.object(self._openstack, 'check') as mock_method:
34             result = self.runner.invoke(cli_base.os_check)
35             self.assertEqual(result.exit_code, 0)
36             self.assertTrue(mock_method.called)
37
38     def test_os_snapshot_create(self):
39         with mock.patch.object(self._openstack, 'snapshot_create') \
40                 as mock_method:
41             result = self.runner.invoke(cli_base.os_snapshot_create)
42             self.assertEqual(result.exit_code, 0)
43             self.assertTrue(mock_method.called)
44
45     def test_os_snapshot_show(self):
46         with mock.patch.object(self._openstack, 'snapshot_show') \
47                 as mock_method:
48             result = self.runner.invoke(cli_base.os_snapshot_show)
49             self.assertEqual(result.exit_code, 0)
50             self.assertTrue(mock_method.called)
51
52     def test_os_clean(self):
53         with mock.patch.object(self._openstack, 'clean') as mock_method:
54             result = self.runner.invoke(cli_base.os_clean)
55             self.assertEqual(result.exit_code, 0)
56             self.assertTrue(mock_method.called)
57
58     def test_os_show_credentials(self):
59         with mock.patch.object(self._openstack, 'show_credentials') \
60                 as mock_method:
61             result = self.runner.invoke(cli_base.os_show_credentials)
62             self.assertEqual(result.exit_code, 0)
63             self.assertTrue(mock_method.called)
64
65     def test_env_show(self):
66         with mock.patch.object(self._env, 'show') as mock_method:
67             result = self.runner.invoke(cli_base.env_show)
68             self.assertEqual(result.exit_code, 0)
69             self.assertTrue(mock_method.called)
70
71     def test_testcase_list(self):
72         with mock.patch.object(self._testcase, 'list') as mock_method:
73             result = self.runner.invoke(cli_base.testcase_list)
74             self.assertEqual(result.exit_code, 0)
75             self.assertTrue(mock_method.called)
76
77     def test_testcase_show(self):
78         with mock.patch.object(self._testcase, 'show') as mock_method:
79             result = self.runner.invoke(cli_base.testcase_show, ['testname'])
80             self.assertEqual(result.exit_code, 0)
81             self.assertTrue(mock_method.called)
82
83     def test_testcase_run(self):
84         with mock.patch.object(self._testcase, 'run') as mock_method:
85             result = self.runner.invoke(cli_base.testcase_run,
86                                         ['testname', '--noclean'])
87             self.assertEqual(result.exit_code, 0)
88             self.assertTrue(mock_method.called)
89
90     def test_tier_list(self):
91         with mock.patch.object(self._tier, 'list') as mock_method:
92             result = self.runner.invoke(cli_base.tier_list)
93             self.assertEqual(result.exit_code, 0)
94             self.assertTrue(mock_method.called)
95
96     def test_tier_show(self):
97         with mock.patch.object(self._tier, 'show') as mock_method:
98             result = self.runner.invoke(cli_base.tier_show, ['tiername'])
99             self.assertEqual(result.exit_code, 0)
100             self.assertTrue(mock_method.called)
101
102     def test_tier_gettests(self):
103         with mock.patch.object(self._tier, 'gettests') as mock_method:
104             result = self.runner.invoke(cli_base.tier_gettests, ['tiername'])
105             self.assertEqual(result.exit_code, 0)
106             self.assertTrue(mock_method.called)
107
108     def test_tier_run(self):
109         with mock.patch.object(self._tier, 'run') as mock_method:
110             result = self.runner.invoke(cli_base.tier_run,
111                                         ['tiername', '--noclean'])
112             self.assertEqual(result.exit_code, 0)
113             self.assertTrue(mock_method.called)
114
115
116 if __name__ == "__main__":
117     logging.disable(logging.CRITICAL)
118     unittest.main(verbosity=2)