diff --git a/util/config/validators/test/test_validate_storage.py b/util/config/validators/test/test_validate_storage.py index 2e271edf0..6ce1e4483 100644 --- a/util/config/validators/test/test_validate_storage.py +++ b/util/config/validators/test/test_validate_storage.py @@ -1,3 +1,4 @@ +import moto import pytest from util.config.validators import ConfigValidationException @@ -16,3 +17,20 @@ def test_validate_storage(unvalidated_config, expected): validator.validate(unvalidated_config, None, None) else: validator.validate(unvalidated_config, None, None) + +def test_validate_s3_storage(): + validator = StorageValidator() + with moto.mock_s3(): + with pytest.raises(ConfigValidationException) as ipe: + validator.validate({ + 'DISTRIBUTED_STORAGE_CONFIG': { + 'default': ('S3Storage', { + 's3_access_key': 'invalid', + 's3_secret_key': 'invalid', + 's3_bucket': 'somebucket', + 'storage_path': '' + }), + } + }, None, None) + + assert ipe.value.message == 'Invalid storage configuration: default: S3ResponseError: 404 Not Found' \ No newline at end of file diff --git a/util/config/validators/validate_storage.py b/util/config/validators/validate_storage.py index ca2f79ed5..b240d6094 100644 --- a/util/config/validators/validate_storage.py +++ b/util/config/validators/validate_storage.py @@ -26,7 +26,8 @@ class StorageValidator(BaseValidator): # Run setup on the driver if the read/write succeeded. driver.setup() except Exception as ex: - raise ConfigValidationException('Invalid storage configuration: %s: %s' % (name, str(ex))) + msg = str(ex).strip() + raise ConfigValidationException('Invalid storage configuration: %s: %s' % (name, msg)) def _get_storage_providers(config):