Changeset View
Changeset View
Standalone View
Standalone View
files/0001-Support-PyYAML-5.1.patch
- This file was added.
| From 6d6bf88d9a400cd1b4c99626e307a7b53d746d5a Mon Sep 17 00:00:00 2001 | |||||
| From: Pierre-Yves <pyu@riseup.net> | |||||
| Date: Fri, 16 Aug 2019 22:08:55 +0200 | |||||
| Subject: [PATCH] Support PyYAML 5.1 | |||||
| Signed-off-by: Pierre-Yves <pyu@riseup.net> | |||||
| --- | |||||
| setup.py | 2 +- | |||||
| tests/acceptance/cli_test.py | 28 ++++++++++++++-------------- | |||||
| tests/unit/config/config_test.py | 20 ++++++++++---------- | |||||
| 3 files changed, 25 insertions(+), 25 deletions(-) | |||||
| diff --git a/setup.py b/setup.py | |||||
| index a4020df..1c1e06f 100644 | |||||
| --- a/setup.py | |||||
| +++ b/setup.py | |||||
| @@ -32,7 +32,7 @@ def find_version(*file_paths): | |||||
| install_requires = [ | |||||
| 'cached-property >= 1.2.0, < 2', | |||||
| 'docopt >= 0.6.1, < 1', | |||||
| - 'PyYAML >= 3.10, < 5', | |||||
| + 'PyYAML >= 3.10', | |||||
| 'requests >= 2.20.0, < 3', | |||||
| 'texttable >= 0.9.0, < 2', | |||||
| 'websocket-client >= 0.32.0, < 1', | |||||
| diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py | |||||
| index 77b46c2..48e3636 100644 | |||||
| --- a/tests/acceptance/cli_test.py | |||||
| +++ b/tests/acceptance/cli_test.py | |||||
| @@ -257,7 +257,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| # assert there are no python objects encoded in the output | |||||
| assert '!!' not in result.stdout | |||||
| - output = yaml.load(result.stdout) | |||||
| + output = yaml.safe_load(result.stdout) | |||||
| expected = { | |||||
| 'version': '2.0', | |||||
| 'volumes': {'data': {'driver': 'local'}}, | |||||
| @@ -282,7 +282,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_restart(self): | |||||
| self.base_dir = 'tests/fixtures/restart' | |||||
| result = self.dispatch(['config']) | |||||
| - assert yaml.load(result.stdout) == { | |||||
| + assert yaml.safe_load(result.stdout) == { | |||||
| 'version': '2.0', | |||||
| 'services': { | |||||
| 'never': { | |||||
| @@ -311,7 +311,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_network(self): | |||||
| self.base_dir = 'tests/fixtures/networks' | |||||
| result = self.dispatch(['-f', 'external-networks.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'networks' in json_result | |||||
| assert json_result['networks'] == { | |||||
| 'networks_foo': { | |||||
| @@ -325,7 +325,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_with_dot_env(self): | |||||
| self.base_dir = 'tests/fixtures/default-env-file' | |||||
| result = self.dispatch(['config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert json_result == { | |||||
| 'services': { | |||||
| 'web': { | |||||
| @@ -340,7 +340,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_with_env_file(self): | |||||
| self.base_dir = 'tests/fixtures/default-env-file' | |||||
| result = self.dispatch(['--env-file', '.env2', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert json_result == { | |||||
| 'services': { | |||||
| 'web': { | |||||
| @@ -355,7 +355,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_with_dot_env_and_override_dir(self): | |||||
| self.base_dir = 'tests/fixtures/default-env-file' | |||||
| result = self.dispatch(['--project-directory', 'alt/', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert json_result == { | |||||
| 'services': { | |||||
| 'web': { | |||||
| @@ -370,7 +370,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_volume_v2(self): | |||||
| self.base_dir = 'tests/fixtures/volumes' | |||||
| result = self.dispatch(['-f', 'external-volumes-v2.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'volumes' in json_result | |||||
| assert json_result['volumes'] == { | |||||
| 'foo': { | |||||
| @@ -386,7 +386,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_volume_v2_x(self): | |||||
| self.base_dir = 'tests/fixtures/volumes' | |||||
| result = self.dispatch(['-f', 'external-volumes-v2-x.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'volumes' in json_result | |||||
| assert json_result['volumes'] == { | |||||
| 'foo': { | |||||
| @@ -402,7 +402,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_volume_v3_x(self): | |||||
| self.base_dir = 'tests/fixtures/volumes' | |||||
| result = self.dispatch(['-f', 'external-volumes-v3-x.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'volumes' in json_result | |||||
| assert json_result['volumes'] == { | |||||
| 'foo': { | |||||
| @@ -418,7 +418,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_volume_v3_4(self): | |||||
| self.base_dir = 'tests/fixtures/volumes' | |||||
| result = self.dispatch(['-f', 'external-volumes-v3-4.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'volumes' in json_result | |||||
| assert json_result['volumes'] == { | |||||
| 'foo': { | |||||
| @@ -434,7 +434,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_external_network_v3_5(self): | |||||
| self.base_dir = 'tests/fixtures/networks' | |||||
| result = self.dispatch(['-f', 'external-networks-v3-5.yml', 'config']) | |||||
| - json_result = yaml.load(result.stdout) | |||||
| + json_result = yaml.safe_load(result.stdout) | |||||
| assert 'networks' in json_result | |||||
| assert json_result['networks'] == { | |||||
| 'foo': { | |||||
| @@ -450,7 +450,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| def test_config_v1(self): | |||||
| self.base_dir = 'tests/fixtures/v1-config' | |||||
| result = self.dispatch(['config']) | |||||
| - assert yaml.load(result.stdout) == { | |||||
| + assert yaml.safe_load(result.stdout) == { | |||||
| 'version': '2.1', | |||||
| 'services': { | |||||
| 'net': { | |||||
| @@ -475,7 +475,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| self.base_dir = 'tests/fixtures/v3-full' | |||||
| result = self.dispatch(['config']) | |||||
| - assert yaml.load(result.stdout) == { | |||||
| + assert yaml.safe_load(result.stdout) == { | |||||
| 'version': '3.5', | |||||
| 'volumes': { | |||||
| 'foobar': { | |||||
| @@ -552,7 +552,7 @@ class CLITestCase(DockerClientTestCase): | |||||
| self.base_dir = 'tests/fixtures/compatibility-mode' | |||||
| result = self.dispatch(['--compatibility', 'config']) | |||||
| - assert yaml.load(result.stdout) == { | |||||
| + assert yaml.safe_load(result.stdout) == { | |||||
| 'version': '2.3', | |||||
| 'volumes': {'foo': {'driver': 'default'}}, | |||||
| 'networks': {'bar': {}}, | |||||
| diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py | |||||
| index b583422..7726c0a 100644 | |||||
| --- a/tests/unit/config/config_test.py | |||||
| +++ b/tests/unit/config/config_test.py | |||||
| @@ -5031,7 +5031,7 @@ class HealthcheckTest(unittest.TestCase): | |||||
| }) | |||||
| ) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['test'] | |||||
| assert serialized_service['healthcheck'] == { | |||||
| @@ -5058,7 +5058,7 @@ class HealthcheckTest(unittest.TestCase): | |||||
| }) | |||||
| ) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['test'] | |||||
| assert serialized_service['healthcheck'] == { | |||||
| @@ -5265,7 +5265,7 @@ class SerializeTest(unittest.TestCase): | |||||
| 'secrets': secrets_dict | |||||
| })) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['web'] | |||||
| assert secret_sort(serialized_service['secrets']) == secret_sort(service_dict['secrets']) | |||||
| assert 'secrets' in serialized_config | |||||
| @@ -5280,7 +5280,7 @@ class SerializeTest(unittest.TestCase): | |||||
| } | |||||
| ], volumes={}, networks={}, secrets={}, configs={}) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| assert '8080:80/tcp' in serialized_config['services']['web']['ports'] | |||||
| def test_serialize_ports_with_ext_ip(self): | |||||
| @@ -5292,7 +5292,7 @@ class SerializeTest(unittest.TestCase): | |||||
| } | |||||
| ], volumes={}, networks={}, secrets={}, configs={}) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| assert '127.0.0.1:8080:80/tcp' in serialized_config['services']['web']['ports'] | |||||
| def test_serialize_configs(self): | |||||
| @@ -5320,7 +5320,7 @@ class SerializeTest(unittest.TestCase): | |||||
| 'configs': configs_dict | |||||
| })) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['web'] | |||||
| assert secret_sort(serialized_service['configs']) == secret_sort(service_dict['configs']) | |||||
| assert 'configs' in serialized_config | |||||
| @@ -5360,7 +5360,7 @@ class SerializeTest(unittest.TestCase): | |||||
| } | |||||
| config_dict = config.load(build_config_details(cfg)) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['web'] | |||||
| assert serialized_service['environment']['CURRENCY'] == '$$' | |||||
| assert serialized_service['command'] == 'echo $$FOO' | |||||
| @@ -5382,7 +5382,7 @@ class SerializeTest(unittest.TestCase): | |||||
| } | |||||
| config_dict = config.load(build_config_details(cfg), interpolate=False) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict, escape_dollar=False)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict, escape_dollar=False)) | |||||
| serialized_service = serialized_config['services']['web'] | |||||
| assert serialized_service['environment']['CURRENCY'] == '$' | |||||
| assert serialized_service['command'] == 'echo $FOO' | |||||
| @@ -5401,7 +5401,7 @@ class SerializeTest(unittest.TestCase): | |||||
| config_dict = config.load(build_config_details(cfg)) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_service = serialized_config['services']['web'] | |||||
| assert serialized_service['command'] == 'echo 十六夜 咲夜' | |||||
| @@ -5417,6 +5417,6 @@ class SerializeTest(unittest.TestCase): | |||||
| } | |||||
| config_dict = config.load(build_config_details(cfg)) | |||||
| - serialized_config = yaml.load(serialize_config(config_dict)) | |||||
| + serialized_config = yaml.safe_load(serialize_config(config_dict)) | |||||
| serialized_volume = serialized_config['volumes']['test'] | |||||
| assert serialized_volume['external'] is False | |||||
| -- | |||||
| 2.22.0 | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.