public async Task SnapshotServerTest() { var server = await _testData.CreateServer(); await server.WaitUntilActiveAsync(); Trace.WriteLine($"Created server named: {server.Name}"); var request = new SnapshotServerRequest(server.Name + "-SNAPSHOT") { Metadata = { ["category"] = "ci" } }; Trace.WriteLine("Taking a snapshot of the server..."); var image = await server.SnapshotAsync(request); _testData.Register(image); await image.WaitUntilActiveAsync(); Assert.NotNull(image); Assert.Equal(request.Name, image.Name); Assert.True(image.Metadata["category"] == "ci"); }
public async Task FindSnapshotsTest() { Trace.WriteLine("Creating a test server..."); var server = await _testData.CreateServer(); await server.WaitUntilActiveAsync(); Trace.WriteLine("Snapshotting server..."); var snapshot = await server.SnapshotAsync(new SnapshotServerRequest(server.Name + "SNAPSHOT")); _testData.Register(snapshot); Trace.WriteLine("Getting snapshot details..."); var results = await _compute.ListImagesAsync(new ImageListOptions { Type = ImageType.Snapshot }); Assert.NotNull(results); Assert.All(results, x => Assert.Equal(ImageType.Snapshot, x.Type)); Assert.Contains(results, image => image.Id == snapshot.Id); }
public async Task AttachVolumeTest() { var server = await _testData.CreateServer(); await server.WaitUntilActiveAsync(); var volume = await _testData.CreateVolume(); await volume.WaitUntilAvailableAsync(); var serverVolume = await server.AttachVolumeAsync(new ServerVolumeDefinition(volume.Id)); _testData.Register(serverVolume); await volume.WaitForStatusAsync(VolumeStatus.InUse); volume = await _compute.GetVolumeAsync(volume.Id); serverVolume = volume.Attachments.FirstOrDefault(); Assert.NotNull(serverVolume); Assert.Equal(server.Id, serverVolume.ServerId); Assert.Equal(volume.Id, serverVolume.VolumeId); }
public async Task ImportKeyPairTest() { var definition = new KeyPairDefinition(TestData.GenerateName(), "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrBzodZLiWO6nIGGy9ZOVeFhbF6EaG8HUqrknNVKynH6+Hc5ToY71gmeQGJ7XZTAlyKKdFmPhNPCQCYqFQxjPKD3xTIAoGChlRHfkjYwjefbqxFswi9S0Fi3Lq8mawUVuPmPnuTr8KhL8ibnBbAxZnrcfTKBIoxhU+kN56CCmLnkJc5ouG/UcF+UpqUso45pYRf0YWANyyuafyCmj6NiDxMCGy/vnKUBLzMg8wQ01xGSGOfyGDIwuTFZpoPzjeqEV8oUGvxYt9Xyzh/pPKoOz1cz0wBDaVDpucTz3UEq65F9HhCmdwwjso8MP1K46LkM2JNQWQ0eTotqFvUJEoP2ff Generated-by-Nova"); Trace.WriteLine($"Importing keypair named: {definition.Name}"); var keypair = await _compute.ImportKeyPairAsync(definition); _testData.Register(keypair); Trace.WriteLine("Verifying keypair matches requested definition..."); Assert.NotNull(keypair); Assert.Equal(definition.Name, keypair.Name); Assert.NotNull(keypair.Fingerprint); }