public async Task CanGetNetworks()
        {
            var ntw1 = new OpenStack.Network.Network("12345","MyNetwork", NetworkStatus.Active);
            var ntw2 = new OpenStack.Network.Network("54321", "NetworkMy", NetworkStatus.Down);
            var networks = new List<OpenStack.Network.Network>() { ntw1, ntw2 };

            this.ServicePocoClient.GetNetworksDelegate = () => Task.Factory.StartNew(() => (IEnumerable<OpenStack.Network.Network>)networks);

            var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
            var resp = await client.GetNetworks();
            Assert.IsNotNull(resp);

            var respNetworks = resp.ToList();
            Assert.AreEqual(2, respNetworks.Count());
            Assert.AreEqual(ntw1, respNetworks[0]);
            Assert.AreEqual(ntw2, respNetworks[1]);
        }
        public async Task CanGetFloatingIps()
        {
            var ip1 = new OpenStack.Network.FloatingIp("12345", "172.0.0.1", FloatingIpStatus.Active);
            var ip2 = new OpenStack.Network.FloatingIp("54321", "172.0.0.2", FloatingIpStatus.Down);
            var ips = new List<OpenStack.Network.FloatingIp>() { ip1, ip2 };

            this.ServicePocoClient.GetFloatingIpsDelegate = () => Task.Factory.StartNew(() => (IEnumerable<OpenStack.Network.FloatingIp>)ips);

            var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
            var resp = await client.GetFloatingIps();
            Assert.IsNotNull(resp);

            var respIps = resp.ToList();
            Assert.AreEqual(2, respIps.Count());
            Assert.AreEqual(ip1, respIps[0]);
            Assert.AreEqual(ip2, respIps[1]);
        }
 public async Task DeleteFloatingIpWithEmptyFloatingIpIdThrows()
 {
     var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
     await client.DeleteFloatingIp(string.Empty);
 }
        public async Task CanDeleteFloatingIp()
        {
            var ipId = "12345";
            this.ServicePocoClient.DeleteFloatingIpDelegate = (ip) => Task.Factory.StartNew(() => Assert.AreEqual(ipId, ip));

            var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
            await client.DeleteFloatingIp(ipId);
        }
 public async Task CreateFloatingIpWithNullNetworkIdThrows()
 {
     var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
     await client.CreateFloatingIp(null);
 }
        public async Task CanCreateFloatingIp()
        {
            var ip1 = new OpenStack.Network.FloatingIp("12345", "172.0.0.1", FloatingIpStatus.Active);

            this.ServicePocoClient.CreateFloatingIpDelegate = (ip) => Task.Factory.StartNew(() => ip1);

            var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
            var resp = await client.CreateFloatingIp("12345");
            Assert.IsNotNull(resp);
            Assert.AreEqual(ip1, resp);
        }