mirror of
https://github.com/docker/compose.git
synced 2025-07-26 07:04:32 +02:00
Move config hash tests to service_test.py
Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
cddbe9fbf1
commit
718ae13ae1
@ -14,6 +14,7 @@ from .. import mock
|
|||||||
from .testcases import DockerClientTestCase
|
from .testcases import DockerClientTestCase
|
||||||
from .testcases import pull_busybox
|
from .testcases import pull_busybox
|
||||||
from compose import __version__
|
from compose import __version__
|
||||||
|
from compose.const import LABEL_CONFIG_HASH
|
||||||
from compose.const import LABEL_CONTAINER_NUMBER
|
from compose.const import LABEL_CONTAINER_NUMBER
|
||||||
from compose.const import LABEL_ONE_OFF
|
from compose.const import LABEL_ONE_OFF
|
||||||
from compose.const import LABEL_PROJECT
|
from compose.const import LABEL_PROJECT
|
||||||
@ -23,6 +24,7 @@ from compose.container import Container
|
|||||||
from compose.service import build_extra_hosts
|
from compose.service import build_extra_hosts
|
||||||
from compose.service import ConfigError
|
from compose.service import ConfigError
|
||||||
from compose.service import ConvergencePlan
|
from compose.service import ConvergencePlan
|
||||||
|
from compose.service import ConvergenceStrategy
|
||||||
from compose.service import Net
|
from compose.service import Net
|
||||||
from compose.service import Service
|
from compose.service import Service
|
||||||
from compose.service import VolumeFromSpec
|
from compose.service import VolumeFromSpec
|
||||||
@ -929,3 +931,38 @@ class ServiceTest(DockerClientTestCase):
|
|||||||
|
|
||||||
self.assertEqual(set(service.containers(stopped=True)), set([original, duplicate]))
|
self.assertEqual(set(service.containers(stopped=True)), set([original, duplicate]))
|
||||||
self.assertEqual(set(service.duplicate_containers()), set([duplicate]))
|
self.assertEqual(set(service.duplicate_containers()), set([duplicate]))
|
||||||
|
|
||||||
|
|
||||||
|
def converge(service,
|
||||||
|
strategy=ConvergenceStrategy.changed,
|
||||||
|
do_build=True):
|
||||||
|
"""Create a converge plan from a strategy and execute the plan."""
|
||||||
|
plan = service.convergence_plan(strategy)
|
||||||
|
return service.execute_convergence_plan(plan, do_build=do_build, timeout=1)
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigHashTest(DockerClientTestCase):
|
||||||
|
def test_no_config_hash_when_one_off(self):
|
||||||
|
web = self.create_service('web')
|
||||||
|
container = web.create_container(one_off=True)
|
||||||
|
self.assertNotIn(LABEL_CONFIG_HASH, container.labels)
|
||||||
|
|
||||||
|
def test_no_config_hash_when_overriding_options(self):
|
||||||
|
web = self.create_service('web')
|
||||||
|
container = web.create_container(environment={'FOO': '1'})
|
||||||
|
self.assertNotIn(LABEL_CONFIG_HASH, container.labels)
|
||||||
|
|
||||||
|
def test_config_hash_with_custom_labels(self):
|
||||||
|
web = self.create_service('web', labels={'foo': '1'})
|
||||||
|
container = converge(web)[0]
|
||||||
|
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
||||||
|
self.assertIn('foo', container.labels)
|
||||||
|
|
||||||
|
def test_config_hash_sticks_around(self):
|
||||||
|
web = self.create_service('web', command=["top"])
|
||||||
|
container = converge(web)[0]
|
||||||
|
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
||||||
|
|
||||||
|
web = self.create_service('web', command=["top", "-d", "1"])
|
||||||
|
container = converge(web)[0]
|
||||||
|
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
||||||
|
@ -10,7 +10,6 @@ import tempfile
|
|||||||
|
|
||||||
from .testcases import DockerClientTestCase
|
from .testcases import DockerClientTestCase
|
||||||
from compose.config import config
|
from compose.config import config
|
||||||
from compose.const import LABEL_CONFIG_HASH
|
|
||||||
from compose.project import Project
|
from compose.project import Project
|
||||||
from compose.service import ConvergenceStrategy
|
from compose.service import ConvergenceStrategy
|
||||||
|
|
||||||
@ -180,14 +179,6 @@ class ProjectWithDependenciesTest(ProjectTestCase):
|
|||||||
self.assertEqual(len(containers), 2)
|
self.assertEqual(len(containers), 2)
|
||||||
|
|
||||||
|
|
||||||
def converge(service,
|
|
||||||
strategy=ConvergenceStrategy.changed,
|
|
||||||
do_build=True):
|
|
||||||
"""Create a converge plan from a strategy and execute the plan."""
|
|
||||||
plan = service.convergence_plan(strategy)
|
|
||||||
return service.execute_convergence_plan(plan, do_build=do_build, timeout=1)
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceStateTest(DockerClientTestCase):
|
class ServiceStateTest(DockerClientTestCase):
|
||||||
"""Test cases for Service.convergence_plan."""
|
"""Test cases for Service.convergence_plan."""
|
||||||
|
|
||||||
@ -278,30 +269,3 @@ class ServiceStateTest(DockerClientTestCase):
|
|||||||
self.assertEqual(('recreate', [container]), web.convergence_plan())
|
self.assertEqual(('recreate', [container]), web.convergence_plan())
|
||||||
finally:
|
finally:
|
||||||
shutil.rmtree(context)
|
shutil.rmtree(context)
|
||||||
|
|
||||||
|
|
||||||
class ConfigHashTest(DockerClientTestCase):
|
|
||||||
def test_no_config_hash_when_one_off(self):
|
|
||||||
web = self.create_service('web')
|
|
||||||
container = web.create_container(one_off=True)
|
|
||||||
self.assertNotIn(LABEL_CONFIG_HASH, container.labels)
|
|
||||||
|
|
||||||
def test_no_config_hash_when_overriding_options(self):
|
|
||||||
web = self.create_service('web')
|
|
||||||
container = web.create_container(environment={'FOO': '1'})
|
|
||||||
self.assertNotIn(LABEL_CONFIG_HASH, container.labels)
|
|
||||||
|
|
||||||
def test_config_hash_with_custom_labels(self):
|
|
||||||
web = self.create_service('web', labels={'foo': '1'})
|
|
||||||
container = converge(web)[0]
|
|
||||||
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
|
||||||
self.assertIn('foo', container.labels)
|
|
||||||
|
|
||||||
def test_config_hash_sticks_around(self):
|
|
||||||
web = self.create_service('web', command=["top"])
|
|
||||||
container = converge(web)[0]
|
|
||||||
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
|
||||||
|
|
||||||
web = self.create_service('web', command=["top", "-d", "1"])
|
|
||||||
container = converge(web)[0]
|
|
||||||
self.assertIn(LABEL_CONFIG_HASH, container.labels)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user