Add tests for compose file 'scale: 0'

Signed-off-by: Jonathan Cremin <jonathan@crem.in>
This commit is contained in:
Jonathan Cremin 2019-03-06 12:57:14 +00:00
parent 42c965935f
commit 087bef4f95
2 changed files with 17 additions and 5 deletions

View File

@ -2505,10 +2505,12 @@ class CLITestCase(DockerClientTestCase):
self.dispatch(['up', '-d']) self.dispatch(['up', '-d'])
assert len(project.get_service('web').containers()) == 2 assert len(project.get_service('web').containers()) == 2
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 0
self.dispatch(['up', '-d', '--scale', 'web=3']) self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'worker=1'])
assert len(project.get_service('web').containers()) == 3 assert len(project.get_service('web').containers()) == 3
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 1
def test_up_scale_scale_down(self): def test_up_scale_scale_down(self):
self.base_dir = 'tests/fixtures/scale' self.base_dir = 'tests/fixtures/scale'
@ -2517,22 +2519,26 @@ class CLITestCase(DockerClientTestCase):
self.dispatch(['up', '-d']) self.dispatch(['up', '-d'])
assert len(project.get_service('web').containers()) == 2 assert len(project.get_service('web').containers()) == 2
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 0
self.dispatch(['up', '-d', '--scale', 'web=1']) self.dispatch(['up', '-d', '--scale', 'web=1'])
assert len(project.get_service('web').containers()) == 1 assert len(project.get_service('web').containers()) == 1
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 0
def test_up_scale_reset(self): def test_up_scale_reset(self):
self.base_dir = 'tests/fixtures/scale' self.base_dir = 'tests/fixtures/scale'
project = self.project project = self.project
self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'db=3']) self.dispatch(['up', '-d', '--scale', 'web=3', '--scale', 'db=3', '--scale', 'worker=3'])
assert len(project.get_service('web').containers()) == 3 assert len(project.get_service('web').containers()) == 3
assert len(project.get_service('db').containers()) == 3 assert len(project.get_service('db').containers()) == 3
assert len(project.get_service('worker').containers()) == 3
self.dispatch(['up', '-d']) self.dispatch(['up', '-d'])
assert len(project.get_service('web').containers()) == 2 assert len(project.get_service('web').containers()) == 2
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 0
def test_up_scale_to_zero(self): def test_up_scale_to_zero(self):
self.base_dir = 'tests/fixtures/scale' self.base_dir = 'tests/fixtures/scale'
@ -2541,10 +2547,12 @@ class CLITestCase(DockerClientTestCase):
self.dispatch(['up', '-d']) self.dispatch(['up', '-d'])
assert len(project.get_service('web').containers()) == 2 assert len(project.get_service('web').containers()) == 2
assert len(project.get_service('db').containers()) == 1 assert len(project.get_service('db').containers()) == 1
assert len(project.get_service('worker').containers()) == 0
self.dispatch(['up', '-d', '--scale', 'web=0', '--scale', 'db=0']) self.dispatch(['up', '-d', '--scale', 'web=0', '--scale', 'db=0', '--scale', 'worker=0'])
assert len(project.get_service('web').containers()) == 0 assert len(project.get_service('web').containers()) == 0
assert len(project.get_service('db').containers()) == 0 assert len(project.get_service('db').containers()) == 0
assert len(project.get_service('worker').containers()) == 0
def test_port(self): def test_port(self):
self.base_dir = 'tests/fixtures/ports-composefile' self.base_dir = 'tests/fixtures/ports-composefile'

View File

@ -5,5 +5,9 @@ services:
command: top command: top
scale: 2 scale: 2
db: db:
image: busybox image: busybox
command: top command: top
worker:
image: busybox
command: top
scale: 0