public async Task CanUpdateComputeServerMetadataWithOkResponse() { var metadata = new Dictionary<string, string>() { { "item1", "value1" }, { "item2", "value2" } }; var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.UpdateServerMetadata("1", metadata); }
public async Task ExceptionthrownWhenUpdatingComputeServerMetadataAndServerError() { var metadata = new Dictionary<string, string>() { { "item1", "value1" }, { "item2", "value2" } }; var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.UpdateServerMetadata("12345", metadata); }
public async Task CanDAssignFloatingIpWithAcceptedResponse() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.Accepted); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.AssignFloatingIp("12345", "172.0.0.1"); }
public async Task ExceptionthrownWhennAssigningAFloatingIpAndServerError() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.AssignFloatingIp("12345", "172.0.0.1"); }
public async Task CanGetComputeKeyPairsWithOkResponse() { var content = TestHelper.CreateStream(KeyPairsPayload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetKeyPairs(); Assert.IsNotNull(result); var pairs = result.ToList(); Assert.AreEqual(1, pairs.Count()); var keyPair = pairs.First(); Assert.AreEqual("MyKey", keyPair.Name); Assert.AreEqual("ABCDEF", keyPair.PublicKey); Assert.AreEqual("12345", keyPair.Fingerprint); }
public async Task ExceptionthrownWhenGettingAComputeServerAndNotAuthed() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.Unauthorized); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.GetServer("1"); }
public async Task CanGetComputeServersWithNonAuthoritativeResponse() { var content = TestHelper.CreateStream(ServersPayload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.NonAuthoritativeInformation); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetServers(); Assert.IsNotNull(result); var servers = result.ToList(); Assert.AreEqual(1, servers.Count()); var server = servers.First(); Assert.AreEqual("server1", server.Name); Assert.AreEqual("1", server.Id); Assert.AreEqual(new Uri("http://someuri.com/v2/servers/1"), server.PublicUri); Assert.AreEqual(new Uri("http://someuri.com/servers/1"), server.PermanentUri); }
public async Task CanGetComputeImageWithOkResponse() { var created = DateTime.Parse("2014-05-30T16:56:32Z").ToUniversalTime(); var updated = DateTime.Parse("2014-06-30T16:56:32Z").ToUniversalTime(); var payload = @"{ ""image"" : { ""name"": ""image1"", ""status"": ""ACTIVE"", ""updated"": ""2014-06-30T16:56:32Z"", ""created"": ""2014-05-30T16:56:32Z"", ""minRam"": 512, ""minDisk"": 10, ""progress"": 100, ""links"": [ { ""href"": ""http://someuri.com/v2/images/12345"", ""rel"": ""self"" }, { ""href"": ""http://someuri.com/images/12345"", ""rel"": ""bookmark"" } ], ""id"": ""12345"" } }"; var content = TestHelper.CreateStream(payload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetImage("12345"); Assert.IsNotNull(result); Assert.AreEqual("image1", result.Name); Assert.AreEqual("ACTIVE", result.Status); Assert.AreEqual("12345", result.Id); Assert.AreEqual(512, result.MinimumRamSize); Assert.AreEqual(10, result.MinimumDiskSize); Assert.AreEqual(100, result.UploadProgress); Assert.AreEqual(created.ToLongTimeString(), result.CreateDate.ToLongTimeString()); Assert.AreEqual(updated.ToLongTimeString(), result.LastUpdated.ToLongTimeString()); Assert.AreEqual(new Uri("http://someuri.com/images/12345"), result.PermanentUri); Assert.AreEqual(new Uri("http://someuri.com/v2/images/12345"), result.PublicUri); }
public async Task CanCreateComputeServerWithOkResponse() { var serverId = "98765"; var keyName = "MyKey"; var publicUrl = "http://15.125.87.81:8774/v2/ffe683d1060449d09dac0bf9d7a371cd/servers/" + serverId; var permUrl = "http://15.125.87.81:8774/ffe683d1060449d09dac0bf9d7a371cd/servers/" + serverId; var adminPassword = "******"; var serverFixture = @"{{ ""server"": {{ ""security_groups"": [ {{ ""name"": ""default"" }}, {{ ""name"": ""MyGroup"" }} ], ""OS-DCF:diskConfig"": ""MANUAL"", ""id"": ""{0}"", ""links"": [ {{ ""href"": ""{1}"", ""rel"": ""self"" }}, {{ ""href"": ""{2}"", ""rel"": ""bookmark"" }} ], ""adminPass"": ""{3}"" }} }}"; var payload = string.Format(serverFixture, serverId, publicUrl, permUrl, adminPassword); var content = TestHelper.CreateStream(payload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.CreateServer("MyServer", "12345", "1", "54321", keyName, new List<string>() { "MyGroup" }); Assert.IsNotNull(result); Assert.AreEqual(serverId, result.Id); Assert.AreEqual(adminPassword, result.AdminPassword); Assert.AreEqual(new Uri(publicUrl), result.PublicUri); Assert.AreEqual(new Uri(permUrl), result.PermanentUri); }
public async Task ExceptionthrownWhenCreatingAComputeServerAndServerError() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.CreateServer("MyServer", "12345", "1", "54321", string.Empty, new List<string>() { "MyGroup" }); }
public async Task CanGetComputeServerMetadataWithOkResponse() { var metadata = new Dictionary<string, string>() { { "item1", "value1" }, { "item2", "value2" } }; var content = TestHelper.CreateStream(GenerateMetadataPayload(metadata)); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var respData = await client.GetServerMetadata("1"); Assert.AreEqual(2, respData.Count); Assert.AreEqual("value1", respData["item1"]); Assert.AreEqual("value2", respData["item2"]); }
public async Task CanGetComputeFlavorsWithNonAuthoritativeResponse() { var payload = @"{ ""flavors"": [ { ""id"": ""1"", ""links"": [ { ""href"": ""http://someuri.com/v2/flavors/1"", ""rel"": ""self"" }, { ""href"": ""http://someuri.com/flavors/1"", ""rel"": ""bookmark"" } ], ""name"": ""m1.tiny"" } ] }"; var content = TestHelper.CreateStream(payload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.NonAuthoritativeInformation); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetFlavors(); Assert.IsNotNull(result); var flavors = result.ToList(); Assert.AreEqual(1, flavors.Count()); var flavor = flavors.First(); Assert.AreEqual("m1.tiny", flavor.Name); Assert.AreEqual("1", flavor.Id); Assert.AreEqual(new Uri("http://someuri.com/v2/flavors/1"), flavor.PublicUri); Assert.AreEqual(new Uri("http://someuri.com/flavors/1"), flavor.PermanentUri); }
public async Task CanGetComputeKeyPairWithNonAuthoritativeResponse() { var content = TestHelper.CreateStream(KeyPairPayload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.NonAuthoritativeInformation); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var keyPair = await client.GetKeyPair("MyKey"); Assert.IsNotNull(keyPair); Assert.AreEqual("MyKey", keyPair.Name); Assert.AreEqual("ABCDEF", keyPair.PublicKey); Assert.AreEqual("12345", keyPair.Fingerprint); }
public async Task CanDeleteComputeServerMetadataWithOkResponse() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.DeleteServerMetadata("1", "item1"); }
public async Task CanGetComputeServerWithNonAuthoritativeResponse() { var content = TestHelper.CreateStream(ServerPayload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.NonAuthoritativeInformation); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetServer("1"); Assert.IsNotNull(result); Assert.AreEqual("wfoley1", result.Name); Assert.AreEqual("1", result.Id); Assert.AreEqual(ComputeServerStatus.Active, result.Status); Assert.AreEqual(0, result.Progress); Assert.AreEqual(new Uri("http://someuri.com/v2/servers/1"), result.PublicUri); Assert.AreEqual(new Uri("http://someuri.com/servers/1"), result.PermanentUri); }
public async Task ExceptionthrownWhenDeletingComputeServerMetadataAndServerError() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.DeleteServerMetadata("1", "item1"); }
public async Task CannotGetComputeServerWithNoContent() { var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.NoContent); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); await client.GetServer("1"); }
public async Task CanGetComputeFlavorWithOkResponse() { var payload = @"{ ""flavor"": { ""name"": ""m1.tiny"", ""id"": ""1"", ""links"": [ { ""href"": ""http://someuri.com/v2/flavors/1"", ""rel"": ""self"" }, { ""href"": ""http://someuri.com/flavors/1"", ""rel"": ""bookmark"" } ], ""ram"" : 512, ""vcpus"": 2, ""disk"": 10 } }"; var content = TestHelper.CreateStream(payload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetFlavor("1"); Assert.IsNotNull(result); Assert.AreEqual("m1.tiny", result.Name); Assert.AreEqual("1", result.Id); Assert.AreEqual("512", result.Ram); Assert.AreEqual("2", result.Vcpus); Assert.AreEqual("10", result.Disk); Assert.AreEqual(new Uri("http://someuri.com/v2/flavors/1"), result.PublicUri); Assert.AreEqual(new Uri("http://someuri.com/flavors/1"), result.PermanentUri); }
public async Task CanGetComputeImagesWithOkResponse() { var payload = @"{ ""images"": [ { ""id"": ""12345"", ""links"": [ { ""href"": ""http://someuri.com/v2/images/12345"", ""rel"": ""self"" }, { ""href"": ""http://someuri.com/images/12345"", ""rel"": ""bookmark"" } ], ""name"": ""image1"" } ] }"; var content = TestHelper.CreateStream(payload); var restResp = new HttpResponseAbstraction(content, new HttpHeadersAbstraction(), HttpStatusCode.OK); this.ComputeServiceRestClient.Responses.Enqueue(restResp); var client = new ComputeServicePocoClient(GetValidContext(), this.ServiceLocator); var result = await client.GetImages(); Assert.IsNotNull(result); var images = result.ToList(); Assert.AreEqual(1, images.Count()); var image = images.First(); Assert.AreEqual("image1", image.Name); Assert.AreEqual("12345", image.Id); Assert.AreEqual(new Uri("http://someuri.com/v2/images/12345"), image.PublicUri); Assert.AreEqual(new Uri("http://someuri.com/images/12345"), image.PermanentUri); }