Пример #1
0
        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));
        }
Пример #2
0
        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);
        }