import docker import pytest from ..helpers import requires_api_version from .base import BaseAPIIntegrationTest class TestVolumes(BaseAPIIntegrationTest): def test_create_volume(self): name = 'perfectcherryblossom' self.tmp_volumes.append(name) result = self.client.create_volume(name) assert 'Name' in result assert result['Name'] == name assert 'Driver' in result assert result['Driver'] == 'local' def test_create_volume_invalid_driver(self): driver_name = 'invalid.driver' with pytest.raises(docker.errors.NotFound): self.client.create_volume('perfectcherryblossom', driver_name) def test_list_volumes(self): name = 'imperishablenight' self.tmp_volumes.append(name) volume_info = self.client.create_volume(name) result = self.client.volumes() assert 'Volumes' in result volumes = result['Volumes'] assert volume_info in volumes def test_inspect_volume(self): name = 'embodimentofscarletdevil' self.tmp_volumes.append(name) volume_info = self.client.create_volume(name) result = self.client.inspect_volume(name) assert volume_info == result def test_inspect_nonexistent_volume(self): name = 'embodimentofscarletdevil' with pytest.raises(docker.errors.NotFound): self.client.inspect_volume(name) def test_remove_volume(self): name = 'shootthebullet' self.tmp_volumes.append(name) self.client.create_volume(name) self.client.remove_volume(name) @requires_api_version('1.25') def test_force_remove_volume(self): name = 'shootthebullet' self.tmp_volumes.append(name) self.client.create_volume(name) self.client.remove_volume(name, force=True) @requires_api_version('1.25') def test_prune_volumes(self): name = 'hopelessmasquerade' self.client.create_volume(name) self.tmp_volumes.append(name) result = self.client.prune_volumes() assert name in result['VolumesDeleted'] def test_remove_nonexistent_volume(self): name = 'shootthebullet' with pytest.raises(docker.errors.NotFound): self.client.remove_volume(name)