Add support for configuring CloudFront storage engine
Fixes https://jira.coreos.com/browse/QS-116
This commit is contained in:
parent
f4f51934ef
commit
b0f656731c
5 changed files with 79 additions and 11 deletions
32
util/config/test/test_validator.py
Normal file
32
util/config/test/test_validator.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
import pytest
|
||||
|
||||
from util.config.validator import is_valid_config_upload_filename
|
||||
from util.config.validator import CONFIG_FILENAMES, CONFIG_FILE_SUFFIXES
|
||||
|
||||
def test_valid_config_upload_filenames():
|
||||
for filename in CONFIG_FILENAMES:
|
||||
assert is_valid_config_upload_filename(filename)
|
||||
|
||||
for suffix in CONFIG_FILE_SUFFIXES:
|
||||
assert is_valid_config_upload_filename('foo' + suffix)
|
||||
assert not is_valid_config_upload_filename(suffix + 'foo')
|
||||
|
||||
|
||||
@pytest.mark.parametrize('filename, expect_valid', [
|
||||
('', False),
|
||||
('foo', False),
|
||||
('config.yaml', False),
|
||||
|
||||
('ssl.cert', True),
|
||||
('ssl.key', True),
|
||||
|
||||
('ssl.crt', False),
|
||||
|
||||
('foobar-cloudfront-signing-key.pem', True),
|
||||
('foobaz-cloudfront-signing-key.pem', True),
|
||||
('barbaz-cloudfront-signing-key.pem', True),
|
||||
|
||||
('barbaz-cloudfront-signing-key.pem.bak', False),
|
||||
])
|
||||
def test_is_valid_config_upload_filename(filename, expect_valid):
|
||||
assert is_valid_config_upload_filename(filename) == expect_valid
|
|
@ -38,6 +38,7 @@ ACI_CERT_FILENAMES = ['signing-public.gpg', 'signing-private.gpg']
|
|||
LDAP_FILENAMES = [LDAP_CERT_FILENAME]
|
||||
CONFIG_FILENAMES = (SSL_FILENAMES + DB_SSL_FILENAMES + JWT_FILENAMES + ACI_CERT_FILENAMES +
|
||||
LDAP_FILENAMES)
|
||||
CONFIG_FILE_SUFFIXES = ['-cloudfront-signing-key.pem']
|
||||
EXTRA_CA_DIRECTORY = 'extra_ca_certs'
|
||||
|
||||
VALIDATORS = {
|
||||
|
@ -83,3 +84,13 @@ def validate_service_for_config(service, config, password=None):
|
|||
'status': False,
|
||||
'reason': str(ex)
|
||||
}
|
||||
|
||||
|
||||
def is_valid_config_upload_filename(filename):
|
||||
""" Returns true if and only if the given filename is one which is supported for upload
|
||||
from the configuration UI tool.
|
||||
"""
|
||||
if filename in CONFIG_FILENAMES:
|
||||
return True
|
||||
|
||||
return any([filename.endswith(suffix) for suffix in CONFIG_FILE_SUFFIXES])
|
||||
|
|
Reference in a new issue