summaryrefslogtreecommitdiff
path: root/tests/unit/config/config_test.py
diff options
context:
space:
mode:
authorJason Pleau <jason@jpleau.ca>2018-04-10 22:11:26 -0400
committerJason Pleau <jason@jpleau.ca>2018-04-10 22:11:26 -0400
commitfd2e9ebf85f9a2d74cb3fbc1bf192411ee53f7a3 (patch)
tree0487341ef91eae2f88572e23103fe4c2e2ec784c /tests/unit/config/config_test.py
parent6136c5daf397798bd6f5a4b2e518c3aed482eb21 (diff)
parent19c331f0b3635bd24751a0e05fe26d9ca5f5e80d (diff)
Update upstream source from tag 'upstream/1.21.0'
Update to upstream version '1.21.0' with Debian dir 61b1e7e5bdf2ec0aea565ef76800bbd659b048ac
Diffstat (limited to 'tests/unit/config/config_test.py')
-rw-r--r--tests/unit/config/config_test.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py
index 7a9bb944..8a75648a 100644
--- a/tests/unit/config/config_test.py
+++ b/tests/unit/config/config_test.py
@@ -3,6 +3,7 @@ from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
+import codecs
import os
import shutil
import tempfile
@@ -1623,6 +1624,21 @@ class ConfigTest(unittest.TestCase):
assert 'line 3, column 32' in exc.exconly()
+ def test_load_yaml_with_bom(self):
+ tmpdir = py.test.ensuretemp('bom_yaml')
+ self.addCleanup(tmpdir.remove)
+ bom_yaml = tmpdir.join('docker-compose.yml')
+ with codecs.open(str(bom_yaml), 'w', encoding='utf-8') as f:
+ f.write('''\ufeff
+ version: '2.3'
+ volumes:
+ park_bom:
+ ''')
+ assert config.load_yaml(str(bom_yaml)) == {
+ 'version': '2.3',
+ 'volumes': {'park_bom': None}
+ }
+
def test_validate_extra_hosts_invalid(self):
with pytest.raises(ConfigurationError) as exc:
config.load(build_config_details({
@@ -4927,6 +4943,18 @@ class SerializeTest(unittest.TestCase):
serialized_config = yaml.load(serialize_config(config_dict))
assert '8080:80/tcp' in serialized_config['services']['web']['ports']
+ def test_serialize_ports_with_ext_ip(self):
+ config_dict = config.Config(version=V3_5, services=[
+ {
+ 'ports': [types.ServicePort('80', '8080', None, None, '127.0.0.1')],
+ 'image': 'alpine',
+ 'name': 'web'
+ }
+ ], volumes={}, networks={}, secrets={}, configs={})
+
+ serialized_config = yaml.load(serialize_config(config_dict))
+ assert '127.0.0.1:8080:80/tcp' in serialized_config['services']['web']['ports']
+
def test_serialize_configs(self):
service_dict = {
'image': 'example/web',