Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        public static VerificationRecord UpdateFrom(this VerificationRecord record, PactnetVerificationResult result)
        {
            record.Exception = result.Exception;

            record.Logs = result.Logs;

            record.Success = result.Success;

            return(record);
        }
Пример #3
0
        public static VerificationRecord UpdateFrom(this VerificationRecord record, Models.Pact pact, Interaction interaction)
        {
            record.Interaction = new InteractionInfo().UpdateFrom(pact, interaction);

            return(record);
        }
Пример #4
0
 public static string DescribeInteraction(this VerificationRecord record)
 {
     return($"{record.Interaction.ProviderName}<>{record.Interaction.ConsumerName} :: " +
            $"{record.Interaction.RequestMethod} > {record.Interaction.RequestPath}");
 }