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
17 from click.testing import CliRunner
19 with mock.patch('functest.cli.commands.cli_testcase.CliTestcase.__init__',
20 mock.Mock(return_value=None)), \
21 mock.patch('functest.cli.commands.cli_tier.CliTier.__init__',
22 mock.Mock(return_value=None)):
23 os.environ['OS_AUTH_URL'] = ''
24 from functest.cli import cli_base
27 class CliBaseTesting(unittest.TestCase):
30 self.runner = CliRunner()
31 self._openstack = cli_base.OPENSTACK
32 self._env = cli_base.ENV
33 self._testcase = cli_base.TESTCASE
34 self._tier = cli_base.TIER
36 def test_os_check(self):
37 with mock.patch.object(self._openstack, 'check') as mock_method:
38 result = self.runner.invoke(cli_base.os_check)
39 self.assertEqual(result.exit_code, 0)
40 self.assertTrue(mock_method.called)
42 def test_os_show_credentials(self):
43 with mock.patch.object(self._openstack, 'show_credentials') \
45 result = self.runner.invoke(cli_base.os_show_credentials)
46 self.assertEqual(result.exit_code, 0)
47 self.assertTrue(mock_method.called)
49 def test_env_show(self):
50 with mock.patch.object(self._env, 'show') as mock_method:
51 result = self.runner.invoke(cli_base.env_show)
52 self.assertEqual(result.exit_code, 0)
53 self.assertTrue(mock_method.called)
55 def test_testcase_list(self):
56 with mock.patch.object(self._testcase, 'list') as mock_method:
57 result = self.runner.invoke(cli_base.testcase_list)
58 self.assertEqual(result.exit_code, 0)
59 self.assertTrue(mock_method.called)
61 def test_testcase_show(self):
62 with mock.patch.object(self._testcase, 'show') as mock_method:
63 result = self.runner.invoke(cli_base.testcase_show, ['testname'])
64 self.assertEqual(result.exit_code, 0)
65 self.assertTrue(mock_method.called)
67 def test_testcase_run(self):
68 with mock.patch.object(self._testcase, 'run') as mock_method:
69 result = self.runner.invoke(cli_base.testcase_run,
70 ['testname', '--noclean'])
71 self.assertEqual(result.exit_code, 0)
72 self.assertTrue(mock_method.called)
74 def test_tier_list(self):
75 with mock.patch.object(self._tier, 'list') as mock_method:
76 result = self.runner.invoke(cli_base.tier_list)
77 self.assertEqual(result.exit_code, 0)
78 self.assertTrue(mock_method.called)
80 def test_tier_show(self):
81 with mock.patch.object(self._tier, 'show') as mock_method:
82 result = self.runner.invoke(cli_base.tier_show, ['tiername'])
83 self.assertEqual(result.exit_code, 0)
84 self.assertTrue(mock_method.called)
86 def test_tier_gettests(self):
87 with mock.patch.object(self._tier, 'gettests') as mock_method:
88 result = self.runner.invoke(cli_base.tier_gettests, ['tiername'])
89 self.assertEqual(result.exit_code, 0)
90 self.assertTrue(mock_method.called)
92 def test_tier_run(self):
93 with mock.patch.object(self._tier, 'run') as mock_method:
94 result = self.runner.invoke(cli_base.tier_run,
95 ['tiername', '--noclean'])
96 self.assertEqual(result.exit_code, 0)
97 self.assertTrue(mock_method.called)
100 if __name__ == "__main__":
101 logging.disable(logging.CRITICAL)
102 unittest.main(verbosity=2)