def test_get_with_missing_reason(self, mock_logger): expected_error_settings_dict = _get_expected_error_settings_dict() mock_logger.error.assert_called_once_with( "Skipping EXPECTED_ERRORS[%d] setting. 'REASON_EXPECTED' is required to document why %s is an expected " "error.", 0, 'valid.module.and.class.ButMissingReason' ) assert expected_error_settings_dict == {}
def test_get_with_colon_in_class_and_module(self, mock_logger): expected_error_settings_dict = _get_expected_error_settings_dict() mock_logger.warning.assert_called_once_with( "Replacing ':' with '.' in EXPECTED_ERRORS[%d]['MODULE_AND_CLASS'], which was set to %s. Note that " "monitoring and logging will not include the ':'.", 0, 'colon.separator.warning:Class', ) assert 'colon.separator.warning.Class' in expected_error_settings_dict
def test_get_with_missing_module_and_class(self, mock_logger): expected_error_settings_dict = _get_expected_error_settings_dict() mock_logger.error.assert_called_once_with( "Skipping EXPECTED_ERRORS[%d] setting. 'MODULE_AND_CLASS' set to [%s] and should be module.Class, like " "'rest_framework.exceptions.PermissionDenied'.", 0, None, ) assert expected_error_settings_dict == {}
def test_get_with_defaults(self): expected_error_settings_dict = _get_expected_error_settings_dict() assert expected_error_settings_dict == { 'test.module.TestClass': { 'is_ignored': True, 'log_error': False, 'log_stack_trace': False, 'reason_expected': 'Because' } }
def test_get_with_duplicate_class_and_module(self, mock_logger): expected_error_settings_dict = _get_expected_error_settings_dict() mock_logger.warning.assert_called_once_with( "EXPECTED_ERRORS[%d] setting is overriding an earlier setting. 'MODULE_AND_CLASS' [%s] is defined " "multiple times.", 1, 'valid.module.DuplicateClass', ) assert 'valid.module.DuplicateClass' in expected_error_settings_dict assert expected_error_settings_dict['valid.module.DuplicateClass']['reason_expected'] == 'Because overridden'
def test_get_with_invalid_dict(self, mock_logger): expected_error_settings_dict = _get_expected_error_settings_dict() mock_logger.exception.assert_called_once_with( 'Error processing setting EXPECTED_ERRORS. AttributeError("\'str\' object has no attribute \'get\'")' ) assert expected_error_settings_dict == {}
def test_get_with_empty_list_setting(self): expected_error_settings_dict = _get_expected_error_settings_dict() assert expected_error_settings_dict == {}