volume_test.py 1.6 KB

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