/// <summary> /// Fetches all pacts and verifies them. Returns all test results. /// </summary> /// <param name="providerName">The name of the provider, as stated in the pacts.</param> /// <returns>Testresults. Use <seealso cref="ITestResult.Success" /> to check the results of each pact.</returns> public async Task <IEnumerable <ITestResult> > Verify(string providerName) { var repo = new PactRepo(configuration); var results = new List <ITestResult>(); foreach (var pact in repo.FetchAll(providerName)) { using (var server = new TestServer(new WebHostBuilder().UseStartup <TStartup>(pact, setup))) using (var client = server.CreateClient()) { var result = await pact.Verify(client); var args = new PactResultEventArgs(pact, result); Verified?.Invoke(this, args); if (!result.Success) { VerificationFailed?.Invoke(this, args); pact.Configuration.LogSafe(LogLevel.Error, $"Assertion failed:{Environment.NewLine}{result}{Environment.NewLine}"); } results.Add(result); } } if (!(DoNotGenerateOneDummyTestResultWhenNoPactsAreFound || results.Any())) { results.Add(new DummyTestResult()); } return(results); }
private void RaiseVerifiedEvent() { Verified?.Invoke(this, EventArgs.Empty); }
private void InvokeVerified(SysCheckType checkType, bool verified) { Verified?.Invoke(_type, checkType, verified); }