public async Task PactBrokerReturnsNonSuccessStatusCode() { var fakeHttpMessageHandler = new FakePactBrokerMessageHandler { StatusCodeToReturn = System.Net.HttpStatusCode.NotFound }; var config = new PactVerifierConfig { ProviderVersion = "1.0", PactBrokerClient = new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("http://local-pact-broker") } }; var mockConsumer = new PactVerifier(config); try { await mockConsumer.PublishVerificationResultsAsync(_pact, new List <FailedInteraction>()); } catch (PactException e) { Assert.AreEqual("Publishing verification results failed. Pact Broker returned NotFound", e.Message); throw; } }
public async Task PublishingFailedTests() { var fakeHttpMessageHandler = new FakePactBrokerMessageHandler(); fakeHttpMessageHandler.Configure(HttpMethod.Post, "http://publish/").RespondsWith(HttpStatusCode.Created); await PactVerifier.PublishVerificationResultsAsync( _pact, new List <Test> { new Test { Description = "test1" }, new Test { Description = "test2", Issues = new List <string> { "Something failed" } } }, "1.0", new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("http://local-pact-broker") }, "http://publish"); var sentVerificationResults = JsonConvert.DeserializeObject <VerificationResults>(fakeHttpMessageHandler.GetStatus(HttpMethod.Post, "http://publish/").SentRequestContents.First().Value); Assert.IsFalse(sentVerificationResults.Success); Assert.AreEqual("1.0", sentVerificationResults.ProviderApplicationVersion); Assert.AreEqual(_pact.Provider.Name, sentVerificationResults.ProviderName); Assert.AreEqual(2, sentVerificationResults.TestResults.Summary.TestCount); Assert.AreEqual(1, sentVerificationResults.TestResults.Summary.FailureCount); Assert.AreEqual("passed", sentVerificationResults.TestResults.Tests.First(t => t.Description == "test1").Status); Assert.AreEqual("failed", sentVerificationResults.TestResults.Tests.First(t => t.Description == "test2").Status); Assert.AreEqual("Something failed", sentVerificationResults.TestResults.Tests.First(t => t.Description == "test2").Issues.First()); }
public async Task PactBrokerReturnsNonSuccessStatusCode() { var fakeHttpMessageHandler = new FakePactBrokerMessageHandler(); fakeHttpMessageHandler.Configure(HttpMethod.Post, "http://publish/").RespondsWith(HttpStatusCode.NotFound); try { await PactVerifier.PublishVerificationResultsAsync( _pact, new List <Test>(), "1.0", new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("http://local-pact-broker") }, "http://publish"); } catch (PactException e) { Assert.AreEqual("Publishing verification results failed. Pact Broker returned NotFound", e.Message); throw; } }
public async Task SuccessfulPublication() { var fakeHttpMessageHandler = new FakePactBrokerMessageHandler(); var config = new PactVerifierConfig { ProviderVersion = "1.0", PactBrokerClient = new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri("http://local-pact-broker") } }; var mockConsumer = new PactVerifier(config); await mockConsumer.PublishVerificationResultsAsync(_pact, new List <FailedInteraction>()); var sentVerificationResults = JsonConvert.DeserializeObject <VerificationResults>(fakeHttpMessageHandler.SentRequestContents.First().Value); Assert.IsTrue(sentVerificationResults.Success); Assert.AreEqual(config.ProviderVersion, sentVerificationResults.ProviderApplicationVersion); Assert.AreEqual(_pact.Provider.Name, sentVerificationResults.ProviderName); Assert.IsFalse(sentVerificationResults.FailedInteractions.Any()); }