mirror of
https://github.com/docker/compose.git
synced 2025-07-27 07:34:10 +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]
|
config_key = error.path[0]
|
||||||
required.append("Service '{}' option '{}' is invalid, {}".format(service_name, config_key, _clean_error_message(error.message)))
|
required.append("Service '{}' option '{}' is invalid, {}".format(service_name, config_key, _clean_error_message(error.message)))
|
||||||
elif error.validator == 'dependencies':
|
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_keys = ",".join(error.validator_value[dependency_key])
|
||||||
required.append("Invalid '{}' configuration for '{}' service: when defining '{}' you must set '{}' as well".format(
|
required.append("Invalid '{}' configuration for '{}' service: when defining '{}' you must set '{}' as well".format(
|
||||||
dependency_key, service_name, dependency_key, required_keys))
|
dependency_key, service_name, dependency_key, required_keys))
|
||||||
|
@ -103,11 +103,11 @@ class Service(object):
|
|||||||
def containers(self, stopped=False, one_off=False, filters={}):
|
def containers(self, stopped=False, one_off=False, filters={}):
|
||||||
filters.update({'label': self.labels(one_off=one_off)})
|
filters.update({'label': self.labels(one_off=one_off)})
|
||||||
|
|
||||||
containers = filter(None, [
|
containers = list(filter(None, [
|
||||||
Container.from_ps(self.client, container)
|
Container.from_ps(self.client, container)
|
||||||
for container in self.client.containers(
|
for container in self.client.containers(
|
||||||
all=stopped,
|
all=stopped,
|
||||||
filters=filters)])
|
filters=filters)]))
|
||||||
|
|
||||||
if not containers:
|
if not containers:
|
||||||
check_for_legacy_containers(
|
check_for_legacy_containers(
|
||||||
|
@ -3,11 +3,11 @@ import hashlib
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
from Queue import Empty
|
|
||||||
from Queue import Queue
|
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
|
|
||||||
from docker.errors import APIError
|
from docker.errors import APIError
|
||||||
|
from six.moves.queue import Empty
|
||||||
|
from six.moves.queue import Queue
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
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)
|
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):
|
class ConfigTest(unittest.TestCase):
|
||||||
def test_load(self):
|
def test_load(self):
|
||||||
service_dicts = config.load(
|
service_dicts = config.load(
|
||||||
@ -32,8 +36,8 @@ class ConfigTest(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
sorted(service_dicts, key=itemgetter('name')),
|
service_sort(service_dicts),
|
||||||
sorted([
|
service_sort([
|
||||||
{
|
{
|
||||||
'name': 'bar',
|
'name': 'bar',
|
||||||
'image': 'busybox',
|
'image': 'busybox',
|
||||||
@ -43,7 +47,7 @@ class ConfigTest(unittest.TestCase):
|
|||||||
'name': 'foo',
|
'name': 'foo',
|
||||||
'image': 'busybox',
|
'image': 'busybox',
|
||||||
}
|
}
|
||||||
], key=itemgetter('name'))
|
])
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_load_throws_error_when_not_dict(self):
|
def test_load_throws_error_when_not_dict(self):
|
||||||
@ -684,12 +688,7 @@ class ExtendsTest(unittest.TestCase):
|
|||||||
def test_extends(self):
|
def test_extends(self):
|
||||||
service_dicts = load_from_filename('tests/fixtures/extends/docker-compose.yml')
|
service_dicts = load_from_filename('tests/fixtures/extends/docker-compose.yml')
|
||||||
|
|
||||||
service_dicts = sorted(
|
self.assertEqual(service_sort(service_dicts), service_sort([
|
||||||
service_dicts,
|
|
||||||
key=lambda sd: sd['name'],
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(service_dicts, [
|
|
||||||
{
|
{
|
||||||
'name': 'mydb',
|
'name': 'mydb',
|
||||||
'image': 'busybox',
|
'image': 'busybox',
|
||||||
@ -706,7 +705,7 @@ class ExtendsTest(unittest.TestCase):
|
|||||||
"BAZ": "2",
|
"BAZ": "2",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
])
|
]))
|
||||||
|
|
||||||
def test_nested(self):
|
def test_nested(self):
|
||||||
service_dicts = load_from_filename('tests/fixtures/extends/nested.yml')
|
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.
|
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')
|
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':
|
'environment':
|
||||||
{
|
{
|
||||||
@ -749,7 +748,7 @@ class ExtendsTest(unittest.TestCase):
|
|||||||
'image': 'busybox',
|
'image': 'busybox',
|
||||||
'name': 'web'
|
'name': 'web'
|
||||||
}
|
}
|
||||||
])
|
]))
|
||||||
|
|
||||||
def test_circular(self):
|
def test_circular(self):
|
||||||
try:
|
try:
|
||||||
@ -856,7 +855,7 @@ class ExtendsTest(unittest.TestCase):
|
|||||||
config is valid and correctly extends from itself.
|
config is valid and correctly extends from itself.
|
||||||
"""
|
"""
|
||||||
service_dicts = load_from_filename('tests/fixtures/extends/no-file-specified.yml')
|
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',
|
'name': 'myweb',
|
||||||
'image': 'busybox',
|
'image': 'busybox',
|
||||||
@ -872,7 +871,7 @@ class ExtendsTest(unittest.TestCase):
|
|||||||
"BAZ": "3",
|
"BAZ": "3",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
])
|
]))
|
||||||
|
|
||||||
def test_blacklisted_options(self):
|
def test_blacklisted_options(self):
|
||||||
def load_config():
|
def load_config():
|
||||||
|
@ -34,7 +34,7 @@ class ServiceTest(unittest.TestCase):
|
|||||||
def test_containers(self):
|
def test_containers(self):
|
||||||
service = Service('db', self.mock_client, 'myproject', image='foo')
|
service = Service('db', self.mock_client, 'myproject', image='foo')
|
||||||
self.mock_client.containers.return_value = []
|
self.mock_client.containers.return_value = []
|
||||||
self.assertEqual(service.containers(), [])
|
self.assertEqual(list(service.containers()), [])
|
||||||
|
|
||||||
def test_containers_with_containers(self):
|
def test_containers_with_containers(self):
|
||||||
self.mock_client.containers.return_value = [
|
self.mock_client.containers.return_value = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user