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);
        }
Exemple #2
0
 protected NetworkServiceClient GetClient()
 {
     GetChannel();
     if (Client == null)
     {
         Client = new NetworkServiceClient(Channel);
     }
     return(Client);
 }
Exemple #3
0
        public NetworkPlayerController(NetworkServiceHost networkServiceHost)
        {
            NetworkServiceHost = networkServiceHost;
            Client             = NetworkServiceClient.Channel();

            /** Quand notre service reçoit le mouvement du joueur graphique de l'autre jeu dans ce cas,
             *  on l'envoie comme notre mouvment étant donné qu'on représente ce joueur dans notre partie
             */
            networkServiceHost.NetworkGameService.MoveReceived += NetworkGameServiceOnMoveReceived;
        }
        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);
        }
        private void ButtonJoin_OnClick(object sender, RoutedEventArgs e)
        {
            if (ComboBoxIP.SelectedItem == null ||
                TextBoxGameName.Text == "" ||
                TextBoxPort.Text == "" ||
                TextBoxPseudo.Text == "" ||
                TextBoxHostIP.Text == "" ||
                TextBoxHostPort.Text == "" ||
                TextBoxHostPseudo.Text == "")
            {
                _mainWindow.ShowMessageAsync("Paramètres incorrects", "Veuillez remplir tout les champs");
                return;
            }


            //Création du service
            Uri uri =
                new Uri("net.tcp://" + ComboBoxIP.SelectedItem + ":" + TextBoxPort.Text + "/" + TextBoxGameName.Text +
                        TextBoxPseudo.Text);

            NetworkServiceHost.Create(uri);
            NetworkServiceHost.Open();

            //On créer le client et on informe l'autre service de l'adresse de notre service
            Uri hostUri =
                new Uri("net.tcp://" + TextBoxHostIP.Text + ":" + TextBoxHostPort.Text + "/" + TextBoxGameName.Text +
                        TextBoxHostPseudo.Text);
            EndpointAddress endpointAddress = new EndpointAddress(hostUri);

            NetworkServiceClient.Create(endpointAddress);
            try
            {
                NetworkServiceClient.Channel().SendClientAdress(uri.ToString());
            }
            catch (Exception)
            {
                _mainWindow.ShowMessageAsync("Erreur réseau",
                                             "Il y a eu un problème lors de la connexion avec l\'autre joueur, cela peut provenir des paramètres que vous avez saisis.");
                return;
            }

            Color distantPlayerColor = NetworkServiceClient.Channel().GetColor() == "White" ? Color.White : Color.Black;
            Color color = distantPlayerColor == Color.White ? Color.Black : Color.White;

            NetworkServiceHost.GetService().PlayerColor = color;

            GameFactory gameFactory = new GameFactory();
            BoardView   boardView   = new BoardView(_container);

            Core.Game game = gameFactory.CreateGame(Mode.Network, _container, boardView, color, null);
            _mainWindow.MainControl.Content = new GameView(_mainWindow, game, boardView);
        }
Exemple #6
0
        private void NetworkGameServiceOnClientUriReceived(string uri)
        {
            LabelWait.Content = "Configuration de la partie";
            EndpointAddress endpointAddress = new EndpointAddress(uri);

            try
            {
                NetworkServiceClient.Create(endpointAddress);
            }
            catch (Exception)
            {
                NetworkServiceHost.Close();
                DialogResult = false;
            }

            LabelWait.Content = "Tentative de connexion avec le client";
            DialogResult      = true;
        }
Exemple #7
0
        private bool Ping()
        {
            string testMessage = "42";

            NetworkServiceClient.Channel().Echo(testMessage);
            try
            {
                string received = NetworkServiceClient.Channel().Echo(testMessage);
                if (received != testMessage)
                {
                    NetworkServiceHost.Close();
                    return(false);
                }
                return(true);
            }
            catch (Exception)
            {
                NetworkServiceHost.Close();
                return(false);
            }
        }
        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 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 DeleteFloatingIpWithEmptyFloatingIpIdThrows()
 {
     var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
     await client.DeleteFloatingIp(string.Empty);
 }
 public async Task CreateFloatingIpWithNullNetworkIdThrows()
 {
     var client = new NetworkServiceClient(GetValidCreds(), "Neutron", CancellationToken.None, this.ServiceLocator);
     await client.CreateFloatingIp(null);
 }