public async Task PublishTags_PactNotFound() { try { const string baseAddress = "http://local-pact-broker"; const string providerName = "test-provider"; const string providerVersion = "1.0.0"; var tags = new List <string> { "test", "tag" }; var path = $"{baseAddress}/pacticipants/{providerName}/versions/{providerVersion}/tags/"; var fakeHttpMessageHandler = new FakePactBrokerMessageHandler(); fakeHttpMessageHandler.Configure(HttpMethod.Put, path).RespondsWith(HttpStatusCode.NotFound); await PactVerifier.PublishTags(new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri(baseAddress) }, providerName, providerVersion, tags); Assert.Fail("Expected exception was not thrown."); } catch (PactException e) { e.Message.ShouldBe("Publishing tag 'test' failed. Pact Broker returned NotFound"); } }
public async Task PublishTags() { const string baseAddress = "http://local-pact-broker"; const string providerName = "test-provider"; const string providerVersion = "1.0.0"; var tags = new List <string> { "test", "tag" }; var path = $"{baseAddress}/pacticipants/{providerName}/versions/{providerVersion}/tags/"; var fakeHttpMessageHandler = new FakePactBrokerMessageHandler(); fakeHttpMessageHandler.Configure(HttpMethod.Put, path).RespondsWith(HttpStatusCode.Created); await PactVerifier.PublishTags(new HttpClient(fakeHttpMessageHandler) { BaseAddress = new Uri(baseAddress) }, providerName, providerVersion, tags); foreach (var tag in tags) { fakeHttpMessageHandler.GetStatus(HttpMethod.Put, path).CalledUrls.ShouldContain($"{path}{tag}"); } }