diff options
| author | fermayo <fermayo@gmail.com> | 2016-08-25 13:34:54 +0200 |
|---|---|---|
| committer | fermayo <fermayo@gmail.com> | 2016-08-25 13:36:02 +0200 |
| commit | 5bedd32a6942e89eacd4f63298551404856be5fc (patch) | |
| tree | 0b131a60e1ad5c5f1c8e90d1b552ede24832ba65 | |
| parent | fb41965272b5c0e7c911ee268270b92e2da06c1d (diff) | |
| download | docker-py-5bedd32a6942e89eacd4f63298551404856be5fc.tar.gz | |
Fix creating containers with env vars with unicode characters
Signed-off-by: Fernando Mayo <fernando@docker.com>
| -rw-r--r-- | docker/utils/utils.py | 2 | ||||
| -rw-r--r-- | tests/unit/container_test.py | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py index a5fbe0b..8385a76 100644 --- a/docker/utils/utils.py +++ b/docker/utils/utils.py @@ -993,7 +993,7 @@ def format_environment(environment): def format_env(key, value): if value is None: return key - return '{key}={value}'.format(key=key, value=value) + return u'{key}={value}'.format(key=key, value=value) return [format_env(*var) for var in six.iteritems(environment)] diff --git a/tests/unit/container_test.py b/tests/unit/container_test.py index c480462..3cea42f 100644 --- a/tests/unit/container_test.py +++ b/tests/unit/container_test.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + import datetime import json import signal @@ -1155,6 +1157,24 @@ class CreateContainerTest(DockerClientTest): args[1]['timeout'], DEFAULT_TIMEOUT_SECONDS ) + def test_create_container_with_unicode_envvars(self): + envvars_dict = { + 'foo': u'☃', + } + + expected = [ + u'foo=☃' + ] + + self.client.create_container( + 'busybox', 'true', + environment=envvars_dict, + ) + + args = fake_request.call_args + self.assertEqual(args[0][1], url_prefix + 'containers/create') + self.assertEqual(json.loads(args[1]['data'])['Env'], expected) + class ContainerTest(DockerClientTest): def test_list_containers(self): |
