Merge "Ignore merged env if environment files are specified"

This commit is contained in:
Jenkins 2016-11-02 09:03:13 +00:00 committed by Gerrit Code Review
commit f15cdb392b
2 changed files with 14 additions and 1 deletions

View File

@ -137,7 +137,9 @@ class InstantiationData(object):
environment global options.
"""
env = {}
if self.PARAM_ENVIRONMENT in self.data:
# Don't use merged environment, if environment_files are supplied.
if (self.PARAM_ENVIRONMENT in self.data and
not self.data.get(self.PARAM_ENVIRONMENT_FILES)):
env_data = self.data[self.PARAM_ENVIRONMENT]
with self.parse_error_check('Environment'):
if isinstance(env_data, dict):

View File

@ -167,6 +167,17 @@ blarg: wibble
data = stacks.InstantiationData(body)
self.assertEqual(env, data.environment())
def test_environment_with_env_files(self):
env = {'parameters': {'foo': 'bar', 'blarg': 'wibble'}}
body = {'environment': env, 'environment_files': ['env.yaml']}
expect = {'parameters': {},
'encrypted_param_names': [],
'parameter_defaults': {},
'event_sinks': [],
'resource_registry': {}}
data = stacks.InstantiationData(body)
self.assertEqual(expect, data.environment())
def test_environment_and_parameters(self):
body = {'parameters': {'foo': 'bar'},
'environment': {'parameters': {'blarg': 'wibble'}}}