mirror of
https://github.com/docker/compose.git
synced 2025-04-08 17:05:13 +02:00
Unit tests passing again.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
This commit is contained in:
parent
2943ac6812
commit
feaa4a5f1a
@ -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))
|
||||
|
@ -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(
|
||||
|
@ -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__)
|
||||
|
@ -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():
|
||||
|
@ -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 = [
|
||||
|
Loading…
x
Reference in New Issue
Block a user