示例#1
0
        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");
            }
        }
示例#2
0
        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}");
            }
        }