From 28558c7e0adf7d73e273c71dcbcfda02f871f345 Mon Sep 17 00:00:00 2001 From: Alistair Coles Date: Thu, 11 Feb 2016 15:02:09 +0000 Subject: [PATCH] Add test for --debug taking precedence over --info Change-Id: Ibf0903817852edb36389028383a35e0d65f88a26 --- tests/unit/test_shell.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/unit/test_shell.py b/tests/unit/test_shell.py index 4dec22c2..b75336a6 100644 --- a/tests/unit/test_shell.py +++ b/tests/unit/test_shell.py @@ -1042,7 +1042,7 @@ class TestSubcommandHelp(testtools.TestCase): @mock.patch.dict(os.environ, mocked_os_environ) -class TestOptionAfterPosArg(testtools.TestCase): +class TestDebugAndInfoOptions(testtools.TestCase): @mock.patch('logging.basicConfig') @mock.patch('swiftclient.service.Connection') def test_option_after_posarg(self, connection, mock_logging): @@ -1054,6 +1054,24 @@ class TestOptionAfterPosArg(testtools.TestCase): swiftclient.shell.main(argv) mock_logging.assert_called_with(level=logging.DEBUG) + @mock.patch('logging.basicConfig') + @mock.patch('swiftclient.service.Connection') + def test_debug_trumps_info(self, connection, mock_logging): + argv_scenarios = (["", "stat", "--info", "--debug"], + ["", "stat", "--debug", "--info"], + ["", "--info", "stat", "--debug"], + ["", "--debug", "stat", "--info"], + ["", "--info", "--debug", "stat"], + ["", "--debug", "--info", "stat"]) + for argv in argv_scenarios: + mock_logging.reset_mock() + swiftclient.shell.main(argv) + try: + mock_logging.assert_called_once_with(level=logging.DEBUG) + except AssertionError: + self.fail('Unexpected call(s) %r for args %r' + % (mock_logging.call_args_list, argv)) + class TestBase(testtools.TestCase): """