volume_test.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from __future__ import absolute_import
  2. from __future__ import unicode_literals
  3. from docker.errors import DockerException
  4. from .testcases import DockerClientTestCase
  5. from compose.volume import Volume
  6. class VolumeTest(DockerClientTestCase):
  7. def setUp(self):
  8. self.tmp_volumes = []
  9. def tearDown(self):
  10. for volume in self.tmp_volumes:
  11. try:
  12. self.client.remove_volume(volume.full_name)
  13. except DockerException:
  14. pass
  15. def create_volume(self, name, driver=None, opts=None):
  16. vol = Volume(
  17. self.client, 'composetest', name, driver=driver, driver_opts=opts
  18. )
  19. self.tmp_volumes.append(vol)
  20. return vol
  21. def test_create_volume(self):
  22. vol = self.create_volume('volume01')
  23. vol.create()
  24. info = self.client.inspect_volume(vol.full_name)
  25. assert info['Name'] == vol.full_name
  26. def test_recreate_existing_volume(self):
  27. vol = self.create_volume('volume01')
  28. vol.create()
  29. info = self.client.inspect_volume(vol.full_name)
  30. assert info['Name'] == vol.full_name
  31. vol.create()
  32. info = self.client.inspect_volume(vol.full_name)
  33. assert info['Name'] == vol.full_name
  34. def test_inspect_volume(self):
  35. vol = self.create_volume('volume01')
  36. vol.create()
  37. info = vol.inspect()
  38. assert info['Name'] == vol.full_name
  39. def test_remove_volume(self):
  40. vol = Volume(self.client, 'composetest', 'volume01')
  41. vol.create()
  42. vol.remove()
  43. volumes = self.client.volumes()['Volumes']
  44. assert len([v for v in volumes if v['Name'] == vol.full_name]) == 0