3 # Copyright (c) 2016 Orange and others.
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
10 # pylint: disable=missing-docstring
16 from click.testing import CliRunner
18 with mock.patch('functest.cli.commands.cli_testcase.CliTestcase.__init__',
19 mock.Mock(return_value=None)), \
20 mock.patch('functest.cli.commands.cli_tier.CliTier.__init__',
21 mock.Mock(return_value=None)):
22 from functest.cli import cli_base
25 class CliBaseTesting(unittest.TestCase):
28 self.runner = CliRunner()
29 self._openstack = cli_base.OPENSTACK
30 self._env = cli_base.ENV
31 self._testcase = cli_base.TESTCASE
32 self._tier = cli_base.TIER
34 def test_os_check(self):
35 with mock.patch.object(self._openstack, 'check') as mock_method:
36 result = self.runner.invoke(cli_base.os_check)
37 self.assertEqual(result.exit_code, 0)
38 self.assertTrue(mock_method.called)
40 def test_os_show_credentials(self):
41 with mock.patch.object(self._openstack, 'show_credentials') \
43 result = self.runner.invoke(cli_base.os_show_credentials)
44 self.assertEqual(result.exit_code, 0)
45 self.assertTrue(mock_method.called)
47 def test_env_show(self):
48 with mock.patch.object(self._env, 'show') as mock_method:
49 result = self.runner.invoke(cli_base.env_show)
50 self.assertEqual(result.exit_code, 0)
51 self.assertTrue(mock_method.called)
53 def test_testcase_list(self):
54 with mock.patch.object(self._testcase, 'list') as mock_method:
55 result = self.runner.invoke(cli_base.testcase_list)
56 self.assertEqual(result.exit_code, 0)
57 self.assertTrue(mock_method.called)
59 def test_testcase_show(self):
60 with mock.patch.object(self._testcase, 'show') as mock_method:
61 result = self.runner.invoke(cli_base.testcase_show, ['testname'])
62 self.assertEqual(result.exit_code, 0)
63 self.assertTrue(mock_method.called)
65 def test_testcase_run(self):
66 with mock.patch.object(self._testcase, 'run') as mock_method:
67 result = self.runner.invoke(cli_base.testcase_run,
68 ['testname', '--noclean'])
69 self.assertEqual(result.exit_code, 0)
70 self.assertTrue(mock_method.called)
72 def test_tier_list(self):
73 with mock.patch.object(self._tier, 'list') as mock_method:
74 result = self.runner.invoke(cli_base.tier_list)
75 self.assertEqual(result.exit_code, 0)
76 self.assertTrue(mock_method.called)
78 def test_tier_show(self):
79 with mock.patch.object(self._tier, 'show') as mock_method:
80 result = self.runner.invoke(cli_base.tier_show, ['tiername'])
81 self.assertEqual(result.exit_code, 0)
82 self.assertTrue(mock_method.called)
84 def test_tier_gettests(self):
85 with mock.patch.object(self._tier, 'gettests') as mock_method:
86 result = self.runner.invoke(cli_base.tier_gettests, ['tiername'])
87 self.assertEqual(result.exit_code, 0)
88 self.assertTrue(mock_method.called)
90 def test_tier_run(self):
91 with mock.patch.object(self._tier, 'run') as mock_method:
92 result = self.runner.invoke(cli_base.tier_run,
93 ['tiername', '--noclean'])
94 self.assertEqual(result.exit_code, 0)
95 self.assertTrue(mock_method.called)
98 if __name__ == "__main__":
99 logging.disable(logging.CRITICAL)
100 unittest.main(verbosity=2)