3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
8 # pylint: disable=missing-docstring
15 from functest.cli.commands import cli_tier
18 class CliTierTesting(unittest.TestCase):
21 self.tiername = 'tiername'
22 self.testnames = 'testnames'
23 with mock.patch('functest.cli.commands.cli_tier.tb'):
24 self.cli_tier = cli_tier.CliTier()
26 @mock.patch('functest.cli.commands.cli_tier.click.echo')
27 def test_list(self, mock_click_echo):
28 with mock.patch.object(self.cli_tier.tiers, 'get_tiers',
31 mock_click_echo.assert_called_with("")
33 @mock.patch('functest.cli.commands.cli_tier.click.echo')
34 def test_show_default(self, mock_click_echo):
35 with mock.patch.object(self.cli_tier.tiers, 'get_tier',
36 return_value=self.tiername):
37 self.cli_tier.show(self.tiername)
38 mock_click_echo.assert_called_with(self.tiername)
40 @mock.patch('functest.cli.commands.cli_tier.click.echo')
41 def test_show_missing_tier(self, mock_click_echo):
42 with mock.patch.object(self.cli_tier.tiers, 'get_tier',
44 mock.patch.object(self.cli_tier.tiers, 'get_tier_names',
45 return_value='tiernames'):
46 self.cli_tier.show(self.tiername)
47 mock_click_echo.assert_called_with("The tier with name '%s' does "
48 "not exist. Available tiers are"
49 ":\n %s\n" % (self.tiername,
52 @mock.patch('functest.cli.commands.cli_tier.click.echo')
53 def test_gettests_default(self, mock_click_echo):
54 mock_obj = mock.Mock()
55 attrs = {'get_test_names.return_value': self.testnames}
56 mock_obj.configure_mock(**attrs)
58 with mock.patch.object(self.cli_tier.tiers, 'get_tier',
59 return_value=mock_obj):
60 self.cli_tier.gettests(self.tiername)
61 mock_click_echo.assert_called_with("Test cases in tier "
62 "'%s':\n %s\n" % (self.tiername,
66 @mock.patch('functest.cli.commands.cli_tier.click.echo')
67 def test_gettests_missing_tier(self, mock_click_echo):
68 with mock.patch.object(self.cli_tier.tiers, 'get_tier',
70 mock.patch.object(self.cli_tier.tiers, 'get_tier_names',
71 return_value='tiernames'):
72 self.cli_tier.gettests(self.tiername)
73 mock_click_echo.assert_called_with("The tier with name '%s' does "
74 "not exist. Available tiers are"
75 ":\n %s\n" % (self.tiername,
78 @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
79 def test_run_default(self, mock_ft_utils):
80 cmd = "run_tests -n -r -t {}".format(self.tiername)
81 self.cli_tier.run(self.tiername, noclean=True, report=True)
82 mock_ft_utils.assert_called_with(cmd)
84 @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
85 def test_run_report_missing_noclean(self, mock_ft_utils):
86 cmd = "run_tests -r -t {}".format(self.tiername)
87 self.cli_tier.run(self.tiername, noclean=False, report=True)
88 mock_ft_utils.assert_called_with(cmd)
90 @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
91 def test_run_noclean_missing_report(self, mock_ft_utils):
92 cmd = "run_tests -n -t {}".format(self.tiername)
93 self.cli_tier.run(self.tiername, noclean=True, report=False)
94 mock_ft_utils.assert_called_with(cmd)
96 @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
97 def test_run_missing_noclean_report(self, mock_ft_utils):
98 cmd = "run_tests -t {}".format(self.tiername)
99 self.cli_tier.run(self.tiername, noclean=False, report=False)
100 mock_ft_utils.assert_called_with(cmd)
103 if __name__ == "__main__":
104 logging.disable(logging.CRITICAL)
105 unittest.main(verbosity=2)