From 39497f6ee7692203de7cdd68eea0ade46499c185 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Mon, 9 Dec 2013 17:48:15 +0000 Subject: [PATCH] Add start and stop to ServiceCollections --- plum/service_collection.py | 9 +++++++++ plum/tests/service_collection_test.py | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/plum/service_collection.py b/plum/service_collection.py index b73511a924..3803bafc6d 100644 --- a/plum/service_collection.py +++ b/plum/service_collection.py @@ -34,4 +34,13 @@ class ServiceCollection(list): if service.name == name: return service + def start(self): + for container in self: + container.start() + + def stop(self): + for container in self: + container.stop() + + diff --git a/plum/tests/service_collection_test.py b/plum/tests/service_collection_test.py index 1715c2999b..080ee2cff0 100644 --- a/plum/tests/service_collection_test.py +++ b/plum/tests/service_collection_test.py @@ -38,3 +38,21 @@ class ServiceCollectionTest(ServiceTestCase): self.assertEqual(collection[0].name, 'db') self.assertEqual(collection[1].name, 'web') + + def test_start_stop(self): + collection = ServiceCollection([ + self.create_service('web'), + self.create_service('db'), + ]) + + collection.start() + + self.assertEqual(len(collection[0].containers), 1) + self.assertEqual(len(collection[1].containers), 1) + + collection.stop() + + self.assertEqual(len(collection[0].containers), 0) + self.assertEqual(len(collection[1].containers), 0) + +