| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from __future__ import absolute_import
- from __future__ import unicode_literals
- import tempfile
- from ddt import data
- from ddt import ddt
- from .. import mock
- from compose.cli.command import project_from_options
- from tests.integration.testcases import DockerClientTestCase
- @ddt
- class EnvironmentTest(DockerClientTestCase):
- @classmethod
- def setUpClass(cls):
- super(EnvironmentTest, cls).setUpClass()
- cls.compose_file = tempfile.NamedTemporaryFile(mode='w+b')
- cls.compose_file.write(bytes("""version: '3.2'
- services:
- svc:
- image: busybox:latest
- environment:
- TEST_VARIABLE: ${TEST_VARIABLE}""", encoding='utf-8'))
- cls.compose_file.flush()
- @classmethod
- def tearDownClass(cls):
- super(EnvironmentTest, cls).tearDownClass()
- cls.compose_file.close()
- @data('events',
- 'exec',
- 'kill',
- 'logs',
- 'pause',
- 'ps',
- 'restart',
- 'rm',
- 'start',
- 'stop',
- 'top',
- 'unpause')
- def _test_no_warning_on_missing_host_environment_var_on_silent_commands(self, cmd):
- options = {'COMMAND': cmd, '--file': [EnvironmentTest.compose_file.name]}
- with mock.patch('compose.config.environment.log') as fake_log:
- # Note that the warning silencing and the env variables check is
- # done in `project_from_options`
- # So no need to have a proper options map, the `COMMAND` key is enough
- project_from_options('.', options)
- assert fake_log.warn.call_count == 0
|