From 563642eb350ea432f2810f05b34745c4268829d2 Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Thu, 21 Sep 2023 22:58:48 -0700 Subject: [PATCH] unit test --- src/ytdl_sub/utils/logger.py | 5 +++-- tests/unit/main/test_main.py | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/ytdl_sub/utils/logger.py b/src/ytdl_sub/utils/logger.py index aa374c05..70bde484 100644 --- a/src/ytdl_sub/utils/logger.py +++ b/src/ytdl_sub/utils/logger.py @@ -223,9 +223,10 @@ class Logger: logger.error(str(exception)) # Log permission errors explicitly elif isinstance(exception, PermissionError): - logger.error("A permission error occurred:\n%s", str(exception)) logger.error( - "The user running ytdl-sub must have permission to this file/directory." + "A permission error occurred:\n%s\n" + "The user running ytdl-sub must have permission to this file/directory.", + str(exception), ) # For other uncaught errors, log as bug: else: diff --git a/tests/unit/main/test_main.py b/tests/unit/main/test_main.py index eea87a49..b8bb53e2 100644 --- a/tests/unit/main/test_main.py +++ b/tests/unit/main/test_main.py @@ -69,6 +69,21 @@ def test_main_uncaught_error(capsys, mock_sys_exit, expected_uncaught_error_mess assert mock_error.call_args.args[2] == Logger.debug_log_filename() +def test_main_permission_error(capsys, mock_sys_exit, expected_uncaught_error_message): + permission_error = PermissionError("test") + with mock_sys_exit(expected_exit_code=1), patch( + "src.ytdl_sub.main._main", side_effect=permission_error + ), patch.object(logging.Logger, "error") as mock_error: + main() + + assert mock_error.call_count == 1 + assert mock_error.call_args.args[0] == ( + "A permission error occurred:\n%s\n" + "The user running ytdl-sub must have permission to this file/directory." + ) + assert mock_error.call_args.args[1] == "test" + + def test_args_after_sub_work(mock_sys_exit): with mock_sys_exit(expected_exit_code=0), patch.object( sys,