コード例 #1
0
        //---------------------------------------------------------------------------------------------------

        #region Public methods
        public virtual async Task RunTest(EEnvironment environment, string token, int account)
        {
            try
            {
                Credentials.SetCredentials(environment, token, account);

                /////
                if (Credentials.GetDefaultCredentials() == null)
                {
                    throw new Exception("Exception: RestTest - Credentials must be defined to run this test");
                }

                // if run against sandbox, with no account, then autogenerate an account
                if (Credentials.GetDefaultCredentials().IsSandbox&& Credentials.GetDefaultCredentials().DefaultAccountId == 0)
                {
                    // Create a test account
                    var response = await Rest.CreateAccount();

                    Credentials.GetDefaultCredentials().DefaultAccountId = response.accountId;
                    Credentials.GetDefaultCredentials().Username         = response.username;
                }

                if (Credentials.GetDefaultCredentials().HasServer(EServer.Rates))
                {
                    await RunInstrumentListTest();

                    _marketHalted = await IsMarketHalted();

                    if (_marketHalted)
                    {
                        _results.Add("***** Market is halted! *****\n");
                    }
                    // Rates
                    await RunRatesTest();
                }
                if (Credentials.GetDefaultCredentials().HasServer(EServer.Labs))
                {
                    var labs = new LabsTest(_results);
                    await labs.Run();
                }
                Task eventsCheck = null;
                if (Credentials.GetDefaultCredentials().HasServer(EServer.StreamingEvents))
                {
                    // Streaming Notifications
                    eventsCheck = RunStreamingNotificationsTest(); // start notifications session
                }
                if (Credentials.GetDefaultCredentials().HasServer(EServer.Account))
                {
                    // Accounts
                    await RunAccountsTest();

                    // the following should generate notifications
                    // Orders
                    await RunOrdersTest();

                    // Trades
                    await RunTradesTest();

                    // Positions
                    await RunPositionsTest();

                    // Transaction History
                    await RunTransactionsTest();
                }
                if (Credentials.GetDefaultCredentials().HasServer(EServer.StreamingRates))
                {
                    // Streaming Rates
                    RunStreamingRatesTest();
                }

                if (eventsCheck != null)
                {
                    await eventsCheck; // stop notifications session
                }
            }
            catch (Exception ex)
            {
                _results.Add(ex.Message);
            }
        }
コード例 #2
0
        public async Task RunTest()
        {
            //Credentials.SetCredentials(EEnvironment.Practice, "SOME_TOKEN", 12345);

            if (Credentials.GetDefaultCredentials() == null)
            {
                throw new Exception("Credentials must be defined to run this test");
            }

            // if run against sandbox, with no account, then autogenerate an account
            if (Credentials.GetDefaultCredentials().IsSandbox&& Credentials.GetDefaultCredentials().DefaultAccountId == 0)
            {
                // Create a test account
                var response = await Rest.CreateAccount();

                Credentials.GetDefaultCredentials().DefaultAccountId = response.accountId;
                Credentials.GetDefaultCredentials().Username         = response.username;
            }

            if (Credentials.GetDefaultCredentials().HasServer(EServer.Rates))
            {
                await RunInstrumentListTest();

                _marketHalted = await IsMarketHalted();

                // Rates
                await RunRatesTest();
            }
            if (Credentials.GetDefaultCredentials().HasServer(EServer.Labs))
            {
                var labs = new LabsTest(_results);
                await labs.Run();
            }
            Task eventsCheck = null;

            if (Credentials.GetDefaultCredentials().HasServer(EServer.StreamingEvents))
            {
                // Streaming Notifications
                eventsCheck = RunStreamingNotificationsTest();
            }
            if (Credentials.GetDefaultCredentials().HasServer(EServer.Account))
            {
                // Accounts
                await RunAccountsTest();

                // Orders
                await RunOrdersTest();

                // Trades
                await RunTradesTest();

                // Positions
                await RunPositionsTest();

                // Transaction History
                await RunTransactionsTest();
            }
            if (Credentials.GetDefaultCredentials().HasServer(EServer.StreamingRates))
            {
                // Streaming Rates
                RunStreamingRatesTest();
            }

            if (eventsCheck != null)
            {
                await eventsCheck;
            }
        }