def test_create_volume_group_snapshot_bad_status(self, mock_is_cg, mock_get_id, mock_create): mock_create.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.create_group_snapshot, self.context, self.group_snapshot, []) self.assertIn("Failed to create snapshot", error.msg)
def test_create_volume_from_source_bad_status(self, mock_create_request): mock_create_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises( exception.VolumeBackendAPIException, self.driver.adapter.create_volume_from_source, self.volume, self.source_volume) self.assertIn("Failed to create clone", error.msg)
def test_delete_volume_detach_not_found(self, mock_delete, mock_mapped_hosts, mock_detach_request): mock_mapped_hosts.return_value = ["fake_host_id"] mock_detach_request.return_value = powerstore.MockResponse(content={}, rc=404) self.driver.delete_volume(self.volume)
def test_create_volume_group_bad_status(self, mock_is_cg, mock_create_request): mock_create_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.create_group, self.context, self.group) self.assertIn("Failed to create PowerStore volume group", error.msg)
def test_extend_volume_bad_status(self, mock_extend_request): mock_extend_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.extend_volume, self.volume, 16) self.assertIn("Failed to extend PowerStore volume", error.msg)
def test_delete_volume_group_bad_status(self, mock_is_cg, mock_get_id, mock_delete): mock_delete.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.delete_group, self.context, self.group, []) self.assertIn("Failed to delete PowerStore volume group", error.msg)
def test_delete_snapshot_bad_status(self, mock_delete): mock_delete.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises( exception.VolumeBackendAPIException, self.driver.delete_snapshot, self.snapshot ) self.assertIn("Failed to delete PowerStore snapshot", error.msg)
def test_update_volume_stats_bad_status(self, mock_metrics, mock_appliance): mock_appliance.return_value = "A1" mock_metrics.return_value = powerstore.MockResponse(rc=400) self.driver.check_for_setup_error() error = self.assertRaises(exception.VolumeBackendAPIException, self.driver._update_volume_stats) self.assertIn("Failed to query metrics", error.msg)
def test_delete_volume_detach_bad_status(self, mock_delete, mock_mapped_hosts, mock_detach_request): mock_mapped_hosts.return_value = ["fake_host_id"] mock_detach_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.delete_volume, self.volume) self.assertIn("Failed to detach PowerStore volume", error.msg)
def test_create_snapshot_bad_status(self, mock_create_request): mock_create_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises( exception.VolumeBackendAPIException, self.driver.create_snapshot, self.snapshot ) self.assertIn("Failed to create snapshot", error.msg)
def test_revert_to_snapshot_bad_status(self, mock_revert): mock_revert.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises( exception.VolumeBackendAPIException, self.driver.revert_to_snapshot, {}, self.volume, self.snapshot ) self.assertIn("Failed to restore PowerStore volume", error.msg)
def test_delete_volume_detach_not_mapped(self, mock_delete, mock_mapped_hosts, mock_detach_request): mock_mapped_hosts.return_value = ["fake_host_id"] mock_detach_request.return_value = powerstore.MockResponse(content={ "messages": [ { "code": client.VOLUME_NOT_MAPPED_ERROR, }, ], }, rc=422) self.driver.delete_volume(self.volume)
def test_failover_volume_failover_error(self, mock_rep_session, mock_failover, mock_wait_failover): mock_wait_failover.return_value = powerstore.MockResponse(content={ "state": "FAILED", "response_body": None, }, rc=200) updates = self.driver.adapter.failover_volume(self.volume, is_failback=False) self.assertEqual(self.volume.id, updates["volume_id"]) self.assertEqual(fields.ReplicationStatus.FAILOVER_ERROR, updates["updates"]["replication_status"])
def test_failover_volume_already_failed_over(self, mock_rep_session, mock_failover, mock_wait_failover): mock_wait_failover.return_value = powerstore.MockResponse(content={ "response_body": { "messages": [ { "code": client.SESSION_ALREADY_FAILED_OVER_ERROR, }, ], }, }, rc=200) updates = self.driver.adapter.failover_volume(self.volume, is_failback=False) self.assertIsNone(updates)
def test_delete_volume_not_found(self, mock_delete_request, mock_detach): mock_delete_request.return_value = powerstore.MockResponse(rc=404) self.driver.delete_volume(self.volume)
def test_update_volume_group_add_volumes_bad_status( self, mock_is_cg, mock_get_vg_id, mock_add_volumes): mock_add_volumes.return_value = powerstore.MockResponse(rc=400) self.assertRaises(exception.VolumeBackendAPIException, self.driver.update_group, self.context, self.group, [self.volume1], [])
def test_delete_volume_bad_status(self, mock_delete, mock_detach): mock_delete.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.delete_volume, self.volume) self.assertIn("Failed to delete PowerStore volume", error.msg)
def test_configuration_appliance_bad_status(self, mock_get_request): mock_get_request.return_value = powerstore.MockResponse(rc=400) error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.check_for_setup_error) self.assertIn("Failed to query PowerStore appliances.", error.msg)
def test_configuration_appliance_not_found(self, mock_get_request): mock_get_request.return_value = powerstore.MockResponse() error = self.assertRaises(exception.VolumeBackendAPIException, self.driver.check_for_setup_error) self.assertIn("not found", error.msg)