Merge "Refactor core VNF class"
[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_prepare(self):
66         with mock.patch.object(self._env, 'prepare') as mock_method:
67             result = self.runner.invoke(cli_base.env_prepare)
68             self.assertEqual(result.exit_code, 0)
69             self.assertTrue(mock_method.called)
70
71     def test_env_show(self):
72         with mock.patch.object(self._env, 'show') as mock_method:
73             result = self.runner.invoke(cli_base.env_show)
74             self.assertEqual(result.exit_code, 0)
75             self.assertTrue(mock_method.called)
76
77     def test_env_status(self):
78         with mock.patch.object(self._env, 'status') as mock_method:
79             result = self.runner.invoke(cli_base.env_status)
80             self.assertEqual(result.exit_code, 0)
81             self.assertTrue(mock_method.called)
82
83     def test_testcase_list(self):
84         with mock.patch.object(self._testcase, 'list') as mock_method:
85             result = self.runner.invoke(cli_base.testcase_list)
86             self.assertEqual(result.exit_code, 0)
87             self.assertTrue(mock_method.called)
88
89     def test_testcase_show(self):
90         with mock.patch.object(self._testcase, 'show') as mock_method:
91             result = self.runner.invoke(cli_base.testcase_show, ['testname'])
92             self.assertEqual(result.exit_code, 0)
93             self.assertTrue(mock_method.called)
94
95     def test_testcase_run(self):
96         with mock.patch.object(self._testcase, 'run') as mock_method:
97             result = self.runner.invoke(cli_base.testcase_run,
98                                         ['testname', '--noclean'])
99             self.assertEqual(result.exit_code, 0)
100             self.assertTrue(mock_method.called)
101
102     def test_tier_list(self):
103         with mock.patch.object(self._tier, 'list') as mock_method:
104             result = self.runner.invoke(cli_base.tier_list)
105             self.assertEqual(result.exit_code, 0)
106             self.assertTrue(mock_method.called)
107
108     def test_tier_show(self):
109         with mock.patch.object(self._tier, 'show') as mock_method:
110             result = self.runner.invoke(cli_base.tier_show, ['tiername'])
111             self.assertEqual(result.exit_code, 0)
112             self.assertTrue(mock_method.called)
113
114     def test_tier_gettests(self):
115         with mock.patch.object(self._tier, 'gettests') as mock_method:
116             result = self.runner.invoke(cli_base.tier_gettests, ['tiername'])
117             self.assertEqual(result.exit_code, 0)
118             self.assertTrue(mock_method.called)
119
120     def test_tier_run(self):
121         with mock.patch.object(self._tier, 'run') as mock_method:
122             result = self.runner.invoke(cli_base.tier_run,
123                                         ['tiername', '--noclean'])
124             self.assertEqual(result.exit_code, 0)
125             self.assertTrue(mock_method.called)
126
127
128 if __name__ == "__main__":
129     logging.disable(logging.CRITICAL)
130     unittest.main(verbosity=2)