service_test.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from unittest import TestCase
  2. from docker import Client
  3. from plum import Service
  4. class ServiceTestCase(TestCase):
  5. def setUp(self):
  6. self.client = Client('http://127.0.0.1:4243')
  7. self.client.pull('ubuntu')
  8. for c in self.client.containers():
  9. self.client.kill(c['Id'])
  10. self.service = Service(
  11. client=self.client,
  12. image="ubuntu",
  13. command=["/bin/sleep", "300"],
  14. )
  15. def test_up_scale_down(self):
  16. self.assertEqual(len(self.service.containers), 0)
  17. self.service.start()
  18. self.assertEqual(len(self.service.containers), 1)
  19. self.service.start()
  20. self.assertEqual(len(self.service.containers), 1)
  21. self.service.scale(2)
  22. self.assertEqual(len(self.service.containers), 2)
  23. self.service.scale(1)
  24. self.assertEqual(len(self.service.containers), 1)
  25. self.service.stop()
  26. self.assertEqual(len(self.service.containers), 0)
  27. self.service.stop()
  28. self.assertEqual(len(self.service.containers), 0)