public async Task VolumesTest() { var volume = await _testData.CreateVolume(); await volume.WaitUntilAvailableAsync(); Assert.NotNull(volume.Id); Assert.NotNull(volume.Name); Assert.Null(volume.Description); Assert.Null(volume.SourceSnapshotId); Assert.Empty(volume.Attachments); var volumeDetails = await _compute.GetVolumeAsync(volume.Id); Assert.Equal(volume.Id, volumeDetails.Id); Assert.Equal(volume.Name, volumeDetails.Name); Assert.Equal(volume.Description, volumeDetails.Description); Assert.Equal(volumeDetails.SourceSnapshotId, volumeDetails.SourceSnapshotId); Assert.Empty(volumeDetails.Attachments); var results = await _compute.ListVolumesAsync(); Assert.NotNull(results); Assert.Contains(volume.Id, results.Select(x => x.Id)); }
public void DeleteVolumes(IEnumerable <Volume> volumes) { var gets = volumes.Select(v => _compute.GetVolumeAsync(v.Id)).ToArray(); Task.WaitAll(gets); var serverDeletes = gets.SelectMany(v => v.Result.Attachments.Select(a => a.ServerId)) .Select(serverId => _compute.WaitUntilServerIsDeletedAsync(serverId)).ToArray(); Task.WaitAll(serverDeletes); var deletes = volumes.Select(x => x.DeleteAsync()).ToArray(); Task.WaitAll(deletes); }