private void VerifyAgainst(Models.Pact pact, List <VerificationRecord> verificationRecords) { var splitPacts = pact.SplitByEndpoint(true); var selectedToTestEndpoints = new EndpointFilter().Filter(splitPacts); foreach (var ep in selectedToTestEndpoints) { var singleInteractions = ep.Value.SplitByInteractions(); foreach (var singleInteraction in singleInteractions) { var interaction = singleInteraction.Interactions[0]; var publishResultViaBroker = PactnetVerificationPublish.InterceptPactBeforeVerification(singleInteraction, interaction); var verificationRecord = new VerificationRecord().UpdateFrom(singleInteraction, interaction); using (var pactVerifier = _pactVerifierFactory(publishResultViaBroker)) { var requestFilters = _filtersBuilder.Build(); pactVerifier.AddRequestFilters(requestFilters); var result = pactVerifier.Verify(singleInteraction); verificationRecord.UpdateFrom(result[0]); } verificationRecords.Add(verificationRecord); } } }
public static VerificationRecord UpdateFrom(this VerificationRecord record, PactnetVerificationResult result) { record.Exception = result.Exception; record.Logs = result.Logs; record.Success = result.Success; return(record); }
public static VerificationRecord UpdateFrom(this VerificationRecord record, Models.Pact pact, Interaction interaction) { record.Interaction = new InteractionInfo().UpdateFrom(pact, interaction); return(record); }
public static string DescribeInteraction(this VerificationRecord record) { return($"{record.Interaction.ProviderName}<>{record.Interaction.ConsumerName} :: " + $"{record.Interaction.RequestMethod} > {record.Interaction.RequestPath}"); }