mirror of https://github.com/docker/compose.git
Use stdlib modules instead of deprecated pytest fixtures
Signed-off-by: Lumír Balhar <lbalhar@redhat.com>
This commit is contained in:
parent
60458c8ae7
commit
73cc89c15f
|
@ -8,7 +8,6 @@ import random
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
import py
|
|
||||||
import pytest
|
import pytest
|
||||||
from docker.errors import APIError
|
from docker.errors import APIError
|
||||||
from docker.errors import NotFound
|
from docker.errors import NotFound
|
||||||
|
@ -16,6 +15,7 @@ from docker.errors import NotFound
|
||||||
from .. import mock
|
from .. import mock
|
||||||
from ..helpers import build_config as load_config
|
from ..helpers import build_config as load_config
|
||||||
from ..helpers import BUSYBOX_IMAGE_WITH_TAG
|
from ..helpers import BUSYBOX_IMAGE_WITH_TAG
|
||||||
|
from ..helpers import cd
|
||||||
from ..helpers import create_host_file
|
from ..helpers import create_host_file
|
||||||
from .testcases import DockerClientTestCase
|
from .testcases import DockerClientTestCase
|
||||||
from .testcases import SWARM_SKIP_CONTAINERS_ALL
|
from .testcases import SWARM_SKIP_CONTAINERS_ALL
|
||||||
|
@ -1329,9 +1329,9 @@ class ProjectTest(DockerClientTestCase):
|
||||||
})
|
})
|
||||||
details = config.ConfigDetails('.', [base_file, override_file])
|
details = config.ConfigDetails('.', [base_file, override_file])
|
||||||
|
|
||||||
tmpdir = py.test.ensuretemp('logging_test')
|
tmpdir = tempfile.mkdtemp('logging_test')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
with tmpdir.as_cwd():
|
with cd(tmpdir):
|
||||||
config_data = config.load(details)
|
config_data = config.load(details)
|
||||||
project = Project.from_config(
|
project = Project.from_config(
|
||||||
name='composetest', config_data=config_data, client=self.client
|
name='composetest', config_data=config_data, client=self.client
|
||||||
|
|
|
@ -6,8 +6,10 @@ from __future__ import absolute_import
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import tempfile
|
||||||
|
|
||||||
import py
|
|
||||||
from docker.errors import ImageNotFound
|
from docker.errors import ImageNotFound
|
||||||
|
|
||||||
from ..helpers import BUSYBOX_IMAGE_WITH_TAG
|
from ..helpers import BUSYBOX_IMAGE_WITH_TAG
|
||||||
|
@ -426,26 +428,29 @@ class ServiceStateTest(DockerClientTestCase):
|
||||||
|
|
||||||
@no_cluster('Can not guarantee the build will be run on the same node the service is deployed')
|
@no_cluster('Can not guarantee the build will be run on the same node the service is deployed')
|
||||||
def test_trigger_recreate_with_build(self):
|
def test_trigger_recreate_with_build(self):
|
||||||
context = py.test.ensuretemp('test_trigger_recreate_with_build')
|
context = tempfile.mkdtemp('test_trigger_recreate_with_build')
|
||||||
self.addCleanup(context.remove)
|
self.addCleanup(shutil.rmtree, context)
|
||||||
|
|
||||||
base_image = "FROM busybox\nLABEL com.docker.compose.test_image=true\n"
|
base_image = "FROM busybox\nLABEL com.docker.compose.test_image=true\n"
|
||||||
dockerfile = context.join('Dockerfile')
|
dockerfile = os.path.join(context, 'Dockerfile')
|
||||||
dockerfile.write(base_image)
|
with open(dockerfile, mode="w") as dockerfile_fh:
|
||||||
|
dockerfile_fh.write(base_image)
|
||||||
|
|
||||||
web = self.create_service('web', build={'context': str(context)})
|
web = self.create_service('web', build={'context': str(context)})
|
||||||
container = web.create_container()
|
container = web.create_container()
|
||||||
|
|
||||||
dockerfile.write(base_image + 'CMD echo hello world\n')
|
with open(dockerfile, mode="w") as dockerfile_fh:
|
||||||
|
dockerfile_fh.write(base_image + 'CMD echo hello world\n')
|
||||||
web.build()
|
web.build()
|
||||||
|
|
||||||
web = self.create_service('web', build={'context': str(context)})
|
web = self.create_service('web', build={'context': str(context)})
|
||||||
assert ('recreate', [container]) == web.convergence_plan()
|
assert ('recreate', [container]) == web.convergence_plan()
|
||||||
|
|
||||||
def test_image_changed_to_build(self):
|
def test_image_changed_to_build(self):
|
||||||
context = py.test.ensuretemp('test_image_changed_to_build')
|
context = tempfile.mkdtemp('test_image_changed_to_build')
|
||||||
self.addCleanup(context.remove)
|
self.addCleanup(shutil.rmtree, context)
|
||||||
context.join('Dockerfile').write("""
|
with open(os.path.join(context, 'Dockerfile'), mode="w") as dockerfile:
|
||||||
|
dockerfile.write("""
|
||||||
FROM busybox
|
FROM busybox
|
||||||
LABEL com.docker.compose.test_image=true
|
LABEL com.docker.compose.test_image=true
|
||||||
""")
|
""")
|
||||||
|
|
|
@ -10,7 +10,6 @@ import tempfile
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from random import shuffle
|
from random import shuffle
|
||||||
|
|
||||||
import py
|
|
||||||
import pytest
|
import pytest
|
||||||
import yaml
|
import yaml
|
||||||
from ddt import data
|
from ddt import data
|
||||||
|
@ -18,6 +17,7 @@ from ddt import ddt
|
||||||
|
|
||||||
from ...helpers import build_config_details
|
from ...helpers import build_config_details
|
||||||
from ...helpers import BUSYBOX_IMAGE_WITH_TAG
|
from ...helpers import BUSYBOX_IMAGE_WITH_TAG
|
||||||
|
from ...helpers import cd
|
||||||
from compose.config import config
|
from compose.config import config
|
||||||
from compose.config import types
|
from compose.config import types
|
||||||
from compose.config.config import ConfigFile
|
from compose.config.config import ConfigFile
|
||||||
|
@ -780,13 +780,14 @@ class ConfigTest(unittest.TestCase):
|
||||||
})
|
})
|
||||||
details = config.ConfigDetails('.', [base_file, override_file])
|
details = config.ConfigDetails('.', [base_file, override_file])
|
||||||
|
|
||||||
tmpdir = py.test.ensuretemp('config_test')
|
tmpdir = tempfile.mkdtemp('config_test')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('common.yml').write("""
|
with open(os.path.join(tmpdir, 'common.yml'), mode="w") as common_fh:
|
||||||
|
common_fh.write("""
|
||||||
base:
|
base:
|
||||||
labels: ['label=one']
|
labels: ['label=one']
|
||||||
""")
|
""")
|
||||||
with tmpdir.as_cwd():
|
with cd(tmpdir):
|
||||||
service_dicts = config.load(details).services
|
service_dicts = config.load(details).services
|
||||||
|
|
||||||
expected = [
|
expected = [
|
||||||
|
@ -815,9 +816,10 @@ class ConfigTest(unittest.TestCase):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
tmpdir = pytest.ensuretemp('config_test')
|
tmpdir = tempfile.mkdtemp('config_test')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('base.yml').write("""
|
with open(os.path.join(tmpdir, 'base.yml'), mode="w") as base_fh:
|
||||||
|
base_fh.write("""
|
||||||
version: '2.2'
|
version: '2.2'
|
||||||
services:
|
services:
|
||||||
base:
|
base:
|
||||||
|
@ -827,7 +829,7 @@ class ConfigTest(unittest.TestCase):
|
||||||
""")
|
""")
|
||||||
|
|
||||||
details = config.ConfigDetails('.', [main_file])
|
details = config.ConfigDetails('.', [main_file])
|
||||||
with tmpdir.as_cwd():
|
with cd(tmpdir):
|
||||||
service_dicts = config.load(details).services
|
service_dicts = config.load(details).services
|
||||||
assert service_dicts[0] == {
|
assert service_dicts[0] == {
|
||||||
'name': 'prodweb',
|
'name': 'prodweb',
|
||||||
|
@ -1765,22 +1767,23 @@ class ConfigTest(unittest.TestCase):
|
||||||
assert services[0]['environment']['SPRING_JPA_HIBERNATE_DDL-AUTO'] == 'none'
|
assert services[0]['environment']['SPRING_JPA_HIBERNATE_DDL-AUTO'] == 'none'
|
||||||
|
|
||||||
def test_load_yaml_with_yaml_error(self):
|
def test_load_yaml_with_yaml_error(self):
|
||||||
tmpdir = py.test.ensuretemp('invalid_yaml_test')
|
tmpdir = tempfile.mkdtemp('invalid_yaml_test')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
invalid_yaml_file = tmpdir.join('docker-compose.yml')
|
invalid_yaml_file = os.path.join(tmpdir, 'docker-compose.yml')
|
||||||
invalid_yaml_file.write("""
|
with open(invalid_yaml_file, mode="w") as invalid_yaml_file_fh:
|
||||||
|
invalid_yaml_file_fh.write("""
|
||||||
web:
|
web:
|
||||||
this is bogus: ok: what
|
this is bogus: ok: what
|
||||||
""")
|
""")
|
||||||
with pytest.raises(ConfigurationError) as exc:
|
with pytest.raises(ConfigurationError) as exc:
|
||||||
config.load_yaml(str(invalid_yaml_file))
|
config.load_yaml(str(invalid_yaml_file))
|
||||||
|
|
||||||
assert 'line 3, column 32' in exc.exconly()
|
assert 'line 3, column 36' in exc.exconly()
|
||||||
|
|
||||||
def test_load_yaml_with_bom(self):
|
def test_load_yaml_with_bom(self):
|
||||||
tmpdir = py.test.ensuretemp('bom_yaml')
|
tmpdir = tempfile.mkdtemp('bom_yaml')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
bom_yaml = tmpdir.join('docker-compose.yml')
|
bom_yaml = os.path.join(tmpdir, 'docker-compose.yml')
|
||||||
with codecs.open(str(bom_yaml), 'w', encoding='utf-8') as f:
|
with codecs.open(str(bom_yaml), 'w', encoding='utf-8') as f:
|
||||||
f.write('''\ufeff
|
f.write('''\ufeff
|
||||||
version: '2.3'
|
version: '2.3'
|
||||||
|
@ -4724,10 +4727,12 @@ class ExtendsTest(unittest.TestCase):
|
||||||
|
|
||||||
@mock.patch.dict(os.environ)
|
@mock.patch.dict(os.environ)
|
||||||
def test_extends_with_environment_and_env_files(self):
|
def test_extends_with_environment_and_env_files(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_environment')
|
tmpdir = tempfile.mkdtemp('test_extends_with_environment')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
commondir = tmpdir.mkdir('common')
|
commondir = os.path.join(tmpdir, 'common')
|
||||||
commondir.join('base.yml').write("""
|
os.mkdir(commondir)
|
||||||
|
with open(os.path.join(commondir, 'base.yml'), mode="w") as base_fh:
|
||||||
|
base_fh.write("""
|
||||||
app:
|
app:
|
||||||
image: 'example/app'
|
image: 'example/app'
|
||||||
env_file:
|
env_file:
|
||||||
|
@ -4737,7 +4742,8 @@ class ExtendsTest(unittest.TestCase):
|
||||||
- TEST_ONE=common
|
- TEST_ONE=common
|
||||||
- TEST_TWO=common
|
- TEST_TWO=common
|
||||||
""")
|
""")
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
ext:
|
ext:
|
||||||
extends:
|
extends:
|
||||||
file: common/base.yml
|
file: common/base.yml
|
||||||
|
@ -4748,14 +4754,16 @@ class ExtendsTest(unittest.TestCase):
|
||||||
- THING
|
- THING
|
||||||
- TEST_ONE=top
|
- TEST_ONE=top
|
||||||
""")
|
""")
|
||||||
commondir.join('envs').write("""
|
with open(os.path.join(commondir, 'envs'), mode="w") as envs_fh:
|
||||||
|
envs_fh.write("""
|
||||||
COMMON_ENV_FILE
|
COMMON_ENV_FILE
|
||||||
TEST_ONE=common-env-file
|
TEST_ONE=common-env-file
|
||||||
TEST_TWO=common-env-file
|
TEST_TWO=common-env-file
|
||||||
TEST_THREE=common-env-file
|
TEST_THREE=common-env-file
|
||||||
TEST_FOUR=common-env-file
|
TEST_FOUR=common-env-file
|
||||||
""")
|
""")
|
||||||
tmpdir.join('envs').write("""
|
with open(os.path.join(tmpdir, 'envs'), mode="w") as envs_fh:
|
||||||
|
envs_fh.write("""
|
||||||
TOP_ENV_FILE
|
TOP_ENV_FILE
|
||||||
TEST_ONE=top-env-file
|
TEST_ONE=top-env-file
|
||||||
TEST_TWO=top-env-file
|
TEST_TWO=top-env-file
|
||||||
|
@ -4783,14 +4791,15 @@ class ExtendsTest(unittest.TestCase):
|
||||||
os.environ['THING'] = 'thing'
|
os.environ['THING'] = 'thing'
|
||||||
os.environ['COMMON_ENV_FILE'] = 'secret'
|
os.environ['COMMON_ENV_FILE'] = 'secret'
|
||||||
os.environ['TOP_ENV_FILE'] = 'secret'
|
os.environ['TOP_ENV_FILE'] = 'secret'
|
||||||
config = load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
config = load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
|
|
||||||
assert config == expected
|
assert config == expected
|
||||||
|
|
||||||
def test_extends_with_mixed_versions_is_error(self):
|
def test_extends_with_mixed_versions_is_error(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_mixed_version')
|
tmpdir = tempfile.mkdtemp('test_extends_with_mixed_version')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
version: "2"
|
version: "2"
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
|
@ -4799,20 +4808,22 @@ class ExtendsTest(unittest.TestCase):
|
||||||
service: base
|
service: base
|
||||||
image: busybox
|
image: busybox
|
||||||
""")
|
""")
|
||||||
tmpdir.join('base.yml').write("""
|
with open(os.path.join(tmpdir, 'base.yml'), mode="w") as base_fh:
|
||||||
|
base_fh.write("""
|
||||||
base:
|
base:
|
||||||
volumes: ['/foo']
|
volumes: ['/foo']
|
||||||
ports: ['3000:3000']
|
ports: ['3000:3000']
|
||||||
""")
|
""")
|
||||||
|
|
||||||
with pytest.raises(ConfigurationError) as exc:
|
with pytest.raises(ConfigurationError) as exc:
|
||||||
load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
assert 'Version mismatch' in exc.exconly()
|
assert 'Version mismatch' in exc.exconly()
|
||||||
|
|
||||||
def test_extends_with_defined_version_passes(self):
|
def test_extends_with_defined_version_passes(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_defined_version')
|
tmpdir = tempfile.mkdtemp('test_extends_with_defined_version')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
version: "2"
|
version: "2"
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
|
@ -4821,7 +4832,8 @@ class ExtendsTest(unittest.TestCase):
|
||||||
service: base
|
service: base
|
||||||
image: busybox
|
image: busybox
|
||||||
""")
|
""")
|
||||||
tmpdir.join('base.yml').write("""
|
with open(os.path.join(tmpdir, 'base.yml'), mode="w") as base_fh:
|
||||||
|
base_fh.write("""
|
||||||
version: "2"
|
version: "2"
|
||||||
services:
|
services:
|
||||||
base:
|
base:
|
||||||
|
@ -4830,13 +4842,14 @@ class ExtendsTest(unittest.TestCase):
|
||||||
command: top
|
command: top
|
||||||
""")
|
""")
|
||||||
|
|
||||||
service = load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
service = load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
assert service[0]['command'] == "top"
|
assert service[0]['command'] == "top"
|
||||||
|
|
||||||
def test_extends_with_depends_on(self):
|
def test_extends_with_depends_on(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_depends_on')
|
tmpdir = tempfile.mkdtemp('test_extends_with_depends_on')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
version: "2"
|
version: "2"
|
||||||
services:
|
services:
|
||||||
base:
|
base:
|
||||||
|
@ -4848,7 +4861,7 @@ class ExtendsTest(unittest.TestCase):
|
||||||
other:
|
other:
|
||||||
image: example
|
image: example
|
||||||
""")
|
""")
|
||||||
services = load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
services = load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
assert service_sort(services)[2]['depends_on'] == {
|
assert service_sort(services)[2]['depends_on'] == {
|
||||||
'other': {'condition': 'service_started'}
|
'other': {'condition': 'service_started'}
|
||||||
}
|
}
|
||||||
|
@ -4867,9 +4880,10 @@ class ExtendsTest(unittest.TestCase):
|
||||||
}]
|
}]
|
||||||
|
|
||||||
def test_extends_with_ports(self):
|
def test_extends_with_ports(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_ports')
|
tmpdir = tempfile.mkdtemp('test_extends_with_ports')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
version: '2'
|
version: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
@ -4882,16 +4896,17 @@ class ExtendsTest(unittest.TestCase):
|
||||||
extends:
|
extends:
|
||||||
service: a
|
service: a
|
||||||
""")
|
""")
|
||||||
services = load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
services = load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
|
|
||||||
assert len(services) == 2
|
assert len(services) == 2
|
||||||
for svc in services:
|
for svc in services:
|
||||||
assert svc['ports'] == [types.ServicePort('80', None, None, None, None)]
|
assert svc['ports'] == [types.ServicePort('80', None, None, None, None)]
|
||||||
|
|
||||||
def test_extends_with_security_opt(self):
|
def test_extends_with_security_opt(self):
|
||||||
tmpdir = py.test.ensuretemp('test_extends_with_ports')
|
tmpdir = tempfile.mkdtemp('test_extends_with_ports')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
tmpdir.join('docker-compose.yml').write("""
|
with open(os.path.join(tmpdir, 'docker-compose.yml'), mode="w") as docker_compose_fh:
|
||||||
|
docker_compose_fh.write("""
|
||||||
version: '2'
|
version: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
@ -4905,7 +4920,7 @@ class ExtendsTest(unittest.TestCase):
|
||||||
extends:
|
extends:
|
||||||
service: a
|
service: a
|
||||||
""")
|
""")
|
||||||
services = load_from_filename(str(tmpdir.join('docker-compose.yml')))
|
services = load_from_filename(str(os.path.join(tmpdir, 'docker-compose.yml')))
|
||||||
assert len(services) == 2
|
assert len(services) == 2
|
||||||
for svc in services:
|
for svc in services:
|
||||||
assert types.SecurityOpt.parse('apparmor:unconfined') in svc['security_opt']
|
assert types.SecurityOpt.parse('apparmor:unconfined') in svc['security_opt']
|
||||||
|
|
|
@ -4,6 +4,9 @@ from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import codecs
|
import codecs
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import tempfile
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
@ -46,19 +49,19 @@ class EnvironmentTest(unittest.TestCase):
|
||||||
assert env.get_boolean('UNDEFINED') is False
|
assert env.get_boolean('UNDEFINED') is False
|
||||||
|
|
||||||
def test_env_vars_from_file_bom(self):
|
def test_env_vars_from_file_bom(self):
|
||||||
tmpdir = pytest.ensuretemp('env_file')
|
tmpdir = tempfile.mkdtemp('env_file')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
with codecs.open('{}/bom.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:
|
with codecs.open('{}/bom.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:
|
||||||
f.write('\ufeffPARK_BOM=박봄\n')
|
f.write('\ufeffPARK_BOM=박봄\n')
|
||||||
assert env_vars_from_file(str(tmpdir.join('bom.env'))) == {
|
assert env_vars_from_file(str(os.path.join(tmpdir, 'bom.env'))) == {
|
||||||
'PARK_BOM': '박봄'
|
'PARK_BOM': '박봄'
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_env_vars_from_file_whitespace(self):
|
def test_env_vars_from_file_whitespace(self):
|
||||||
tmpdir = pytest.ensuretemp('env_file')
|
tmpdir = tempfile.mkdtemp('env_file')
|
||||||
self.addCleanup(tmpdir.remove)
|
self.addCleanup(shutil.rmtree, tmpdir)
|
||||||
with codecs.open('{}/whitespace.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:
|
with codecs.open('{}/whitespace.env'.format(str(tmpdir)), 'w', encoding='utf-8') as f:
|
||||||
f.write('WHITESPACE =yes\n')
|
f.write('WHITESPACE =yes\n')
|
||||||
with pytest.raises(ConfigurationError) as exc:
|
with pytest.raises(ConfigurationError) as exc:
|
||||||
env_vars_from_file(str(tmpdir.join('whitespace.env')))
|
env_vars_from_file(str(os.path.join(tmpdir, 'whitespace.env')))
|
||||||
assert 'environment variable' in exc.exconly()
|
assert 'environment variable' in exc.exconly()
|
||||||
|
|
Loading…
Reference in New Issue