Merge pull request #279 from orchardup/fix-run-with-no-links

Stop `fig run` starting everything when a service has no links
This commit is contained in:
Ben Firshman 2014-07-02 15:46:22 +01:00
commit 9a825c5c35
2 changed files with 14 additions and 7 deletions

View File

@ -220,11 +220,14 @@ class TopLevelCommand(Command):
service = self.project.get_service(options['SERVICE'])
if not options['--no-deps']:
self.project.up(
service_names=service.get_linked_names(),
start_links=True,
recreate=False
)
deps = service.get_linked_names()
if len(deps) > 0:
self.project.up(
service_names=deps,
start_links=True,
recreate=False,
)
tty = True
if options['-d'] or options['-T'] or not sys.stdin.isatty():

View File

@ -103,9 +103,13 @@ class CLITestCase(DockerClientTestCase):
@patch('dockerpty.start')
def test_run_with_links(self, mock_stdout):
mock_stdout.fileno = lambda: 1
def test_run_service_without_links(self, mock_stdout):
self.command.base_dir = 'tests/fixtures/links-figfile'
self.command.dispatch(['run', 'console', '/bin/true'], None)
self.assertEqual(len(self.command.project.containers()), 0)
@patch('dockerpty.start')
def test_run_service_with_links(self, mock_stdout):
self.command.base_dir = 'tests/fixtures/links-figfile'
self.command.dispatch(['run', 'web', '/bin/true'], None)
db = self.command.project.get_service('db')