summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <f.joffrey@gmail.com>2017-04-27 15:30:36 -0700
committerGitHub <noreply@github.com>2017-04-27 15:30:36 -0700
commit8ffa09b4b65ae3e8983d508a38ec2e35c793c90d (patch)
treecbd3eb0b512faaaf4c5dcb5db569fd3c07f77ad5
parentf127a9ffdc9db1a946c3d7943eaf16b207f33598 (diff)
parent5f9a599b0ffa4da5679fe98e5f9ae933e8bb924d (diff)
downloaddocker-py-8ffa09b4b65ae3e8983d508a38ec2e35c793c90d.tar.gz
Merge pull request #1576 from robkooper/1572-replicas-0
Fix if replicas is set to 0, Fixes #1572
-rw-r--r--docker/types/services.py2
-rw-r--r--tests/unit/dockertypes_test.py6
2 files changed, 7 insertions, 1 deletions
diff --git a/docker/types/services.py b/docker/types/services.py
index 9291c9b..e7787ec 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 cb1d90c..160fabd 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')