public string ExecuteInnerTest(string testName, string testCase) { TestTarget testTarget = (TestTarget)_testApplication.Targets.FirstOrDefault(x => x.Name == testName); TestTargetCredentials innerCreds = (TestTargetCredentials)_testApplication.Environments[0].credentials; TestTargetTestCases tc = testTarget?.TestCases.FirstOrDefault(x => x.name == testCase); var res = _testHelper.RunTest(testTarget, _testApplication.Client, testCase, InnerToken(innerCreds.username, innerCreds.password), ""); if (res?.Response.StatusCode == (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), tc.resultCode.ToString())) { return($"SUCCESS: Status: {res?.Response.StatusCode}"); } return($"FAILURE: {res?.Response.StatusCode} : {res?.Response.ErrorMessage}"); }
static void Main(string[] args) { TestHelper TestHelpers = new TestHelper(); Stopwatch sw = new Stopwatch(); sw.Start(); ApigeeApiTests _apigeeTests = new ApigeeApiTests(TestHelpers); var testapp = _apigeeTests.testApplication; foreach (var test in testapp.Targets) { ProductApp apigeeApp = (ProductApp)testapp.Environments[0].ProductApps.FirstOrDefault(x => x.ID == test?.ProductAppID); foreach (var testCase in test.TestCases) { if (testCase.name == "InvalidToken") { _apigeeTests.useInvalidToken = true; } if (testCase.name == "InvalidApiKey") { _apigeeTests.useInvalidApiKey = true; } TestHelpers.RunTest(test, testapp.Client, testCase.name, _apigeeTests.useInvalidToken ? "" : _apigeeTests.ApigeeToken(apigeeApp?.ClientID, apigeeApp?.ClientSecret), _apigeeTests.useInvalidApiKey ? "" : apigeeApp?.ClientID); _apigeeTests.useInvalidToken = false; _apigeeTests.useInvalidApiKey = false; } } //* BxhApiTests _bxhTests = new BxhApiTests(TestHelpers); var bxhTestApp = _bxhTests.testApplication; foreach (var test in bxhTestApp.Targets) { foreach (var testCase in test.TestCases) { if (testCase.name == "InvalidApiKey") { _bxhTests.useInvalidApiKey = true; } TestHelpers.RunTest(test, bxhTestApp.Client, testCase.name, _bxhTests.useInvalidApiKey ? "" : test.Headers.FirstOrDefault(x => x.key == "x-api-key").value, ""); _bxhTests.useInvalidApiKey = false; } } //*/ CoreApiTests _coreTests = new CoreApiTests(TestHelpers); var coreTestApp = _coreTests._testApplication; foreach (var test in coreTestApp.Targets) { foreach (var testCase in test.TestCases) { if (testCase.name == "InvalidApiKey") { _coreTests.useInvalidApiKey = true; } TestHelpers.RunTest(test, coreTestApp.Client, testCase.name, _coreTests.useInvalidApiKey ? "" : test.Headers.FirstOrDefault(x => x.key == "x-api-key").value, ""); _coreTests.useInvalidApiKey = false; } } InnerApiTests _innerTests = new InnerApiTests(TestHelpers); var innerTestApp = _innerTests._testApplication; foreach (var test in innerTestApp.Targets) { TestTargetCredentials innerCreds = (TestTargetCredentials)innerTestApp.Environments[0].credentials; foreach (var testCase in test.TestCases) { TestHelpers.RunTest(test, innerTestApp.Client, testCase.name, _innerTests.InnerToken(innerCreds.username, innerCreds.password), ""); _apigeeTests.useInvalidToken = false; _apigeeTests.useInvalidApiKey = false; } } sw.Stop(); var passing = TestHelpers.TestResults.Count(x => x.Status == "PASSED"); var failing = TestHelpers.TestResults.Count(x => x.Status == "FAILED"); Console.WriteLine(); Console.WriteLine(); TestHelpers.Logger.Information("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine(); TestHelpers.Logger.Information($"Elapsed time: {sw.Elapsed}"); Console.WriteLine(); TestHelpers.Logger.Information($"Tests Passing: {passing}"); TestHelpers.Logger.Information($"Tests Failing: {failing}"); Console.ReadLine(); }