WIP: rename Fig to Compose
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
7be8b4c06d
commit
2af7693e64
54 changed files with 199 additions and 211 deletions
5
tests/fixtures/commands-composefile/compose.yml
vendored
Normal file
5
tests/fixtures/commands-composefile/compose.yml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
implicit:
|
||||
image: composetest_test
|
||||
explicit:
|
||||
image: composetest_test
|
||||
command: [ "/bin/true" ]
|
||||
5
tests/fixtures/commands-figfile/fig.yml
vendored
5
tests/fixtures/commands-figfile/fig.yml
vendored
|
|
@ -1,5 +0,0 @@
|
|||
implicit:
|
||||
image: figtest_test
|
||||
explicit:
|
||||
image: figtest_test
|
||||
command: [ "/bin/true" ]
|
||||
|
|
@ -5,7 +5,7 @@ from six import StringIO
|
|||
from mock import patch
|
||||
|
||||
from .testcases import DockerClientTestCase
|
||||
from fig.cli.main import TopLevelCommand
|
||||
from compose.cli.main import TopLevelCommand
|
||||
|
||||
|
||||
class CLITestCase(DockerClientTestCase):
|
||||
|
|
@ -14,7 +14,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
self.old_sys_exit = sys.exit
|
||||
sys.exit = lambda code=0: None
|
||||
self.command = TopLevelCommand()
|
||||
self.command.base_dir = 'tests/fixtures/simple-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/simple-composefile'
|
||||
|
||||
def tearDown(self):
|
||||
sys.exit = self.old_sys_exit
|
||||
|
|
@ -27,43 +27,44 @@ class CLITestCase(DockerClientTestCase):
|
|||
|
||||
def test_help(self):
|
||||
old_base_dir = self.command.base_dir
|
||||
self.command.base_dir = 'tests/fixtures/no-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/no-composefile'
|
||||
with self.assertRaises(SystemExit) as exc_context:
|
||||
self.command.dispatch(['help', 'up'], None)
|
||||
self.assertIn('Usage: up [options] [SERVICE...]', str(exc_context.exception))
|
||||
# self.project.kill() fails during teardown
|
||||
# unless there is a figfile.
|
||||
# unless there is a composefile.
|
||||
self.command.base_dir = old_base_dir
|
||||
|
||||
# TODO: address the "Inappropriate ioctl for device" warnings in test output
|
||||
@patch('sys.stdout', new_callable=StringIO)
|
||||
def test_ps(self, mock_stdout):
|
||||
self.project.get_service('simple').create_container()
|
||||
self.command.dispatch(['ps'], None)
|
||||
self.assertIn('simplefigfile_simple_1', mock_stdout.getvalue())
|
||||
self.assertIn('simplecomposefile_simple_1', mock_stdout.getvalue())
|
||||
|
||||
@patch('sys.stdout', new_callable=StringIO)
|
||||
def test_ps_default_figfile(self, mock_stdout):
|
||||
self.command.base_dir = 'tests/fixtures/multiple-figfiles'
|
||||
def test_ps_default_composefile(self, mock_stdout):
|
||||
self.command.base_dir = 'tests/fixtures/multiple-composefiles'
|
||||
self.command.dispatch(['up', '-d'], None)
|
||||
self.command.dispatch(['ps'], None)
|
||||
|
||||
output = mock_stdout.getvalue()
|
||||
self.assertIn('multiplefigfiles_simple_1', output)
|
||||
self.assertIn('multiplefigfiles_another_1', output)
|
||||
self.assertNotIn('multiplefigfiles_yetanother_1', output)
|
||||
self.assertIn('multiplecomposefiles_simple_1', output)
|
||||
self.assertIn('multiplecomposefiles_another_1', output)
|
||||
self.assertNotIn('multiplecomposefiles_yetanother_1', output)
|
||||
|
||||
@patch('sys.stdout', new_callable=StringIO)
|
||||
def test_ps_alternate_figfile(self, mock_stdout):
|
||||
self.command.base_dir = 'tests/fixtures/multiple-figfiles'
|
||||
self.command.dispatch(['-f', 'fig2.yml', 'up', '-d'], None)
|
||||
self.command.dispatch(['-f', 'fig2.yml', 'ps'], None)
|
||||
def test_ps_alternate_composefile(self, mock_stdout):
|
||||
self.command.base_dir = 'tests/fixtures/multiple-composefiles'
|
||||
self.command.dispatch(['-f', 'compose2.yml', 'up', '-d'], None)
|
||||
self.command.dispatch(['-f', 'compose2.yml', 'ps'], None)
|
||||
|
||||
output = mock_stdout.getvalue()
|
||||
self.assertNotIn('multiplefigfiles_simple_1', output)
|
||||
self.assertNotIn('multiplefigfiles_another_1', output)
|
||||
self.assertIn('multiplefigfiles_yetanother_1', output)
|
||||
self.assertNotIn('multiplecomposefiles_simple_1', output)
|
||||
self.assertNotIn('multiplecomposefiles_another_1', output)
|
||||
self.assertIn('multiplecomposefiles_yetanother_1', output)
|
||||
|
||||
@patch('fig.service.log')
|
||||
@patch('compose.service.log')
|
||||
def test_pull(self, mock_logging):
|
||||
self.command.dispatch(['pull'], None)
|
||||
mock_logging.info.assert_any_call('Pulling simple (busybox:latest)...')
|
||||
|
|
@ -99,7 +100,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
self.assertFalse(config['AttachStdin'])
|
||||
|
||||
def test_up_with_links(self):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['up', '-d', 'web'], None)
|
||||
web = self.project.get_service('web')
|
||||
db = self.project.get_service('db')
|
||||
|
|
@ -109,7 +110,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
self.assertEqual(len(console.containers()), 0)
|
||||
|
||||
def test_up_with_no_deps(self):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['up', '-d', '--no-deps', 'web'], None)
|
||||
web = self.project.get_service('web')
|
||||
db = self.project.get_service('db')
|
||||
|
|
@ -148,7 +149,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
|
||||
@patch('dockerpty.start')
|
||||
def test_run_service_without_links(self, mock_stdout):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['run', 'console', '/bin/true'], None)
|
||||
self.assertEqual(len(self.project.containers()), 0)
|
||||
|
||||
|
|
@ -161,7 +162,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
|
||||
@patch('dockerpty.start')
|
||||
def test_run_service_with_links(self, __):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['run', 'web', '/bin/true'], None)
|
||||
db = self.project.get_service('db')
|
||||
console = self.project.get_service('console')
|
||||
|
|
@ -170,14 +171,14 @@ class CLITestCase(DockerClientTestCase):
|
|||
|
||||
@patch('dockerpty.start')
|
||||
def test_run_with_no_deps(self, __):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['run', '--no-deps', 'web', '/bin/true'], None)
|
||||
db = self.project.get_service('db')
|
||||
self.assertEqual(len(db.containers()), 0)
|
||||
|
||||
@patch('dockerpty.start')
|
||||
def test_run_does_not_recreate_linked_containers(self, __):
|
||||
self.command.base_dir = 'tests/fixtures/links-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/links-composefile'
|
||||
self.command.dispatch(['up', '-d', 'db'], None)
|
||||
db = self.project.get_service('db')
|
||||
self.assertEqual(len(db.containers()), 1)
|
||||
|
|
@ -193,8 +194,8 @@ class CLITestCase(DockerClientTestCase):
|
|||
|
||||
@patch('dockerpty.start')
|
||||
def test_run_without_command(self, __):
|
||||
self.command.base_dir = 'tests/fixtures/commands-figfile'
|
||||
self.check_build('tests/fixtures/simple-dockerfile', tag='figtest_test')
|
||||
self.command.base_dir = 'tests/fixtures/commands-composefile'
|
||||
self.check_build('tests/fixtures/simple-dockerfile', tag='composetest_test')
|
||||
|
||||
for c in self.project.containers(stopped=True, one_off=True):
|
||||
c.remove()
|
||||
|
|
@ -233,7 +234,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
@patch('dockerpty.start')
|
||||
def test_run_service_with_environement_overridden(self, _):
|
||||
name = 'service'
|
||||
self.command.base_dir = 'tests/fixtures/environment-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/environment-composefile'
|
||||
self.command.dispatch(
|
||||
['run', '-e', 'foo=notbar', '-e', 'allo=moto=bobo',
|
||||
'-e', 'alpha=beta', name],
|
||||
|
|
@ -253,7 +254,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
@patch('dockerpty.start')
|
||||
def test_run_service_without_map_ports(self, __):
|
||||
# create one off container
|
||||
self.command.base_dir = 'tests/fixtures/ports-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/ports-composefile'
|
||||
self.command.dispatch(['run', '-d', 'simple'], None)
|
||||
container = self.project.get_service('simple').containers(one_off=True)[0]
|
||||
|
||||
|
|
@ -271,7 +272,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
@patch('dockerpty.start')
|
||||
def test_run_service_with_map_ports(self, __):
|
||||
# create one off container
|
||||
self.command.base_dir = 'tests/fixtures/ports-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/ports-composefile'
|
||||
self.command.dispatch(['run', '-d', '--service-ports', 'simple'], None)
|
||||
container = self.project.get_service('simple').containers(one_off=True)[0]
|
||||
|
||||
|
|
@ -368,7 +369,7 @@ class CLITestCase(DockerClientTestCase):
|
|||
self.assertEqual(len(project.get_service('another').containers()), 0)
|
||||
|
||||
def test_port(self):
|
||||
self.command.base_dir = 'tests/fixtures/ports-figfile'
|
||||
self.command.base_dir = 'tests/fixtures/ports-composefile'
|
||||
self.command.dispatch(['up', '-d'], None)
|
||||
container = self.project.get_service('simple').get_container()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
from __future__ import unicode_literals
|
||||
from fig.project import Project, ConfigurationError
|
||||
from fig.container import Container
|
||||
from compose.project import Project, ConfigurationError
|
||||
from compose.container import Container
|
||||
from .testcases import DockerClientTestCase
|
||||
|
||||
|
||||
class ProjectTest(DockerClientTestCase):
|
||||
def test_volumes_from_service(self):
|
||||
project = Project.from_config(
|
||||
name='figtest',
|
||||
name='composetest',
|
||||
config={
|
||||
'data': {
|
||||
'image': 'busybox:latest',
|
||||
|
|
@ -29,14 +29,14 @@ class ProjectTest(DockerClientTestCase):
|
|||
self.client,
|
||||
image='busybox:latest',
|
||||
volumes=['/var/data'],
|
||||
name='figtest_data_container',
|
||||
name='composetest_data_container',
|
||||
)
|
||||
project = Project.from_config(
|
||||
name='figtest',
|
||||
name='composetest',
|
||||
config={
|
||||
'db': {
|
||||
'image': 'busybox:latest',
|
||||
'volumes_from': ['figtest_data_container'],
|
||||
'volumes_from': ['composetest_data_container'],
|
||||
},
|
||||
},
|
||||
client=self.client,
|
||||
|
|
@ -47,7 +47,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_start_stop_kill_remove(self):
|
||||
web = self.create_service('web')
|
||||
db = self.create_service('db')
|
||||
project = Project('figtest', [web, db], self.client)
|
||||
project = Project('composetest', [web, db], self.client)
|
||||
|
||||
project.start()
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_project_up(self):
|
||||
web = self.create_service('web')
|
||||
db = self.create_service('db', volumes=['/var/db'])
|
||||
project = Project('figtest', [web, db], self.client)
|
||||
project = Project('composetest', [web, db], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -95,7 +95,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_project_up_recreates_containers(self):
|
||||
web = self.create_service('web')
|
||||
db = self.create_service('db', volumes=['/etc'])
|
||||
project = Project('figtest', [web, db], self.client)
|
||||
project = Project('composetest', [web, db], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -117,7 +117,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_project_up_with_no_recreate_running(self):
|
||||
web = self.create_service('web')
|
||||
db = self.create_service('db', volumes=['/var/db'])
|
||||
project = Project('figtest', [web, db], self.client)
|
||||
project = Project('composetest', [web, db], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_project_up_with_no_recreate_stopped(self):
|
||||
web = self.create_service('web')
|
||||
db = self.create_service('db', volumes=['/var/db'])
|
||||
project = Project('figtest', [web, db], self.client)
|
||||
project = Project('composetest', [web, db], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
def test_project_up_without_all_services(self):
|
||||
console = self.create_service('console')
|
||||
db = self.create_service('db')
|
||||
project = Project('figtest', [console, db], self.client)
|
||||
project = Project('composetest', [console, db], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
db = self.create_service('db', volumes=['/var/db'])
|
||||
web = self.create_service('web', links=[(db, 'db')])
|
||||
|
||||
project = Project('figtest', [web, db, console], self.client)
|
||||
project = Project('composetest', [web, db, console], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -204,7 +204,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
db = self.create_service('db', volumes=['/var/db'])
|
||||
web = self.create_service('web', links=[(db, 'db')])
|
||||
|
||||
project = Project('figtest', [web, db, console], self.client)
|
||||
project = Project('composetest', [web, db, console], self.client)
|
||||
project.start()
|
||||
self.assertEqual(len(project.containers()), 0)
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ class ProjectTest(DockerClientTestCase):
|
|||
|
||||
def test_unscale_after_restart(self):
|
||||
web = self.create_service('web')
|
||||
project = Project('figtest', [web], self.client)
|
||||
project = Project('composetest', [web], self.client)
|
||||
|
||||
project.start()
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ from __future__ import absolute_import
|
|||
import os
|
||||
from os import path
|
||||
|
||||
from fig import Service
|
||||
from fig.service import CannotBeScaledError
|
||||
from fig.container import Container
|
||||
from compose import Service
|
||||
from compose.service import CannotBeScaledError
|
||||
from compose.container import Container
|
||||
from docker.errors import APIError
|
||||
from .testcases import DockerClientTestCase
|
||||
|
||||
|
|
@ -23,7 +23,7 @@ class ServiceTest(DockerClientTestCase):
|
|||
create_and_start_container(foo)
|
||||
|
||||
self.assertEqual(len(foo.containers()), 1)
|
||||
self.assertEqual(foo.containers()[0].name, 'figtest_foo_1')
|
||||
self.assertEqual(foo.containers()[0].name, 'composetest_foo_1')
|
||||
self.assertEqual(len(bar.containers()), 0)
|
||||
|
||||
create_and_start_container(bar)
|
||||
|
|
@ -33,8 +33,8 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(len(bar.containers()), 2)
|
||||
|
||||
names = [c.name for c in bar.containers()]
|
||||
self.assertIn('figtest_bar_1', names)
|
||||
self.assertIn('figtest_bar_2', names)
|
||||
self.assertIn('composetest_bar_1', names)
|
||||
self.assertIn('composetest_bar_2', names)
|
||||
|
||||
def test_containers_one_off(self):
|
||||
db = self.create_service('db')
|
||||
|
|
@ -45,7 +45,7 @@ class ServiceTest(DockerClientTestCase):
|
|||
def test_project_is_added_to_container_name(self):
|
||||
service = self.create_service('web')
|
||||
create_and_start_container(service)
|
||||
self.assertEqual(service.containers()[0].name, 'figtest_web_1')
|
||||
self.assertEqual(service.containers()[0].name, 'composetest_web_1')
|
||||
|
||||
def test_start_stop(self):
|
||||
service = self.create_service('scalingtest')
|
||||
|
|
@ -86,13 +86,13 @@ class ServiceTest(DockerClientTestCase):
|
|||
def test_create_container_with_one_off(self):
|
||||
db = self.create_service('db')
|
||||
container = db.create_container(one_off=True)
|
||||
self.assertEqual(container.name, 'figtest_db_run_1')
|
||||
self.assertEqual(container.name, 'composetest_db_run_1')
|
||||
|
||||
def test_create_container_with_one_off_when_existing_container_is_running(self):
|
||||
db = self.create_service('db')
|
||||
db.start()
|
||||
container = db.create_container(one_off=True)
|
||||
self.assertEqual(container.name, 'figtest_db_run_1')
|
||||
self.assertEqual(container.name, 'composetest_db_run_1')
|
||||
|
||||
def test_create_container_with_unspecified_volume(self):
|
||||
service = self.create_service('db', volumes=['/var/db'])
|
||||
|
|
@ -146,7 +146,7 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(old_container.dictionary['Config']['Entrypoint'], ['sleep'])
|
||||
self.assertEqual(old_container.dictionary['Config']['Cmd'], ['300'])
|
||||
self.assertIn('FOO=1', old_container.dictionary['Config']['Env'])
|
||||
self.assertEqual(old_container.name, 'figtest_db_1')
|
||||
self.assertEqual(old_container.name, 'composetest_db_1')
|
||||
service.start_container(old_container)
|
||||
volume_path = old_container.inspect()['Volumes']['/etc']
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(new_container.dictionary['Config']['Entrypoint'], ['sleep'])
|
||||
self.assertEqual(new_container.dictionary['Config']['Cmd'], ['300'])
|
||||
self.assertIn('FOO=2', new_container.dictionary['Config']['Env'])
|
||||
self.assertEqual(new_container.name, 'figtest_db_1')
|
||||
self.assertEqual(new_container.name, 'composetest_db_1')
|
||||
self.assertEqual(new_container.inspect()['Volumes']['/etc'], volume_path)
|
||||
self.assertIn(intermediate_container.id, new_container.dictionary['HostConfig']['VolumesFrom'])
|
||||
|
||||
|
|
@ -226,8 +226,8 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(
|
||||
set(web.containers()[0].links()),
|
||||
set([
|
||||
'figtest_db_1', 'db_1',
|
||||
'figtest_db_2', 'db_2',
|
||||
'composetest_db_1', 'db_1',
|
||||
'composetest_db_2', 'db_2',
|
||||
'db',
|
||||
]),
|
||||
)
|
||||
|
|
@ -243,17 +243,17 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(
|
||||
set(web.containers()[0].links()),
|
||||
set([
|
||||
'figtest_db_1', 'db_1',
|
||||
'figtest_db_2', 'db_2',
|
||||
'composetest_db_1', 'db_1',
|
||||
'composetest_db_2', 'db_2',
|
||||
'custom_link_name',
|
||||
]),
|
||||
)
|
||||
|
||||
def test_start_container_with_external_links(self):
|
||||
db = self.create_service('db')
|
||||
web = self.create_service('web', external_links=['figtest_db_1',
|
||||
'figtest_db_2',
|
||||
'figtest_db_3:db_3'])
|
||||
web = self.create_service('web', external_links=['composetest_db_1',
|
||||
'composetest_db_2',
|
||||
'composetest_db_3:db_3'])
|
||||
|
||||
for _ in range(3):
|
||||
create_and_start_container(db)
|
||||
|
|
@ -262,8 +262,8 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(
|
||||
set(web.containers()[0].links()),
|
||||
set([
|
||||
'figtest_db_1',
|
||||
'figtest_db_2',
|
||||
'composetest_db_1',
|
||||
'composetest_db_2',
|
||||
'db_3',
|
||||
]),
|
||||
)
|
||||
|
|
@ -288,8 +288,8 @@ class ServiceTest(DockerClientTestCase):
|
|||
self.assertEqual(
|
||||
set(c.links()),
|
||||
set([
|
||||
'figtest_db_1', 'db_1',
|
||||
'figtest_db_2', 'db_2',
|
||||
'composetest_db_1', 'db_1',
|
||||
'composetest_db_2', 'db_2',
|
||||
'db',
|
||||
]),
|
||||
)
|
||||
|
|
@ -299,20 +299,20 @@ class ServiceTest(DockerClientTestCase):
|
|||
name='test',
|
||||
client=self.client,
|
||||
build='tests/fixtures/simple-dockerfile',
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
)
|
||||
container = create_and_start_container(service)
|
||||
container.wait()
|
||||
self.assertIn('success', container.logs())
|
||||
self.assertEqual(len(self.client.images(name='figtest_test')), 1)
|
||||
self.assertEqual(len(self.client.images(name='composetest_test')), 1)
|
||||
|
||||
def test_start_container_uses_tagged_image_if_it_exists(self):
|
||||
self.client.build('tests/fixtures/simple-dockerfile', tag='figtest_test')
|
||||
self.client.build('tests/fixtures/simple-dockerfile', tag='composetest_test')
|
||||
service = Service(
|
||||
name='test',
|
||||
client=self.client,
|
||||
build='this/does/not/exist/and/will/throw/error',
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
)
|
||||
container = create_and_start_container(service)
|
||||
container.wait()
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import
|
||||
from fig.service import Service
|
||||
from fig.cli.docker_client import docker_client
|
||||
from fig.progress_stream import stream_output
|
||||
from compose.service import Service
|
||||
from compose.cli.docker_client import docker_client
|
||||
from compose.progress_stream import stream_output
|
||||
from .. import unittest
|
||||
|
||||
|
||||
|
|
@ -13,18 +13,18 @@ class DockerClientTestCase(unittest.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
for c in self.client.containers(all=True):
|
||||
if c['Names'] and 'figtest' in c['Names'][0]:
|
||||
if c['Names'] and 'composetest' in c['Names'][0]:
|
||||
self.client.kill(c['Id'])
|
||||
self.client.remove_container(c['Id'])
|
||||
for i in self.client.images():
|
||||
if isinstance(i.get('Tag'), basestring) and 'figtest' in i['Tag']:
|
||||
if isinstance(i.get('Tag'), basestring) and 'composetest' in i['Tag']:
|
||||
self.client.remove_image(i)
|
||||
|
||||
def create_service(self, name, **kwargs):
|
||||
if 'command' not in kwargs:
|
||||
kwargs['command'] = ["/bin/sleep", "300"]
|
||||
return Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name=name,
|
||||
client=self.client,
|
||||
image="busybox:latest",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import os
|
|||
import mock
|
||||
from tests import unittest
|
||||
|
||||
from fig.cli import docker_client
|
||||
from compose.cli import docker_client
|
||||
|
||||
|
||||
class DockerClientTestCase(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||
from __future__ import absolute_import
|
||||
from tests import unittest
|
||||
|
||||
from fig.cli import verbose_proxy
|
||||
from compose.cli import verbose_proxy
|
||||
|
||||
|
||||
class VerboseProxyTestCase(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ from .. import unittest
|
|||
|
||||
import mock
|
||||
|
||||
from fig.cli import main
|
||||
from fig.cli.main import TopLevelCommand
|
||||
from compose.cli import main
|
||||
from compose.cli.main import TopLevelCommand
|
||||
from six import StringIO
|
||||
|
||||
|
||||
|
|
@ -16,18 +16,18 @@ class CLITestCase(unittest.TestCase):
|
|||
cwd = os.getcwd()
|
||||
|
||||
try:
|
||||
os.chdir('tests/fixtures/simple-figfile')
|
||||
os.chdir('tests/fixtures/simple-composefile')
|
||||
command = TopLevelCommand()
|
||||
project_name = command.get_project_name(command.get_config_path())
|
||||
self.assertEquals('simplefigfile', project_name)
|
||||
self.assertEquals('simplecomposefile', project_name)
|
||||
finally:
|
||||
os.chdir(cwd)
|
||||
|
||||
def test_project_name_with_explicit_base_dir(self):
|
||||
command = TopLevelCommand()
|
||||
command.base_dir = 'tests/fixtures/simple-figfile'
|
||||
command.base_dir = 'tests/fixtures/simple-composefile'
|
||||
project_name = command.get_project_name(command.get_config_path())
|
||||
self.assertEquals('simplefigfile', project_name)
|
||||
self.assertEquals('simplecomposefile', project_name)
|
||||
|
||||
def test_project_name_with_explicit_uppercase_base_dir(self):
|
||||
command = TopLevelCommand()
|
||||
|
|
@ -41,7 +41,7 @@ class CLITestCase(unittest.TestCase):
|
|||
project_name = command.get_project_name(None, project_name=name)
|
||||
self.assertEquals('explicitprojectname', project_name)
|
||||
|
||||
def test_project_name_from_environment(self):
|
||||
def test_project_name_from_environment_old_var(self):
|
||||
command = TopLevelCommand()
|
||||
name = 'namefromenv'
|
||||
with mock.patch.dict(os.environ):
|
||||
|
|
@ -49,18 +49,26 @@ class CLITestCase(unittest.TestCase):
|
|||
project_name = command.get_project_name(None)
|
||||
self.assertEquals(project_name, name)
|
||||
|
||||
def test_project_name_from_environment_new_var(self):
|
||||
command = TopLevelCommand()
|
||||
name = 'namefromenv'
|
||||
with mock.patch.dict(os.environ):
|
||||
os.environ['COMPOSE_PROJECT_NAME'] = name
|
||||
project_name = command.get_project_name(None)
|
||||
self.assertEquals(project_name, name)
|
||||
|
||||
def test_yaml_filename_check(self):
|
||||
command = TopLevelCommand()
|
||||
command.base_dir = 'tests/fixtures/longer-filename-figfile'
|
||||
with mock.patch('fig.cli.command.log', autospec=True) as mock_log:
|
||||
command.base_dir = 'tests/fixtures/longer-filename-composefile'
|
||||
with mock.patch('compose.cli.command.log', autospec=True) as mock_log:
|
||||
self.assertTrue(command.get_config_path())
|
||||
self.assertEqual(mock_log.warning.call_count, 2)
|
||||
|
||||
def test_get_project(self):
|
||||
command = TopLevelCommand()
|
||||
command.base_dir = 'tests/fixtures/longer-filename-figfile'
|
||||
command.base_dir = 'tests/fixtures/longer-filename-composefile'
|
||||
project = command.get_project(command.get_config_path())
|
||||
self.assertEqual(project.name, 'longerfilenamefigfile')
|
||||
self.assertEqual(project.name, 'longerfilenamecomposefile')
|
||||
self.assertTrue(project.client)
|
||||
self.assertTrue(project.services)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from .. import unittest
|
|||
import mock
|
||||
import docker
|
||||
|
||||
from fig.container import Container
|
||||
from compose.container import Container
|
||||
|
||||
|
||||
class ContainerTest(unittest.TestCase):
|
||||
|
|
@ -20,7 +20,7 @@ class ContainerTest(unittest.TestCase):
|
|||
"Ports": None,
|
||||
"SizeRw": 0,
|
||||
"SizeRootFs": 0,
|
||||
"Names": ["/figtest_db_1", "/figtest_web_1/db"],
|
||||
"Names": ["/composetest_db_1", "/composetest_web_1/db"],
|
||||
"NetworkSettings": {
|
||||
"Ports": {},
|
||||
},
|
||||
|
|
@ -33,7 +33,7 @@ class ContainerTest(unittest.TestCase):
|
|||
self.assertEqual(container.dictionary, {
|
||||
"Id": "abc",
|
||||
"Image":"busybox:latest",
|
||||
"Name": "/figtest_db_1",
|
||||
"Name": "/composetest_db_1",
|
||||
})
|
||||
|
||||
def test_from_ps_prefixed(self):
|
||||
|
|
@ -45,7 +45,7 @@ class ContainerTest(unittest.TestCase):
|
|||
self.assertEqual(container.dictionary, {
|
||||
"Id": "abc",
|
||||
"Image":"busybox:latest",
|
||||
"Name": "/figtest_db_1",
|
||||
"Name": "/composetest_db_1",
|
||||
})
|
||||
|
||||
def test_environment(self):
|
||||
|
|
@ -73,7 +73,7 @@ class ContainerTest(unittest.TestCase):
|
|||
container = Container.from_ps(None,
|
||||
self.container_dict,
|
||||
has_been_inspected=True)
|
||||
self.assertEqual(container.name, "figtest_db_1")
|
||||
self.assertEqual(container.name, "composetest_db_1")
|
||||
|
||||
def test_name_without_project(self):
|
||||
container = Container.from_ps(None,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
|||
from __future__ import absolute_import
|
||||
import os
|
||||
|
||||
from fig.cli.log_printer import LogPrinter
|
||||
from compose.cli.log_printer import LogPrinter
|
||||
from .. import unittest
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from tests import unittest
|
|||
import mock
|
||||
from six import StringIO
|
||||
|
||||
from fig import progress_stream
|
||||
from compose import progress_stream
|
||||
|
||||
|
||||
class ProgressStreamTestCase(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
from __future__ import unicode_literals
|
||||
from .. import unittest
|
||||
from fig.service import Service
|
||||
from fig.project import Project, ConfigurationError
|
||||
from compose.service import Service
|
||||
from compose.project import Project, ConfigurationError
|
||||
|
||||
class ProjectTest(unittest.TestCase):
|
||||
def test_from_dict(self):
|
||||
project = Project.from_dicts('figtest', [
|
||||
project = Project.from_dicts('composetest', [
|
||||
{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest'
|
||||
|
|
@ -22,7 +22,7 @@ class ProjectTest(unittest.TestCase):
|
|||
self.assertEqual(project.get_service('db').options['image'], 'busybox:latest')
|
||||
|
||||
def test_from_dict_sorts_in_dependency_order(self):
|
||||
project = Project.from_dicts('figtest', [
|
||||
project = Project.from_dicts('composetest', [
|
||||
{
|
||||
'name': 'web',
|
||||
'image': 'busybox:latest',
|
||||
|
|
@ -45,7 +45,7 @@ class ProjectTest(unittest.TestCase):
|
|||
self.assertEqual(project.services[2].name, 'web')
|
||||
|
||||
def test_from_config(self):
|
||||
project = Project.from_config('figtest', {
|
||||
project = Project.from_config('composetest', {
|
||||
'web': {
|
||||
'image': 'busybox:latest',
|
||||
},
|
||||
|
|
@ -61,13 +61,13 @@ class ProjectTest(unittest.TestCase):
|
|||
|
||||
def test_from_config_throws_error_when_not_dict(self):
|
||||
with self.assertRaises(ConfigurationError):
|
||||
project = Project.from_config('figtest', {
|
||||
project = Project.from_config('composetest', {
|
||||
'web': 'busybox:latest',
|
||||
}, None)
|
||||
|
||||
def test_get_service(self):
|
||||
web = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='web',
|
||||
client=None,
|
||||
image="busybox:latest",
|
||||
|
|
@ -77,11 +77,11 @@ class ProjectTest(unittest.TestCase):
|
|||
|
||||
def test_get_services_returns_all_services_without_args(self):
|
||||
web = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='web',
|
||||
)
|
||||
console = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='console',
|
||||
)
|
||||
project = Project('test', [web, console], None)
|
||||
|
|
@ -89,11 +89,11 @@ class ProjectTest(unittest.TestCase):
|
|||
|
||||
def test_get_services_returns_listed_services_with_args(self):
|
||||
web = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='web',
|
||||
)
|
||||
console = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='console',
|
||||
)
|
||||
project = Project('test', [web, console], None)
|
||||
|
|
@ -101,20 +101,20 @@ class ProjectTest(unittest.TestCase):
|
|||
|
||||
def test_get_services_with_include_links(self):
|
||||
db = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='db',
|
||||
)
|
||||
web = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='web',
|
||||
links=[(db, 'database')]
|
||||
)
|
||||
cache = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='cache'
|
||||
)
|
||||
console = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='console',
|
||||
links=[(web, 'web')]
|
||||
)
|
||||
|
|
@ -126,11 +126,11 @@ class ProjectTest(unittest.TestCase):
|
|||
|
||||
def test_get_services_removes_duplicates_following_links(self):
|
||||
db = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='db',
|
||||
)
|
||||
web = Service(
|
||||
project='figtest',
|
||||
project='composetest',
|
||||
name='web',
|
||||
links=[(db, 'database')]
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ import mock
|
|||
import docker
|
||||
from requests import Response
|
||||
|
||||
from fig import Service
|
||||
from fig.container import Container
|
||||
from fig.service import (
|
||||
from compose import Service
|
||||
from compose.container import Container
|
||||
from compose.service import (
|
||||
ConfigError,
|
||||
split_port,
|
||||
build_port_bindings,
|
||||
|
|
@ -203,7 +203,7 @@ class ServiceTest(unittest.TestCase):
|
|||
|
||||
self.assertRaises(ValueError, service.get_container)
|
||||
|
||||
@mock.patch('fig.service.Container', autospec=True)
|
||||
@mock.patch('compose.service.Container', autospec=True)
|
||||
def test_get_container(self, mock_container_class):
|
||||
container_dict = dict(Name='default_foo_2')
|
||||
self.mock_client.containers.return_value = [container_dict]
|
||||
|
|
@ -214,15 +214,15 @@ class ServiceTest(unittest.TestCase):
|
|||
mock_container_class.from_ps.assert_called_once_with(
|
||||
self.mock_client, container_dict)
|
||||
|
||||
@mock.patch('fig.service.log', autospec=True)
|
||||
@mock.patch('compose.service.log', autospec=True)
|
||||
def test_pull_image(self, mock_log):
|
||||
service = Service('foo', client=self.mock_client, image='someimage:sometag')
|
||||
service.pull(insecure_registry=True)
|
||||
self.mock_client.pull.assert_called_once_with('someimage:sometag', insecure_registry=True)
|
||||
mock_log.info.assert_called_once_with('Pulling foo (someimage:sometag)...')
|
||||
|
||||
@mock.patch('fig.service.Container', autospec=True)
|
||||
@mock.patch('fig.service.log', autospec=True)
|
||||
@mock.patch('compose.service.Container', autospec=True)
|
||||
@mock.patch('compose.service.log', autospec=True)
|
||||
def test_create_container_from_insecure_registry(
|
||||
self,
|
||||
mock_log,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from fig.project import sort_service_dicts, DependencyError
|
||||
from compose.project import sort_service_dicts, DependencyError
|
||||
from .. import unittest
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import
|
||||
from fig.cli.utils import split_buffer
|
||||
from compose.cli.utils import split_buffer
|
||||
from .. import unittest
|
||||
|
||||
class SplitBufferTest(unittest.TestCase):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue