public void GetMatchingMockInteraction_WithInteractionsNull_ThrowsPactFailureException() { var context = new NancyContext(); context.Items[Constants.PactMockInteractionsKey] = null; Assert.Throws <PactFailureException>(() => context.GetMatchingMockInteraction(HttpVerb.Get, "/events")); }
private Response HandlePactRequest(NancyContext context) { var actualRequest = _requestMapper.Convert(context.Request); var matchingInteraction = context.GetMatchingMockInteraction(actualRequest.Method, actualRequest.Path); _mockProviderRepository.AddHandledRequest(new HandledRequest(actualRequest, matchingInteraction)); return(_responseMapper.Convert(matchingInteraction.Response)); }
public void GetMatchingMockInteraction_WithNoMatchingInteraction_ThrowsPactFailureException() { var interactions = new List <ProviderServiceInteraction> { new ProviderServiceInteraction { Request = new ProviderServiceRequest { Method = HttpVerb.Get, Path = "/hello" }, Response = new ProviderServiceResponse() } }; var context = new NancyContext(); context.SetMockInteraction(interactions); Assert.Throws <PactFailureException>(() => context.GetMatchingMockInteraction(HttpVerb.Get, "/events")); }
public void GetMatchingMockInteraction_WithOneMatchingInteraction_ReturnsInteraction() { var interactions = new List <ProviderServiceInteraction> { new ProviderServiceInteraction { Request = new ProviderServiceRequest { Method = HttpVerb.Get, Path = "/events" }, Response = new ProviderServiceResponse() }, new ProviderServiceInteraction { Request = new ProviderServiceRequest { Method = HttpVerb.Post, Path = "/events" }, Response = new ProviderServiceResponse() }, }; var context = new NancyContext(); context.SetMockInteraction(interactions); var result = context.GetMatchingMockInteraction(HttpVerb.Get, "/events"); Assert.Equal(interactions.First(), result); }
public void GetMatchingMockInteraction_WithNoInteractions_ThrowsPactFailureException() { var context = new NancyContext(); Assert.Throws <PactFailureException>(() => context.GetMatchingMockInteraction(HttpVerb.Get, "/events")); }