浏览代码

Unit tests passing again.

Signed-off-by: Daniel Nephin <[email protected]>
Daniel Nephin 10 年之前
父节点
当前提交
feaa4a5f1a
共有 5 个文件被更改,包括 19 次插入20 次删除
  1. 1 1
      compose/config/validation.py
  2. 2 2
      compose/service.py
  3. 2 2
      compose/utils.py
  4. 13 14
      tests/unit/config_test.py
  5. 1 1
      tests/unit/service_test.py

+ 1 - 1
compose/config/validation.py

@@ -150,7 +150,7 @@ def process_errors(errors):
                 config_key = error.path[0]
                 required.append("Service '{}' option '{}' is invalid, {}".format(service_name, config_key, _clean_error_message(error.message)))
             elif error.validator == 'dependencies':
-                dependency_key = error.validator_value.keys()[0]
+                dependency_key = list(error.validator_value.keys())[0]
                 required_keys = ",".join(error.validator_value[dependency_key])
                 required.append("Invalid '{}' configuration for '{}' service: when defining '{}' you must set '{}' as well".format(
                     dependency_key, service_name, dependency_key, required_keys))

+ 2 - 2
compose/service.py

@@ -103,11 +103,11 @@ class Service(object):
     def containers(self, stopped=False, one_off=False, filters={}):
         filters.update({'label': self.labels(one_off=one_off)})
 
-        containers = filter(None, [
+        containers = list(filter(None, [
             Container.from_ps(self.client, container)
             for container in self.client.containers(
                 all=stopped,
-                filters=filters)])
+                filters=filters)]))
 
         if not containers:
             check_for_legacy_containers(

+ 2 - 2
compose/utils.py

@@ -3,11 +3,11 @@ import hashlib
 import json
 import logging
 import sys
-from Queue import Empty
-from Queue import Queue
 from threading import Thread
 
 from docker.errors import APIError
+from six.moves.queue import Empty
+from six.moves.queue import Queue
 
 
 log = logging.getLogger(__name__)

+ 13 - 14
tests/unit/config_test.py

@@ -18,6 +18,10 @@ def make_service_dict(name, service_dict, working_dir):
     return config.ServiceLoader(working_dir=working_dir).make_service_dict(name, service_dict)
 
 
+def service_sort(services):
+    return sorted(services, key=itemgetter('name'))
+
+
 class ConfigTest(unittest.TestCase):
     def test_load(self):
         service_dicts = config.load(
@@ -32,8 +36,8 @@ class ConfigTest(unittest.TestCase):
         )
 
         self.assertEqual(
-            sorted(service_dicts, key=itemgetter('name')),
-            sorted([
+            service_sort(service_dicts),
+            service_sort([
                 {
                     'name': 'bar',
                     'image': 'busybox',
@@ -43,7 +47,7 @@ class ConfigTest(unittest.TestCase):
                     'name': 'foo',
                     'image': 'busybox',
                 }
-            ], key=itemgetter('name'))
+            ])
         )
 
     def test_load_throws_error_when_not_dict(self):
@@ -684,12 +688,7 @@ class ExtendsTest(unittest.TestCase):
     def test_extends(self):
         service_dicts = load_from_filename('tests/fixtures/extends/docker-compose.yml')
 
-        service_dicts = sorted(
-            service_dicts,
-            key=lambda sd: sd['name'],
-        )
-
-        self.assertEqual(service_dicts, [
+        self.assertEqual(service_sort(service_dicts), service_sort([
             {
                 'name': 'mydb',
                 'image': 'busybox',
@@ -706,7 +705,7 @@ class ExtendsTest(unittest.TestCase):
                     "BAZ": "2",
                 },
             }
-        ])
+        ]))
 
     def test_nested(self):
         service_dicts = load_from_filename('tests/fixtures/extends/nested.yml')
@@ -728,7 +727,7 @@ class ExtendsTest(unittest.TestCase):
         We specify a 'file' key that is the filename we're already in.
         """
         service_dicts = load_from_filename('tests/fixtures/extends/specify-file-as-self.yml')
-        self.assertEqual(service_dicts, [
+        self.assertEqual(service_sort(service_dicts), service_sort([
             {
                 'environment':
                 {
@@ -749,7 +748,7 @@ class ExtendsTest(unittest.TestCase):
                 'image': 'busybox',
                 'name': 'web'
             }
-        ])
+        ]))
 
     def test_circular(self):
         try:
@@ -856,7 +855,7 @@ class ExtendsTest(unittest.TestCase):
         config is valid and correctly extends from itself.
         """
         service_dicts = load_from_filename('tests/fixtures/extends/no-file-specified.yml')
-        self.assertEqual(service_dicts, [
+        self.assertEqual(service_sort(service_dicts), service_sort([
             {
                 'name': 'myweb',
                 'image': 'busybox',
@@ -872,7 +871,7 @@ class ExtendsTest(unittest.TestCase):
                     "BAZ": "3",
                 }
             }
-        ])
+        ]))
 
     def test_blacklisted_options(self):
         def load_config():

+ 1 - 1
tests/unit/service_test.py

@@ -34,7 +34,7 @@ class ServiceTest(unittest.TestCase):
     def test_containers(self):
         service = Service('db', self.mock_client, 'myproject', image='foo')
         self.mock_client.containers.return_value = []
-        self.assertEqual(service.containers(), [])
+        self.assertEqual(list(service.containers()), [])
 
     def test_containers_with_containers(self):
         self.mock_client.containers.return_value = [