//--------------------------------------------------------------------------------------------------- #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); } }
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; } }