helpers.py 786 B

1234567891011121314151617181920212223242526272829
  1. from __future__ import absolute_import
  2. from __future__ import unicode_literals
  3. import functools
  4. import os
  5. from . import mock
  6. from compose.config.config import ConfigDetails
  7. from compose.config.config import ConfigFile
  8. from compose.config.config import load
  9. from compose.config.environment import Environment
  10. def build_config(contents, **kwargs):
  11. return load(build_config_details(contents, **kwargs))
  12. def build_config_details(contents, working_dir='working_dir', filename='filename.yml'):
  13. return ConfigDetails(
  14. working_dir,
  15. [ConfigFile(filename, contents)])
  16. def clear_environment(f):
  17. @functools.wraps(f)
  18. def wrapper(self, *args, **kwargs):
  19. Environment.reset()
  20. with mock.patch.dict(os.environ):
  21. f(self, *args, **kwargs)