Unit tests passing again.

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
This commit is contained in:
Daniel Nephin 2015-08-24 11:51:38 -04:00
parent 2943ac6812
commit feaa4a5f1a
5 changed files with 19 additions and 20 deletions

View File

@ -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))

View File

@ -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(

View File

@ -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__)

View File

@ -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():

View File

@ -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 = [