예제 #1
0
        public void FailsVerificationIfNotAllInteractionsWhereCalled()
        {
            var pact       = PublishedPact.DefinePact();
            var mockServer = new CallbacksMockServer(pact);

            mockServer.SendRequest <Request, Response>(new Request {
                Type = "Foo", Ids = { "3", "4" }
            });

            Assert.ThrowsAny <Exception>(() => pact.VerifyAllInteractionsWhereCalled());
        }
예제 #2
0
        public void FailsOnUnexpectedRequests()
        {
            var mockServer = new CallbacksMockServer(PublishedPact.DefinePact());

            Assert.ThrowsAny <Exception>(() => mockServer.SendRequest <Request, Response>(new Request {
                Type = "Bar"
            }));
            Assert.ThrowsAny <Exception>(() => mockServer.SendRequest <Request, Response>(new Request {
                Type = "Baz", Ids = { "3", "4" }
            }));
        }
예제 #3
0
        public void ReturnsExpectedResponses()
        {
            var mockServer = new CallbacksMockServer(PublishedPact.DefinePact());

            var response = mockServer.SendRequest <Request, Response>(new Request {
                Type = "Foo", Ids = { "3", "4" }
            });

            Assert.Empty(response.Bars);
            Assert.Equal(2, response.Foos.Count);
            Assert.Contains(response.Foos, f => f.Id == "3");
            Assert.Contains(response.Foos, f => f.Id == "4");
        }
예제 #4
0
        public void PassesVerificationIfAllInteractionsWhereCalled()
        {
            var pact       = PublishedPact.DefinePact();
            var mockServer = new CallbacksMockServer(pact);

            mockServer.SendRequest <Request, Response>(new Request {
                Type = "Foo", Ids = { "3", "4" }
            });
            mockServer.SendRequest <Request, Response>(new Request {
                Type = "Bar", Ids = { "3", "4" }
            });

            pact.VerifyAllInteractionsWhereCalled();
        }