From fddc85f48db8dec0f23ad747cb40689a2d83b31d Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Sun, 29 Jan 2017 14:24:48 +0100 Subject: [PATCH] path <> url --- .../Program.cs | 19 +- .../Mappings/{UrlModel.cs => PathModel.cs} | 8 +- .../Admin/Mappings/RequestModel.cs | 4 +- .../Request/RequestMessageUrlMatcher.cs | 2 +- .../IUrlAndPathRequestBuilder.cs | 44 ++--- src/WireMock.Net/RequestBuilders/Request.cs | 72 ++++---- .../Server/FluentMockServer.Admin.cs | 20 +- .../FluentMockServerTests.cs | 24 +-- test/WireMock.Net.Tests/RequestTests.cs | 172 ++++++++---------- 9 files changed, 167 insertions(+), 198 deletions(-) rename src/WireMock.Net/Admin/Mappings/{UrlModel.cs => PathModel.cs} (68%) diff --git a/examples/WireMock.Net.ConsoleApplication/Program.cs b/examples/WireMock.Net.ConsoleApplication/Program.cs index 50be2766..7fb10107 100644 --- a/examples/WireMock.Net.ConsoleApplication/Program.cs +++ b/examples/WireMock.Net.ConsoleApplication/Program.cs @@ -19,7 +19,7 @@ namespace WireMock.Net.ConsoleApplication Console.WriteLine("FluentMockServer running at {0}", server.Port); server - .Given(Request.Create().WithUrl(u => u.Contains("x")).UsingGet()) + .Given(Request.Create().WithPath(u => u.Contains("x")).UsingGet()) .RespondWith(Response.Create() .WithStatusCode(200) .WithHeader("Content-Type", "application/json") @@ -27,55 +27,54 @@ namespace WireMock.Net.ConsoleApplication // http://localhost:8080/gffgfgf/sddsds?start=1000&stop=1&stop=2 server - .Given(Request.Create().WithUrl("/*").UsingGet().WithParam("start")) + .Given(Request.Create().WithPath("/*").UsingGet().WithParam("start")) .WithGuid(Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05")) .RespondWith(Response.Create() .WithStatusCode(200) .WithHeader("Content-Type", "application/json") .WithHeader("Transformed-Postman-Token", "token is {{request.headers.Postman-Token}}") - .WithBody(@"{""msg"": ""Hello world, {{request.url}}, {{request.path}} : - bykey={{request.query.start}}, bykey={{request.query.stop}}, byidx0={{request.query.stop.[0]}}, byidx1={{request.query.stop.[1]}}""") + .WithBody(@"{""msg"": ""Hello world, {{request.path}}, bykey={{request.query.start}}, bykey={{request.query.stop}}, byidx0={{request.query.stop.[0]}}, byidx1={{request.query.stop.[1]}}""") .WithTransformer() .WithDelay(TimeSpan.FromMilliseconds(100)) ); server - .Given(Request.Create().WithUrl("/data").UsingPost().WithBody(b => b.Contains("e"))) + .Given(Request.Create().WithPath("/data").UsingPost().WithBody(b => b.Contains("e"))) .RespondWith(Response.Create() .WithStatusCode(201) .WithHeader("Content-Type", "application/json") .WithBody(@"{ ""result"": ""data posted with FUNC 201""}")); server - .Given(Request.Create().WithUrl("/data", "/ax").UsingPost().WithHeader("Content-Type", "application/json*")) + .Given(Request.Create().WithPath("/data", "/ax").UsingPost().WithHeader("Content-Type", "application/json*")) .RespondWith(Response.Create() .WithStatusCode(201) .WithHeader("Content-Type", "application/json") .WithBody(@"{ ""result"": ""data posted with 201""}")); server - .Given(Request.Create().WithUrl("/json").UsingPost().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]"))) + .Given(Request.Create().WithPath("/json").UsingPost().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]"))) .RespondWith(Response.Create() .WithStatusCode(201) .WithHeader("Content-Type", "application/json") .WithBody(@"{ ""result"": ""json posted with 201""}")); server - .Given(Request.Create().WithUrl("/json2").UsingPost().WithBody("x")) + .Given(Request.Create().WithPath("/json2").UsingPost().WithBody("x")) .RespondWith(Response.Create() .WithStatusCode(201) .WithHeader("Content-Type", "application/json") .WithBody(@"{ ""result"": ""json posted with x - 201""}")); server - .Given(Request.Create().WithUrl("/data").UsingDelete()) + .Given(Request.Create().WithPath("/data").UsingDelete()) .RespondWith(Response.Create() .WithStatusCode(200) .WithHeader("Content-Type", "application/json") .WithBody(@"{ ""result"": ""data deleted with 200""}")); server - .Given(Request.Create().WithUrl("/nobody").UsingGet()) + .Given(Request.Create().WithPath("/nobody").UsingGet()) .RespondWith(Response.Create() .WithStatusCode(200)); diff --git a/src/WireMock.Net/Admin/Mappings/UrlModel.cs b/src/WireMock.Net/Admin/Mappings/PathModel.cs similarity index 68% rename from src/WireMock.Net/Admin/Mappings/UrlModel.cs rename to src/WireMock.Net/Admin/Mappings/PathModel.cs index f710a827..4e7432f4 100644 --- a/src/WireMock.Net/Admin/Mappings/UrlModel.cs +++ b/src/WireMock.Net/Admin/Mappings/PathModel.cs @@ -1,11 +1,9 @@ -using System.Collections.Generic; - -namespace WireMock.Admin.Mappings +namespace WireMock.Admin.Mappings { /// - /// UrlModel + /// PathModel /// - public class UrlModel + public class PathModel { /// /// Gets or sets the matchers. diff --git a/src/WireMock.Net/Admin/Mappings/RequestModel.cs b/src/WireMock.Net/Admin/Mappings/RequestModel.cs index 34f07599..fa7574f8 100644 --- a/src/WireMock.Net/Admin/Mappings/RequestModel.cs +++ b/src/WireMock.Net/Admin/Mappings/RequestModel.cs @@ -8,12 +8,12 @@ namespace WireMock.Admin.Mappings public class RequestModel { /// - /// Gets or sets the URL. (Can be a string or a UrlModel) + /// Gets or sets the Path. (Can be a string or a PathModel) /// /// /// The URL. /// - public object Url { get; set; } + public object Path { get; set; } /// /// The methods diff --git a/src/WireMock.Net/Matchers/Request/RequestMessageUrlMatcher.cs b/src/WireMock.Net/Matchers/Request/RequestMessageUrlMatcher.cs index 3afde1b3..770bb2ec 100644 --- a/src/WireMock.Net/Matchers/Request/RequestMessageUrlMatcher.cs +++ b/src/WireMock.Net/Matchers/Request/RequestMessageUrlMatcher.cs @@ -59,7 +59,7 @@ namespace WireMock.Matchers.Request public bool IsMatch(RequestMessage requestMessage) { if (Matchers != null) - return Matchers.Any(matcher => matcher.IsMatch(requestMessage.Path)); + return Matchers.Any(matcher => matcher.IsMatch(requestMessage.Url)); if (_urlFuncs != null) return _urlFuncs.Any(func => func(requestMessage.Url)); diff --git a/src/WireMock.Net/RequestBuilders/IUrlAndPathRequestBuilder.cs b/src/WireMock.Net/RequestBuilders/IUrlAndPathRequestBuilder.cs index 31e61886..1751b1a7 100644 --- a/src/WireMock.Net/RequestBuilders/IUrlAndPathRequestBuilder.cs +++ b/src/WireMock.Net/RequestBuilders/IUrlAndPathRequestBuilder.cs @@ -9,27 +9,6 @@ namespace WireMock.RequestBuilders /// public interface IUrlAndPathRequestBuilder : IMethodRequestBuilder { - /// - /// The with url. - /// - /// The matchers. - /// The . - IRequestBuilder WithUrl([NotNull] params IMatcher[] matchers); - - /// - /// The with url. - /// - /// The urls. - /// The . - IRequestBuilder WithUrl([NotNull] params string[] urls); - - /// - /// The with url. - /// - /// The url funcs. - /// The . - IRequestBuilder WithUrl([NotNull] params Func[] funcs); - /// /// The with path. /// @@ -44,11 +23,32 @@ namespace WireMock.RequestBuilders /// The . IRequestBuilder WithPath([NotNull] params string[] paths); + /// + /// The with path. + /// + /// The path funcs. + /// The . + IRequestBuilder WithPath([NotNull] params Func[] funcs); + + /// + /// The with url. + /// + /// The matchers. + /// The . + IRequestBuilder WithUrl([NotNull] params IMatcher[] matchers); + + /// + /// The with url. + /// + /// The urls. + /// The . + IRequestBuilder WithUrl([NotNull] params string[] urls); + /// /// The with path. /// /// The path func. /// The . - IRequestBuilder WithPath([NotNull] params Func[] func); + IRequestBuilder WithUrl([NotNull] params Func[] func); } } \ No newline at end of file diff --git a/src/WireMock.Net/RequestBuilders/Request.cs b/src/WireMock.Net/RequestBuilders/Request.cs index 0f75c863..cee17dda 100644 --- a/src/WireMock.Net/RequestBuilders/Request.cs +++ b/src/WireMock.Net/RequestBuilders/Request.cs @@ -54,13 +54,46 @@ namespace WireMock.RequestBuilders } /// - /// The with url. + /// The with path. /// /// The matchers. /// The . - public IRequestBuilder WithUrl(params IMatcher[] matchers) + public IRequestBuilder WithPath(params IMatcher[] matchers) { - _requestMatchers.Add(new RequestMessageUrlMatcher(matchers)); + _requestMatchers.Add(new RequestMessagePathMatcher(matchers)); + return this; + } + + /// + /// The with path. + /// + /// The paths. + /// The . + public IRequestBuilder WithPath(params string[] paths) + { + _requestMatchers.Add(new RequestMessagePathMatcher(paths)); + return this; + } + + /// + /// The with path. + /// + /// The path func. + /// The . + public IRequestBuilder WithPath(params Func[] funcs) + { + _requestMatchers.Add(new RequestMessagePathMatcher(funcs)); + return this; + } + + /// + /// The with url. + /// + /// The matcher. + /// The . + public IRequestBuilder WithUrl(params IMatcher[] matcher) + { + _requestMatchers.Add(new RequestMessageUrlMatcher(matcher)); return this; } @@ -86,39 +119,6 @@ namespace WireMock.RequestBuilders return this; } - /// - /// The with url. - /// - /// The matcher. - /// The . - public IRequestBuilder WithPath(params IMatcher[] matcher) - { - _requestMatchers.Add(new RequestMessagePathMatcher(matcher)); - return this; - } - - /// - /// The with path. - /// - /// The path. - /// The . - public IRequestBuilder WithPath(params string[] paths) - { - _requestMatchers.Add(new RequestMessagePathMatcher(paths)); - return this; - } - - /// - /// The with path. - /// - /// The path func. - /// The . - public IRequestBuilder WithPath(params Func[] funcs) - { - _requestMatchers.Add(new RequestMessagePathMatcher(funcs)); - return this; - } - /// /// The using get. /// diff --git a/src/WireMock.Net/Server/FluentMockServer.Admin.cs b/src/WireMock.Net/Server/FluentMockServer.Admin.cs index 6bf03e73..dc38beba 100644 --- a/src/WireMock.Net/Server/FluentMockServer.Admin.cs +++ b/src/WireMock.Net/Server/FluentMockServer.Admin.cs @@ -29,8 +29,8 @@ namespace WireMock.Server private void InitAdmin() { // __admin/mappings - Given(Request.Create().WithUrl(AdminMappings).UsingGet()).RespondWith(new DynamicResponseProvider(MappingsGet)); - Given(Request.Create().WithUrl(AdminMappings).UsingPost()).RespondWith(new DynamicResponseProvider(MappingsPost)); + Given(Request.Create().WithPath(AdminMappings).UsingGet()).RespondWith(new DynamicResponseProvider(MappingsGet)); + Given(Request.Create().WithPath(AdminMappings).UsingPost()).RespondWith(new DynamicResponseProvider(MappingsPost)); // __admin/mappings/{guid} var guidPathMatcher = new RegexMatcher(@"^\/__admin\/mappings\/(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$"); @@ -38,7 +38,7 @@ namespace WireMock.Server // __admin/requests - Given(Request.Create().WithUrl(AdminRequests).UsingGet()).RespondWith(new DynamicResponseProvider(RequestsGet)); + Given(Request.Create().WithPath(AdminRequests).UsingGet()).RespondWith(new DynamicResponseProvider(RequestsGet)); } private ResponseMessage MappingGet(RequestMessage requestMessage) @@ -89,14 +89,14 @@ namespace WireMock.Server private IRequestBuilder InitRequestBuilder(MappingModel mappingModel) { IRequestBuilder requestBuilder = Request.Create(); - string url = mappingModel.Request.Url as string; - if (url != null) - requestBuilder = requestBuilder.WithUrl(url); + string path = mappingModel.Request.Path as string; + if (path != null) + requestBuilder = requestBuilder.WithPath(path); else - requestBuilder = requestBuilder.WithUrl("/*"); - //UrlModel urlModel = mappingModel.Request.Url as UrlModel; + requestBuilder = requestBuilder.WithPath("/*"); + //PathModel urlModel = mappingModel.Request.Path as PathModel; //if (urlModel?.Matchers != null) - // builder = builder.WithUrl(urlModel.Matchers.Select(Map).ToArray()); + // builder = builder.WithPath(urlModel.Matchers.Select(Map).ToArray()); if (mappingModel.Request.Methods != null) requestBuilder = requestBuilder.UsingVerb(mappingModel.Request.Methods); @@ -209,7 +209,7 @@ namespace WireMock.Server Guid = mapping.Guid, Request = new RequestModel { - Url = new UrlModel + Path = new PathModel { Matchers = urlMatchers != null ? Map(urlMatchers.Where(m => m.Matchers != null).SelectMany(m => m.Matchers)) : null }, diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.cs b/test/WireMock.Net.Tests/FluentMockServerTests.cs index dcf4c433..f98e16ef 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.cs @@ -25,11 +25,11 @@ namespace WireMock.Net.Tests var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); _server = FluentMockServer.Start(); - _server.Given(Request.Create().WithUrl("/foo1").UsingGet()) + _server.Given(Request.Create().WithPath("/foo1").UsingGet()) .WithGuid(guid) .RespondWith(Response.Create().WithStatusCode(201).WithBody("1")); - _server.Given(Request.Create().WithUrl("/foo2").UsingGet()) + _server.Given(Request.Create().WithPath("/foo2").UsingGet()) .RespondWith(Response.Create().WithStatusCode(202).WithBody("2")); var mappings = _server.Mappings.ToArray(); @@ -48,7 +48,7 @@ namespace WireMock.Net.Tests var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); _server = FluentMockServer.Start(); - _server.Given(Request.Create().WithUrl("/1").UsingGet()) + _server.Given(Request.Create().WithPath("/1").UsingGet()) .WithGuid(guid) .RespondWith(Response.Create().WithStatusCode(500)); @@ -56,7 +56,7 @@ namespace WireMock.Net.Tests Check.That(mappings).HasSize(1); Check.That(mappings.First().Guid).Equals(guid); - _server.Given(Request.Create().WithUrl("/2").UsingGet()) + _server.Given(Request.Create().WithPath("/2").UsingGet()) .WithGuid(guid) .RespondWith(Response.Create().WithStatusCode(500)); @@ -88,7 +88,7 @@ namespace WireMock.Net.Tests _server .Given(Request.Create() - .WithUrl("/foo") + .WithPath("/foo") .UsingGet()) .RespondWith(Response.Create() .WithStatusCode(200) @@ -107,7 +107,7 @@ namespace WireMock.Net.Tests // given _server = FluentMockServer.Start(); - _server.Given(Request.Create().WithUrl("/foo").UsingGet()).RespondWith(Response.Create().WithBodyAsBase64("SGVsbG8gV29ybGQ/")); + _server.Given(Request.Create().WithPath("/foo").UsingGet()).RespondWith(Response.Create().WithBodyAsBase64("SGVsbG8gV29ybGQ/")); // when var response = await new HttpClient().GetStringAsync("http://localhost:" + _server.Port + "/foo"); @@ -141,7 +141,7 @@ namespace WireMock.Net.Tests await new HttpClient().GetAsync("http://localhost:" + _server.Port + "/bar"); // then - var result = _server.SearchLogsFor(Request.Create().WithUrl(new RegexMatcher("^/b.*"))).ToList(); + var result = _server.SearchLogsFor(Request.Create().WithPath(new RegexMatcher("^/b.*"))).ToList(); Check.That(result).HasSize(1); var requestLogged = result.First(); @@ -171,7 +171,7 @@ namespace WireMock.Net.Tests _server .Given(Request.Create() - .WithUrl("/foo") + .WithPath("/foo") .UsingGet()) .RespondWith(Response.Create() .WithBody(@"{ msg: ""Hello world!""}")); @@ -192,14 +192,14 @@ namespace WireMock.Net.Tests _server .Given(Request.Create() - .WithUrl("/foo") + .WithPath("/foo") .UsingGet()) .RespondWith(Response.Create() .WithStatusCode(307) .WithHeader("Location", "/bar")); _server .Given(Request.Create() - .WithUrl("/bar") + .WithPath("/bar") .UsingGet()) .RespondWith(Response.Create() .WithStatusCode(200) @@ -220,7 +220,7 @@ namespace WireMock.Net.Tests _server .Given(Request.Create() - .WithUrl("/*")) + .WithPath("/*")) .RespondWith(Response.Create() .WithBody(@"{ msg: ""Hello world!""}") .WithDelay(TimeSpan.FromMilliseconds(200))); @@ -242,7 +242,7 @@ namespace WireMock.Net.Tests _server = FluentMockServer.Start(); _server.AddRequestProcessingDelay(TimeSpan.FromMilliseconds(200)); _server - .Given(Request.Create().WithUrl("/*")) + .Given(Request.Create().WithPath("/*")) .RespondWith(Response.Create().WithBody(@"{ msg: ""Hello world!""}")); // when diff --git a/test/WireMock.Net.Tests/RequestTests.cs b/test/WireMock.Net.Tests/RequestTests.cs index fb1660c1..17a56820 100644 --- a/test/WireMock.Net.Tests/RequestTests.cs +++ b/test/WireMock.Net.Tests/RequestTests.cs @@ -12,39 +12,10 @@ namespace WireMock.Net.Tests public class RequestTests { [Test] - public void Should_specify_requests_matching_given_url() + public void Should_specify_requests_matching_given_path() { // given - var spec = Request.Create().WithUrl("/foo"); - - // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "blabla", body, bodyAsString); - - // then - Check.That(spec.IsMatch(request)).IsTrue(); - } - - [Test] - public void Should_specify_requests_matching_given_urls() - { - var requestBuilder = Request.Create().WithUrl("/x1", "/x2"); - - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request1 = new RequestMessage(new Uri("http://localhost/x1"), "blabla", body, bodyAsString); - var request2 = new RequestMessage(new Uri("http://localhost/x2"), "blabla", body, bodyAsString); - - Check.That(requestBuilder.IsMatch(request1)).IsTrue(); - Check.That(requestBuilder.IsMatch(request2)).IsTrue(); - } - - [Test] - public void Should_specify_requests_matching_given_urlFuncs() - { - // given - var spec = Request.Create().WithUrl(url => url.EndsWith("/foo")); + var spec = Request.Create().WithPath("/foo"); // when var request = new RequestMessage(new Uri("http://localhost/foo"), "blabla"); @@ -54,100 +25,113 @@ namespace WireMock.Net.Tests } [Test] - public void Should_specify_requests_matching_given_url_prefix() + public void Should_specify_requests_matching_given_paths() + { + var requestBuilder = Request.Create().WithPath("/x1", "/x2"); + + var request1 = new RequestMessage(new Uri("http://localhost/x1"), "blabla"); + var request2 = new RequestMessage(new Uri("http://localhost/x2"), "blabla"); + + Check.That(requestBuilder.IsMatch(request1)).IsTrue(); + Check.That(requestBuilder.IsMatch(request2)).IsTrue(); + } + + [Test] + public void Should_specify_requests_matching_given_pathFuncs() { // given - var spec = Request.Create().WithUrl(new RegexMatcher("^/foo")); + var spec = Request.Create().WithPath(url => url.EndsWith("/foo")); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo/bar"), "blabla", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "blabla"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_exclude_requests_not_matching_given_url() + public void Should_specify_requests_matching_given_path_prefix() { // given - var spec = Request.Create().WithUrl("/foo"); + var spec = Request.Create().WithPath(new RegexMatcher("^/foo")); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/bar"), "blabla", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo/bar"), "blabla"); + + // then + Check.That(spec.IsMatch(request)).IsTrue(); + } + + [Test] + public void Should_exclude_requests_not_matching_given_path() + { + // given + var spec = Request.Create().WithPath("/foo"); + + // when + var request = new RequestMessage(new Uri("http://localhost/bar"), "blabla"); // then Check.That(spec.IsMatch(request)).IsFalse(); } [Test] - public void Should_specify_requests_matching_given_path() + public void Should_specify_requests_matching_given_url() { // given - var spec = Request.Create().WithPath("/foo"); + var spec = Request.Create().WithUrl("*/foo"); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "blabla", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "blabla"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_specify_requests_matching_given_url_and_method_put() + public void Should_specify_requests_matching_given_path_and_method_put() { // given - var spec = Request.Create().WithUrl("/foo").UsingPut(); + var spec = Request.Create().WithPath("/foo").UsingPut(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "PUT", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "PUT"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_specify_requests_matching_given_url_and_method_post() + public void Should_specify_requests_matching_given_path_and_method_post() { // given - var spec = Request.Create().WithUrl("/foo").UsingPost(); + var spec = Request.Create().WithPath("/foo").UsingPost(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "POST", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "POST"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_specify_requests_matching_given_url_and_method_get() + public void Should_specify_requests_matching_given_path_and_method_get() { // given - var spec = Request.Create().WithUrl("/foo").UsingGet(); + var spec = Request.Create().WithPath("/foo").UsingGet(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "GET", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "GET"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_specify_requests_matching_given_url_and_method_delete() + public void Should_specify_requests_matching_given_path_and_method_delete() { // given - var spec = Request.Create().WithUrl("/foo").UsingDelete(); + var spec = Request.Create().WithPath("/foo").UsingDelete(); // when string bodyAsString = "whatever"; @@ -159,30 +143,26 @@ namespace WireMock.Net.Tests } [Test] - public void Should_specify_requests_matching_given_url_and_method_head() + public void Should_specify_requests_matching_given_path_and_method_head() { // given - var spec = Request.Create().WithUrl("/foo").UsingHead(); + var spec = Request.Create().WithPath("/foo").UsingHead(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "HEAD", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "HEAD"); // then Check.That(spec.IsMatch(request)).IsTrue(); } [Test] - public void Should_exclude_requests_matching_given_url_but_not_http_method() + public void Should_exclude_requests_matching_given_path_but_not_http_method() { // given - var spec = Request.Create().WithUrl("/foo").UsingPut(); + var spec = Request.Create().WithPath("/foo").UsingPut(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "HEAD", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "HEAD"); // then Check.That(spec.IsMatch(request)).IsFalse(); @@ -192,22 +172,20 @@ namespace WireMock.Net.Tests public void Should_exclude_requests_matching_given_http_method_but_not_url() { // given - var spec = Request.Create().WithUrl("/bar").UsingPut(); + var spec = Request.Create().WithPath("/bar").UsingPut(); // when - string bodyAsString = "whatever"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo"), "PUT", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo"), "PUT"); // then Check.That(spec.IsMatch(request)).IsFalse(); } [Test] - public void Should_specify_requests_matching_given_url_and_headers() + public void Should_specify_requests_matching_given_path_and_headers() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithHeader("X-toto", "tata"); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithHeader("X-toto", "tata"); // when string bodyAsString = "whatever"; @@ -222,7 +200,7 @@ namespace WireMock.Net.Tests public void Should_exclude_requests_not_matching_given_headers() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithHeader("X-toto", "tatata"); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithHeader("X-toto", "tatata"); // when string bodyAsString = "whatever"; @@ -237,7 +215,7 @@ namespace WireMock.Net.Tests public void Should_exclude_requests_not_matching_given_headers_ignorecase() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithHeader("X-toto", "abc", false); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithHeader("X-toto", "abc", false); // when string bodyAsString = "whatever"; @@ -252,7 +230,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_header_prefix() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithHeader("X-toto", "tata*"); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithHeader("X-toto", "tata*"); // when string bodyAsString = "whatever"; @@ -267,7 +245,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_cookies() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithCookie("session", "a*"); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithCookie("session", "a*"); // when var request = new RequestMessage(new Uri("http://localhost/foo"), "PUT", null, null, null, new Dictionary { { "session", "abc" } }); @@ -280,7 +258,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody("Hello world!"); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody("Hello world!"); // when string bodyAsString = "Hello world!"; @@ -295,7 +273,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_wildcard() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new WildcardMatcher("H*o*")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new WildcardMatcher("H*o*")); // when string bodyAsString = "Hello world!"; @@ -310,7 +288,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_regexmatcher() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new RegexMatcher("H.*o")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new RegexMatcher("H.*o")); // when string bodyAsString = "Hello world!"; @@ -325,7 +303,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_xpathmatcher_true() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new XPathMatcher("/todo-list[count(todo-item) = 3]")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new XPathMatcher("/todo-list[count(todo-item) = 3]")); // when string xmlBodyAsString = @" @@ -345,7 +323,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_xpathmatcher_false() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new XPathMatcher("/todo-list[count(todo-item) = 99]")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new XPathMatcher("/todo-list[count(todo-item) = 99]")); // when string xmlBodyAsString = @" @@ -365,7 +343,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_jsonpathmatcher_true() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]")); // when string bodyAsString = "{ \"things\": [ { \"name\": \"RequiredThing\" }, { \"name\": \"Wiremock\" } ] }"; @@ -380,7 +358,7 @@ namespace WireMock.Net.Tests public void Should_specify_requests_matching_given_body_as_jsonpathmatcher_false() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]")); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(new JsonPathMatcher("$.things[?(@.name == 'RequiredThing')]")); // when string bodyAsString = "{ \"things\": { \"name\": \"Wiremock\" } }"; @@ -395,7 +373,7 @@ namespace WireMock.Net.Tests public void Should_exclude_requests_not_matching_given_body() { // given - var spec = Request.Create().WithUrl("/foo").UsingAnyVerb().WithBody(" Hello world! "); + var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithBody(" Hello world! "); // when string bodyAsString = "xxx"; @@ -413,9 +391,7 @@ namespace WireMock.Net.Tests var spec = Request.Create().WithPath("/foo").WithParam("bar", "1", "2"); // when - string bodyAsString = "Hello world!"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo?bar=1&bar=2"), "PUT", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo?bar=1&bar=2"), "PUT"); // then Check.That(spec.IsMatch(request)).IsTrue(); @@ -441,9 +417,7 @@ namespace WireMock.Net.Tests var spec = Request.Create().WithPath("/foo").UsingAnyVerb().WithParam(p => p.ContainsKey("bar")); // when - string bodyAsString = "Hello world!"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/foo?bar=1&bar=2"), "PUT", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/foo?bar=1&bar=2"), "PUT"); // then Check.That(spec.IsMatch(request)).IsTrue(); @@ -456,9 +430,7 @@ namespace WireMock.Net.Tests var spec = Request.Create().WithPath("/foo").WithParam("bar", "1"); // when - string bodyAsString = "Hello world!"; - byte[] body = Encoding.UTF8.GetBytes(bodyAsString); - var request = new RequestMessage(new Uri("http://localhost/test=7"), "PUT", body, bodyAsString); + var request = new RequestMessage(new Uri("http://localhost/test=7"), "PUT"); // then Check.That(spec.IsMatch(request)).IsFalse();