Ejemplo n.º 1
0
        public void CanSubscribeToStream()
        {

   
            var ctx = new Rpc.Client(new Uri(TestConfig.RpcUrl));

            ctx.BeginLogIn(TestConfig.ApiUsername, TestConfig.ApiPassword, ar =>
                {

                    EnqueueCallback(() =>
                        {
                            ctx.EndLogIn(ar);

                            Assert.IsFalse(string.IsNullOrEmpty(ctx.Session));

                        });
                    EnqueueCallback(() =>
                        {
                            var streamingClient = StreamingClientFactory.CreateStreamingClient(new Uri(TestConfig.StreamingUri), ctx.UserName, ctx.Session);
                            System.Diagnostics.Debug.WriteLine("created streaming client");
                            streamingClient.Connect();
                            System.Diagnostics.Debug.WriteLine("streaming client connected");
                        });


                    EnqueueTestComplete();


                }, null);

        }
Ejemplo n.º 2
0
        public void CanLogIn()
        {

            var ctx = new Rpc.Client(new Uri(TestConfig.RpcUrl));

            ctx.BeginLogIn(TestConfig.ApiUsername, TestConfig.ApiPassword, ar =>
            {
                ctx.EndLogIn(ar);
                EnqueueCallback(() =>
                {
                    try
                    {
                        Assert.IsFalse(string.IsNullOrEmpty(ctx.Session));
                    }
                    finally
                    {
                        EnqueueTestComplete();
                    }

                }

                    );


            }, null);

        }
        public void EnsureSilverlightCanConnect()
        {
            var client = new Rpc.Client(new Uri(TestConfig.RpcUrl));

            client.BeginLogIn(TestConfig.ApiUsername, TestConfig.ApiPassword,
                ar =>
                {
                    EnqueueCallback(() =>
                    {
                        try
                        {

                            client.EndLogIn(ar);
                            client.News.BeginListNewsHeadlines("UK", 10, ar2 =>
                                {
                                    EnqueueCallback(() =>
                                                        {
                                                            var headlines = client.News.EndListNewsHeadlines(ar2);
                                                            Assert.IsTrue(headlines.Headlines.Length > 0);
                                                            client.BeginLogOut(ar3 =>
                                                                                   {

                                                                                       EnqueueCallback(() =>
                                                                                                           {
                                                                                                               var loggedOut = client.EndLogOut(ar3);
                                                                                                               Assert.
                                                                                                                   IsTrue
                                                                                                                   (loggedOut);
                                                                                                               EnqueueTestComplete();
                                                                                                           });
                                                                                   }, null);

                                                        });


                                }, null);

                        }
                        catch (Exception exc)
                        {
                            throw;
                        }

                    });

                }, null);
        }
Ejemplo n.º 4
0
        public void CanGetHeadlines()
        {
            var rpcClient = new Rpc.Client(App.RpcUri);
            rpcClient.BeginLogIn(App.RpcUserName, App.RpcPassword, ar =>
            {
                rpcClient.EndLogIn(ar);
                Assert.IsNotNull(rpcClient.Session);
                rpcClient.News.BeginListNewsHeadlines("UK", 10, ar2 =>
                    {
                        var response = rpcClient.News.EndListNewsHeadlines(ar2);
                        Assert.IsTrue(response.Headlines.Length > 0, "expected headlines");
                        EnqueueTestComplete();
                    }, null);

            }, null);

        }
Ejemplo n.º 5
0
        public void CanLoginLogout()
        {
            var rpcClient = new Rpc.Client(App.RpcUri);
            rpcClient.BeginLogIn(App.RpcUserName, App.RpcPassword, ar =>
                {
                    rpcClient.EndLogIn(ar);
                    Assert.IsNotNull(rpcClient.Session);
                    rpcClient.BeginLogOut(ar2 =>
                        {
                            var loggedOut = rpcClient.EndLogOut(ar2);
                            Assert.IsTrue(loggedOut);
                            EnqueueTestComplete();
                        }, null);

                }, null);

        }
Ejemplo n.º 6
0
        public void CanSubscribeToStream()
        {
            var rpcClient = new Rpc.Client(App.RpcUri);
            IStreamingClient streamingClient = null;
            IStreamingListener<PriceDTO> priceListener = null;

            rpcClient.BeginLogIn(App.RpcUserName, App.RpcPassword, ar =>
            {
                rpcClient.EndLogIn(ar);

                EnqueueCallback(() =>
                    {
                        // 24/5 currency markets 
                        //   154297	GBP/USD (per 0.0001) CFD
                        //   154284	EUR/AUD (per 0.0001) CFD
                        //   99524	EUR/CAD (per 0.0001) CFD

                        Assert.IsTrue(
                            DateTime.UtcNow.DayOfWeek != DayOfWeek.Saturday &&
                            DateTime.UtcNow.DayOfWeek != DayOfWeek.Sunday,
                            "This test cannot be run as there are no prices over the weekend");

                        EnqueueCallback(() =>
                        {
                            Debug.WriteLine(string.Format("creating streaming client: streamingUri={0}, UserName={1}, Session={2}",
                                                                                        App.StreamingUri, App.RpcUserName, rpcClient.Session));
                            streamingClient = StreamingClientFactory.CreateStreamingClient(App.StreamingUri, App.RpcUserName, rpcClient.Session);
                            
                        });

                        EnqueueCallback(() =>
                        {

                            priceListener = streamingClient.BuildPricesListener(new[] { 154297, 154284, 99524 });
                        });


                        EnqueueCallback(() =>
                        {
                            priceListener.MessageReceived += (s, e) =>
                            {
                                PriceDTO actual = null;
                                actual = e.Data;
                                
                                Assert.IsNotNull(actual);
                                Assert.IsFalse(string.IsNullOrEmpty(actual.AuditId));

                                Assert.IsTrue(actual.Price > 0);
                                EnqueueTestComplete();
                            };

                            
                        });
                        

                    });


            }, null);

        }