Esempio n. 1
0
        public async Task TestListFiProfiles()
        {
            // Retrieve financial institutions
            var financialInstitutions = OFX2Service.ListFinancialInstitutions();

            // Default empty credentials
            var emptyCredentials = new Credentials("","");

            // Step through each, count success and failure
            int successCount = 0;
            int failureCount = 0;
            foreach (var fi in financialInstitutions)
            {
                var ofxService = new OFX2Service(fi, emptyCredentials);

                // Only test a few entries during a normal run. Each entry can take a significant amount of time to test.
                if (successCount + failureCount > 5)
                    continue;

                try
                {
                    var profiles = await ofxService.ListProfiles();

                    // At least 1 profile should come back
                    if (profiles.Items.Length == 0)
                    {
                        // Manual diagnostics assistance
                        Trace.WriteLine("No profiles returned for " + fi.Name + " at " + fi.ServiceEndpoint);
                        failureCount++;
                    }
                    else
                    {
                        successCount++;
                    }
                }
                catch (Exception)
                {
                    // Any exception is a failure
                    failureCount++;

                    // Manual diagnostics assistance
                    Trace.WriteLine("Failed to list profiles for " + fi.Name + " at " + fi.ServiceEndpoint);
                }
            }

            // At least 1 of the profiles should succed
            Assert.IsTrue(successCount >= 1);

        }