testcases.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from __future__ import unicode_literals
  2. from __future__ import absolute_import
  3. from fig.packages.docker import Client
  4. from fig.service import Service
  5. from fig.cli.utils import docker_url
  6. from .. import unittest
  7. class DockerClientTestCase(unittest.TestCase):
  8. @classmethod
  9. def setUpClass(cls):
  10. cls.client = Client(docker_url())
  11. cls.client.pull('busybox', tag='latest')
  12. def setUp(self):
  13. for c in self.client.containers(all=True):
  14. if c['Names'] and 'figtest' in c['Names'][0]:
  15. self.client.kill(c['Id'])
  16. self.client.remove_container(c['Id'])
  17. for i in self.client.images():
  18. if isinstance(i.get('Tag'), basestring) and 'figtest' in i['Tag']:
  19. self.client.remove_image(i)
  20. def create_service(self, name, **kwargs):
  21. if 'command' not in kwargs:
  22. kwargs['command'] = ["/bin/sleep", "300"]
  23. return Service(
  24. project='figtest',
  25. name=name,
  26. client=self.client,
  27. image="busybox:latest",
  28. **kwargs
  29. )