public void FindServiceOnAPage() { using (var httpTest = new HttpTest()) { httpTest.RespondWithJson(new ServiceCollection { Services = {new Service()}, ServiceLinks = {new Link("next", "http://api.com/next")} }); httpTest.RespondWithJson(new ServiceCollection { Services = {new Service {Name = "MyService"}} }); var currentPage = _cdnService.ListServices(); Service myService; do { myService = currentPage.FirstOrDefault(x => x.Name == "MyService"); if (myService != null) break; currentPage = currentPage.GetNextPage(); } while (currentPage.Any()); Assert.NotNull(myService); } }
public void SerializeListServerOptionsInUrl() { using (var httpTest = new HttpTest()) { httpTest.RespondWithJson(new ServerSummaryCollection()); _compute.ListServerSummaries(new ServerListOptions()); httpTest.ShouldNotHaveCalled("*metadata*"); } }
public void ListServerAddresses() { using (var httpTest = new HttpTest()) { Identifier serverId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerCollection { new Server { Id = serverId } }); httpTest.RespondWithJson(new ServerAddressCollection {["ServiceNet"] = new List<ServerAddress> {new ServerAddress {IP = "192.168.1.189"}}}); var serverReferences = _compute.ListServerSummaries(); var results = serverReferences.First().ListAddresses(); httpTest.ShouldHaveCalled($"*/servers/{serverId}/ips"); Assert.NotNull(results); Assert.True(results.ContainsKey("ServiceNet")); var result = results["ServiceNet"].First(); Assert.Equal("192.168.1.189", result.IP); } }
public void GetService() { using (var httpTest = new HttpTest()) { httpTest.RespondWithJson(new Service{Id = "service-id"}); var service = _cdnService.GetService("service-id"); Assert.NotNull(service); Assert.Equal("service-id", service.Id); } }
public async void When401UnauthorizedIsReturned_RetryRequest() { using (var httpTest = new HttpTest()) { httpTest.RespondWith((int)HttpStatusCode.Unauthorized, "Your token has expired"); httpTest.RespondWithJson(new Flavor()); var service = new ContentDeliveryNetworkService(Stubs.AuthenticationProvider, "DFW"); var flavor = await service.GetFlavorAsync("flavor-id"); Assert.NotNull(flavor); } }
public void GetServerAddress() { using (var httpTest = new HttpTest()) { Identifier serverId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerCollection { new Server { Id = serverId } }); httpTest.RespondWithJson(new Dictionary<string, IList<ServerAddress>> { ["private"] = new List<ServerAddress> { new ServerAddress {IP = "1.2.3.4"} } }); var serverReferences = _compute.ListServerSummaries(); var result = (serverReferences.First().GetAddress("private")).First(); httpTest.ShouldHaveCalled($"*/servers/{serverId}/ips/private"); Assert.NotNull(result); Assert.Equal("1.2.3.4", result.IP); } }
public void GetPorts() { using (var httpTest = new HttpTest()) { Identifier portId = Guid.NewGuid(); httpTest.RespondWithJson(new Port { Id = portId }); var port = _networkingService.GetPort(portId); httpTest.ShouldHaveCalled("*/ports/" + portId); Assert.NotNull(port); Assert.Equal(portId, port.Id); } }
public void DeleteServerGroup(HttpStatusCode responseCode) { using (var httpTest = new HttpTest()) { Identifier serverGroupId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerGroup { Id = serverGroupId }); httpTest.RespondWith((int)responseCode, "All gone!"); var serverGroup = _compute.GetServerGroup(serverGroupId); serverGroup.Delete(); httpTest.ShouldHaveCalled($"*/os-server-groups/{serverGroupId}"); } }
public void GetVolumeSnapshot() { using (var httpTest = new HttpTest()) { Identifier snapshotId = Guid.NewGuid(); httpTest.RespondWithJson(new VolumeSnapshot { Id = snapshotId }); var result = _compute.GetVolumeSnapshot(snapshotId); httpTest.ShouldHaveCalled($"*/os-snapshots/{snapshotId}"); Assert.NotNull(result); Assert.Equal(snapshotId, result.Id); } }
public void GetNetwork() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); httpTest.RespondWithJson(new Network { Id = networkId }); var network = _networkingService.GetNetwork(networkId); httpTest.ShouldHaveCalled("*/networks/" + networkId); Assert.NotNull(network); Assert.Equal(networkId, network.Id); } }
public void GetConsole() { using (var httpTest = new HttpTest()) { Identifier serverId = Guid.NewGuid(); httpTest.RespondWithJson(new Console {Type = RemoteConsoleType.NoVnc}); Console result = _computeService.GetConsole(serverId, ConsoleProtocol.VNC, RemoteConsoleType.NoVnc); httpTest.ShouldHaveCalled($"*/servers/{serverId}/remote-consoles"); Assert.NotNull(result); Assert.Equal(RemoteConsoleType.NoVnc, result.Type); } }
public void GetSubnets() { using (var httpTest = new HttpTest()) { Identifier subnetId = Guid.NewGuid(); httpTest.RespondWithJson(new Subnet { Id = subnetId }); var subnet = _networkingService.GetSubnet(subnetId); httpTest.ShouldHaveCalled("*/subnets/" + subnetId); Assert.NotNull(subnet); Assert.Equal(subnetId, subnet.Id); } }
public void ListSubnets() { using (var httpTest = new HttpTest()) { Identifier subnetId = Guid.NewGuid(); httpTest.RespondWithJson(new SubnetCollection(new[] {new Subnet {Id = subnetId}})); var subnets = _networkingService.ListSubnets(); httpTest.ShouldHaveCalled("*/subnets"); Assert.NotNull(subnets); Assert.Equal(1, subnets.Count()); Assert.Equal(subnetId, subnets.First().Id); } }
public void CreateVolume() { using (var httpTest = new HttpTest()) { Identifier volumeId = Guid.NewGuid(); httpTest.RespondWithJson(new Volume {Id = volumeId}); var request = new VolumeDefinition(size: 1); var result = _compute.CreateVolume(request); httpTest.ShouldHaveCalled("*/os-volumes"); Assert.Equal(volumeId, result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void CreateNetwork() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); httpTest.RespondWithJson(new Network{Id = networkId}); var definition = new NetworkDefinition(); var network = _networkingService.CreateNetwork(definition); httpTest.ShouldHaveCalled("*/networks"); Assert.NotNull(network); Assert.Equal(networkId, network.Id); } }
public void GetRouter() { using (var httpTest = new HttpTest()) { Identifier routerId = Guid.NewGuid(); httpTest.RespondWithJson(new Router { Id = routerId }); var result = _networking.GetRouter(routerId); httpTest.ShouldHaveCalled($"*/routers/{routerId}"); Assert.NotNull(result); Assert.Equal(routerId, result.Id); Assert.IsType<NetworkingApiBuilder>(((IServiceResource)result).Owner); } }
public void ListNetworks() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); httpTest.RespondWithJson(new NetworkCollection(new[] {new Network {Id = networkId}})); var networks = _networkingService.ListNetworks(); httpTest.ShouldHaveCalled("*/networks"); Assert.NotNull(networks); Assert.Equal(1, networks.Count()); Assert.Equal(networkId, networks.First().Id); } }
public void GetServerGroup() { using (var httpTest = new HttpTest()) { Identifier serverGroupId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerGroup { Id = serverGroupId }); var result = _compute.GetServerGroup(serverGroupId); httpTest.ShouldHaveCalled($"*/os-server-groups/{serverGroupId}"); Assert.NotNull(result); Assert.Equal(serverGroupId, result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void GetVolume() { using (var httpTest = new HttpTest()) { Identifier volumeId = Guid.NewGuid(); httpTest.RespondWithJson(new Volume { Id = volumeId }); var result = _compute.GetVolume(volumeId); httpTest.ShouldHaveCalled($"*/os-volumes/{volumeId}"); Assert.NotNull(result); Assert.Equal(volumeId, result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void CreateServerMetadata() { using (var httpTest = new HttpTest()) { const string key = "stuff"; Identifier serverId = "1"; httpTest.RespondWithJson(new Server { Id = serverId }); var server = _compute.GetServer(serverId); server.Metadata.Create(key, "things"); Assert.True(server.Metadata.ContainsKey(key)); httpTest.ShouldHaveCalled($"*/servers/{serverId}/metadata/{key}"); } }
public void CreateServerGroup() { using (var httpTest = new HttpTest()) { Identifier serverGroupId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerGroup {Id = serverGroupId}); var request = new ServerGroupDefinition("{name}", "{policy-name}"); var result = _compute.CreateServerGroup(request); httpTest.ShouldHaveCalled("*/os-server-groups"); Assert.Equal(serverGroupId, result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void CreateServer() { using (var httpTest = new HttpTest()) { Identifier serverId = Guid.NewGuid(); httpTest.RespondWithJson(new Server {Id = serverId}); var definition = new ServerCreateDefinition("{name}", Guid.NewGuid(), "{flavor-id}"); var result = _compute.CreateServer(definition); httpTest.ShouldHaveCalled("*/servers"); Assert.NotNull(result); Assert.Equal(serverId,result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void CreateNetworks() { using (var httpTest = new HttpTest()) { httpTest.RespondWithJson(new NetworkCollection(new[] { new Network { Name = "network-1"}, new Network{Name = "network-2"} })); var definitions = new[] {new NetworkDefinition(), new NetworkDefinition()}; var networks = _networkingService.CreateNetworks(definitions); httpTest.ShouldHaveCalled("*/networks"); Assert.NotNull(networks); Assert.Equal(2, networks.Count()); Assert.Equal("network-1", networks.First().Name); Assert.Equal("network-2", networks.Last().Name); } }
public async Task EvacuateServer() { using (var httpTest = new HttpTest()) { Identifier serverId = Guid.NewGuid(); httpTest.RespondWithJson(new Server { Id = serverId }); httpTest.RespondWith((int)HttpStatusCode.Accepted, "Roger that, boss"); var server = _compute.GetServer(serverId); await server.EvacuateAsync(new EvacuateServerRequest(false)); httpTest.ShouldHaveCalled($"*/servers/{serverId}/action"); string lastRequest = httpTest.CallLog.Last().RequestBody; Assert.True(lastRequest.Contains("evacuate")); } }
public void CreatePort() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); Identifier portId = Guid.NewGuid(); httpTest.RespondWithJson(new Port { Id = portId }); var definition = new PortCreateDefinition(networkId); var port = _networkingService.CreatePort(definition); httpTest.ShouldHaveCalled("*/ports"); Assert.NotNull(port); Assert.Equal(portId, port.Id); } }
public void CreateSubnet() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); Identifier subnetId = Guid.NewGuid(); httpTest.RespondWithJson(new Subnet { Id = subnetId }); var definition = new SubnetCreateDefinition(networkId, IPVersion.IPv4, "10.0.0.0/24"); var subnet = _networkingService.CreateSubnet(definition); httpTest.ShouldHaveCalled("*/subnets"); Assert.NotNull(subnet); Assert.Equal(subnetId, subnet.Id); } }
public void CreateRouter() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); Identifier routerId = Guid.NewGuid(); httpTest.RespondWithJson(new Router { Id = routerId, ExternalGateway = new ExternalGateway { ExternalNetworkId = networkId } }); var definition = new RouterCreateDefinition(); var result = _networking.CreateRouter(definition); httpTest.ShouldHaveCalled("*/routers"); Assert.NotNull(result); Assert.Equal(routerId, result.Id); Assert.Equal(networkId, result.ExternalGateway.ExternalNetworkId); Assert.IsType<NetworkingApiBuilder>(((IServiceResource)result).Owner); } }
public void ListRouters() { using (var httpTest = new HttpTest()) { Identifier routerId = Guid.NewGuid(); httpTest.RespondWithJson(new RouterCollection { new Router { Id = routerId } }); var results = _networking.ListRouters(new RouterListOptions { Status = RouterStatus.Active }); httpTest.ShouldHaveCalled("*/routers?status=ACTIVE"); Assert.Equal(1, results.Count()); var result = results.First(); Assert.Equal(routerId, result.Id); Assert.IsType<NetworkingApiBuilder>(((IServiceResource)result).Owner); } }
public void ListServerGroups() { using (var httpTest = new HttpTest()) { Identifier serverGroupId = Guid.NewGuid(); httpTest.RespondWithJson(new ServerGroupCollection { new ServerGroup {Id = serverGroupId} }); var results = _compute.ListServerGroups(); httpTest.ShouldHaveCalled("*/os-server-groups"); Assert.Equal(1, results.Count()); var result = results.First(); Assert.Equal(serverGroupId, result.Id); Assert.IsType<ComputeApi>(((IServiceResource)result).Owner); } }
public void CreateSubnets() { using (var httpTest = new HttpTest()) { Identifier networkId = Guid.NewGuid(); httpTest.RespondWithJson(new SubnetCollection(new[] { new Subnet { Name = "subnet-1" }, new Subnet { Name = "subnet-2" } })); var definitions = new[] { new SubnetCreateDefinition(networkId, IPVersion.IPv4, "{cidr-1}"), new SubnetCreateDefinition(networkId, IPVersion.IPv6, "{cidr-2}") }; var subnets = _networkingService.CreateSubnets(definitions); httpTest.ShouldHaveCalled("*/subnets"); Assert.NotNull(subnets); Assert.Equal(2, subnets.Count()); Assert.Equal("subnet-1", subnets.First().Name); Assert.Equal("subnet-2", subnets.Last().Name); } }