Add support for ro option in volumes_from

Fixes #1188

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2015-07-18 11:38:46 +02:00 • committed by Mazz Mosley
commit 5b55a08846
7 changed files with 97 additions and 35 deletions

View file

@ -6,6 +6,7 @@ from compose.const import LABEL_PROJECT
from compose.container import Container
from compose.project import Project
from compose.service import ConvergenceStrategy
from compose.service import VolumeFromSpec
def build_service_dicts(service_config):
@ -72,7 +73,7 @@ class ProjectTest(DockerClientTestCase):
)
db = project.get_service('db')
data = project.get_service('data')
self.assertEqual(db.volumes_from, [data])
self.assertEqual(db.volumes_from, [VolumeFromSpec(data, 'rw')])
def test_volumes_from_container(self):
data_container = Container.create(
@ -93,7 +94,7 @@ class ProjectTest(DockerClientTestCase):
client=self.client,
)
db = project.get_service('db')
self.assertEqual(db.volumes_from, [data_container])
self.assertEqual(db._get_volumes_from(), [data_container.id + ':rw'])
def test_net_from_service(self):
project = Project.from_dicts(

View file

@ -25,6 +25,7 @@ from compose.service import ConfigError
from compose.service import ConvergencePlan
from compose.service import Net
from compose.service import Service
from compose.service import VolumeFromSpec
def create_and_start_container(service, **override_options):
@ -272,12 +273,12 @@ class ServiceTest(DockerClientTestCase):
command=["top"],
labels={LABEL_PROJECT: 'composetest'},
)
host_service = self.create_service('host', volumes_from=[volume_service, volume_container_2])
host_service = self.create_service('host', volumes_from=[VolumeFromSpec(volume_service, 'rw'), VolumeFromSpec(volume_container_2, 'rw')])
host_container = host_service.create_container()
host_service.start_container(host_container)
self.assertIn(volume_container_1.id,
self.assertIn(volume_container_1.id + ':rw',
host_container.get('HostConfig.VolumesFrom'))
self.assertIn(volume_container_2.id,
self.assertIn(volume_container_2.id + ':rw',
host_container.get('HostConfig.VolumesFrom'))
def test_execute_convergence_plan_recreate(self):