From 5f9a599b0ffa4da5679fe98e5f9ae933e8bb924d Mon Sep 17 00:00:00 2001 From: Rob Kooper Date: Wed, 26 Apr 2017 22:50:17 -0500 Subject: [PATCH] Fix if replicas is set to 0, Fixes #1572 Signed-off-by: Rob Kooper --- docker/types/services.py | 2 +- tests/unit/dockertypes_test.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker/types/services.py b/docker/types/services.py index 9291c9bd..e7787ec8 100644 --- a/docker/types/services.py +++ b/docker/types/services.py @@ -407,7 +407,7 @@ class ServiceMode(dict): 'replicas can only be used for replicated mode' ) self[mode] = {} - if replicas: + if replicas is not None: self[mode]['Replicas'] = replicas @property diff --git a/tests/unit/dockertypes_test.py b/tests/unit/dockertypes_test.py index cb1d90ca..160fabdd 100644 --- a/tests/unit/dockertypes_test.py +++ b/tests/unit/dockertypes_test.py @@ -305,6 +305,12 @@ class ServiceModeTest(unittest.TestCase): assert mode.mode == 'replicated' assert mode.replicas == 21 + def test_replicated_replicas_0(self): + mode = ServiceMode('replicated', 0) + assert mode == {'replicated': {'Replicas': 0}} + assert mode.mode == 'replicated' + assert mode.replicas == 0 + def test_invalid_mode(self): with pytest.raises(InvalidArgument): ServiceMode('foobar')