@@ -90,6 +90,15 @@ def setup_patches(mock_logger):
9090 )
9191
9292
93+ @pytest .fixture
94+ def mock_handler_set_formatter ():
95+ patch__set_handler_formatter = patch .object (ProviderLogHandler , "setFormatter" )
96+ patch__set_hook_handler_formatter = patch .object (
97+ HookProviderLogHandler , "setFormatter"
98+ )
99+ return patch__set_handler_formatter , patch__set_hook_handler_formatter
100+
101+
93102@pytest .fixture
94103def mock_provider_handler ():
95104 plh = ProviderLogHandler (
@@ -197,6 +206,21 @@ def test_setup_existing_logger(setup_patches, mock_session):
197206 mock_log .return_value .addHandler .assert_not_called ()
198207
199208
209+ def test_setup_with_formatter (setup_patches , mock_session , mock_handler_set_formatter ):
210+ payload , _hook_payload , p_logger , p__get_logger , _p__get_hook_logger = setup_patches
211+ (
212+ p__set_handler_formatter ,
213+ _p__set_hook_handler_formatter ,
214+ ) = mock_handler_set_formatter
215+ formatter = logging .Formatter ()
216+ with p_logger as mock_log , p__get_logger as mock_get , p__set_handler_formatter as mock_set_formatter : # pylint: disable=C0301 # noqa: B950
217+ mock_get .return_value = None
218+ ProviderLogHandler .setup (payload , mock_session , formatter )
219+ mock_session .client .assert_called_once_with ("logs" )
220+ mock_log .return_value .addHandler .assert_called_once ()
221+ mock_set_formatter .assert_called_once_with (formatter )
222+
223+
200224def test_setup_without_log_group_should_not_set_up (mock_logger , mock_session ):
201225 patch_logger = patch (
202226 "cloudformation_cli_python_lib.log_delivery.logging.getLogger" ,
@@ -387,6 +411,23 @@ def test_setup_existing_hook_logger(setup_patches, mock_session):
387411 mock_log .return_value .addHandler .assert_not_called ()
388412
389413
414+ def test_setup_with_hook_formatter (
415+ setup_patches , mock_session , mock_handler_set_formatter
416+ ):
417+ _payload , hook_payload , p_logger , p__get_logger , _p__get_hook_logger = setup_patches
418+ (
419+ _p__set_handler_formatter ,
420+ p__set_hook_handler_formatter ,
421+ ) = mock_handler_set_formatter
422+ formatter = logging .Formatter ()
423+ with p_logger as mock_log , p__get_logger as mock_get , p__set_hook_handler_formatter as mock_set_formatter : # pylint: disable=C0301 # noqa: B950
424+ mock_get .return_value = None
425+ HookProviderLogHandler .setup (hook_payload , mock_session , formatter )
426+ mock_session .client .assert_called_once_with ("logs" )
427+ mock_log .return_value .addHandler .assert_called_once ()
428+ mock_set_formatter .assert_called_once_with (formatter )
429+
430+
390431def test_setup_without_hook_log_group_should_not_set_up (mock_logger , mock_session ):
391432 patch_logger = patch (
392433 "cloudformation_cli_python_lib.log_delivery.logging.getLogger" ,
0 commit comments