Injecting os.environ in Environment instance happens outside of init method

Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
Joffrey F 2016-03-22 15:42:30 -07:00
commit 12ad3ff301
5 changed files with 29 additions and 19 deletions

View file

@ -37,7 +37,9 @@ def make_service_dict(name, service_dict, working_dir, filename=None):
filename=filename,
name=name,
config=service_dict),
config.ConfigFile(filename=filename, config={}))
config.ConfigFile(filename=filename, config={}),
environment=Environment.from_env_file(working_dir)
)
return config.process_service(resolver.run())
@ -2061,7 +2063,9 @@ class EnvTest(unittest.TestCase):
},
}
self.assertEqual(
resolve_environment(service_dict, Environment()),
resolve_environment(
service_dict, Environment.from_env_file(None)
),
{'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': None},
)
@ -2099,7 +2103,8 @@ class EnvTest(unittest.TestCase):
os.environ['ENV_DEF'] = 'E3'
self.assertEqual(
resolve_environment(
{'env_file': ['tests/fixtures/env/resolve.env']}, Environment()
{'env_file': ['tests/fixtures/env/resolve.env']},
Environment.from_env_file(None)
),
{
'FILE_DEF': u'bär',