Merge "Get auth token when checking deployment"
[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_show_credentials(self):
39         with mock.patch.object(self._openstack, 'show_credentials') \
40                 as mock_method:
41             result = self.runner.invoke(cli_base.os_show_credentials)
42             self.assertEqual(result.exit_code, 0)
43             self.assertTrue(mock_method.called)
44
45     def test_env_show(self):
46         with mock.patch.object(self._env, 'show') as mock_method:
47             result = self.runner.invoke(cli_base.env_show)
48             self.assertEqual(result.exit_code, 0)
49             self.assertTrue(mock_method.called)
50
51     def test_testcase_list(self):
52         with mock.patch.object(self._testcase, 'list') as mock_method:
53             result = self.runner.invoke(cli_base.testcase_list)
54             self.assertEqual(result.exit_code, 0)
55             self.assertTrue(mock_method.called)
56
57     def test_testcase_show(self):
58         with mock.patch.object(self._testcase, 'show') as mock_method:
59             result = self.runner.invoke(cli_base.testcase_show, ['testname'])
60             self.assertEqual(result.exit_code, 0)
61             self.assertTrue(mock_method.called)
62
63     def test_testcase_run(self):
64         with mock.patch.object(self._testcase, 'run') as mock_method:
65             result = self.runner.invoke(cli_base.testcase_run,
66                                         ['testname', '--noclean'])
67             self.assertEqual(result.exit_code, 0)
68             self.assertTrue(mock_method.called)
69
70     def test_tier_list(self):
71         with mock.patch.object(self._tier, 'list') as mock_method:
72             result = self.runner.invoke(cli_base.tier_list)
73             self.assertEqual(result.exit_code, 0)
74             self.assertTrue(mock_method.called)
75
76     def test_tier_show(self):
77         with mock.patch.object(self._tier, 'show') as mock_method:
78             result = self.runner.invoke(cli_base.tier_show, ['tiername'])
79             self.assertEqual(result.exit_code, 0)
80             self.assertTrue(mock_method.called)
81
82     def test_tier_gettests(self):
83         with mock.patch.object(self._tier, 'gettests') as mock_method:
84             result = self.runner.invoke(cli_base.tier_gettests, ['tiername'])
85             self.assertEqual(result.exit_code, 0)
86             self.assertTrue(mock_method.called)
87
88     def test_tier_run(self):
89         with mock.patch.object(self._tier, 'run') as mock_method:
90             result = self.runner.invoke(cli_base.tier_run,
91                                         ['tiername', '--noclean'])
92             self.assertEqual(result.exit_code, 0)
93             self.assertTrue(mock_method.called)
94
95
96 if __name__ == "__main__":
97     logging.disable(logging.CRITICAL)
98     unittest.main(verbosity=2)