Relax constraints on key naming for environment

One of the use cases is swarm requires at least : character, so going
from conservative to relaxed.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
This commit is contained in:
Mazz Mosley 2015-09-10 16:54:31 +01:00
parent 8caeffe27e
commit 4b2fd7699b
2 changed files with 16 additions and 1 deletions

View File

@ -39,7 +39,7 @@
{
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9_]+$": {
"^[^-]+$": {
"type": ["string", "number", "boolean"],
"format": "environment"
}

View File

@ -287,6 +287,21 @@ class ConfigTest(unittest.TestCase):
self.assertTrue(mock_logging.warn.called)
self.assertTrue(expected_warning_msg in mock_logging.warn.call_args[0][0])
def test_config_invalid_environment_dict_key_raises_validation_error(self):
expected_error_msg = "Service 'web' configuration key 'environment' contains an invalid type"
with self.assertRaisesRegexp(ConfigurationError, expected_error_msg):
config.load(
config.ConfigDetails(
{'web': {
'image': 'busybox',
'environment': {'---': 'nope'}
}},
'working_dir',
'filename.yml'
)
)
class InterpolationTest(unittest.TestCase):
@mock.patch.dict(os.environ)