Add v2 configuration tests
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
df6877a277
commit
ecef5d37a7
5 changed files with 251 additions and 31 deletions
|
|
@ -1,5 +1,7 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import random
|
||||
|
||||
from .testcases import DockerClientTestCase
|
||||
from compose.cli.docker_client import docker_client
|
||||
from compose.config import config
|
||||
|
|
@ -508,3 +510,81 @@ class ProjectTest(DockerClientTestCase):
|
|||
project.up()
|
||||
service = project.get_service('web')
|
||||
self.assertEqual(len(service.containers()), 1)
|
||||
|
||||
def test_project_up_volumes(self):
|
||||
vol_name = 'composetests_{0:x}'.format(random.getrandbits(32))
|
||||
config_data = config.Config(
|
||||
2, [{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest',
|
||||
'command': 'top'
|
||||
}], {vol_name: {'driver': 'local'}}
|
||||
)
|
||||
|
||||
project = Project.from_config(
|
||||
name='composetest',
|
||||
config_data=config_data, client=self.client
|
||||
)
|
||||
project.up()
|
||||
self.assertEqual(len(project.containers()), 1)
|
||||
|
||||
volume_data = self.client.inspect_volume(vol_name)
|
||||
self.assertEqual(volume_data['Name'], vol_name)
|
||||
self.assertEqual(volume_data['Driver'], 'local')
|
||||
|
||||
def test_initialize_volumes(self):
|
||||
vol_name = 'composetests_{0:x}'.format(random.getrandbits(32))
|
||||
config_data = config.Config(
|
||||
2, [{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest',
|
||||
'command': 'top'
|
||||
}], {vol_name: {}}
|
||||
)
|
||||
|
||||
project = Project.from_config(
|
||||
name='composetest',
|
||||
config_data=config_data, client=self.client
|
||||
)
|
||||
project.initialize_volumes()
|
||||
|
||||
volume_data = self.client.inspect_volume(vol_name)
|
||||
self.assertEqual(volume_data['Name'], vol_name)
|
||||
self.assertEqual(volume_data['Driver'], 'local')
|
||||
|
||||
def test_project_up_implicit_volume_driver(self):
|
||||
vol_name = 'composetests_{0:x}'.format(random.getrandbits(32))
|
||||
config_data = config.Config(
|
||||
2, [{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest',
|
||||
'command': 'top'
|
||||
}], {vol_name: {}}
|
||||
)
|
||||
|
||||
project = Project.from_config(
|
||||
name='composetest',
|
||||
config_data=config_data, client=self.client
|
||||
)
|
||||
project.up()
|
||||
|
||||
volume_data = self.client.inspect_volume(vol_name)
|
||||
self.assertEqual(volume_data['Name'], vol_name)
|
||||
self.assertEqual(volume_data['Driver'], 'local')
|
||||
|
||||
def test_project_up_invalid_volume_driver(self):
|
||||
vol_name = 'composetests_{0:x}'.format(random.getrandbits(32))
|
||||
config_data = config.Config(
|
||||
2, [{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest',
|
||||
'command': 'top'
|
||||
}], {vol_name: {'driver': 'foobar'}}
|
||||
)
|
||||
|
||||
project = Project.from_config(
|
||||
name='composetest',
|
||||
config_data=config_data, client=self.client
|
||||
)
|
||||
with self.assertRaises(config.ConfigurationError):
|
||||
project.initialize_volumes()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue