diff --git a/examples/WireMock.Net.ConsoleApplication/Program.cs b/examples/WireMock.Net.ConsoleApplication/Program.cs
index 0e1be239..d34c5650 100644
--- a/examples/WireMock.Net.ConsoleApplication/Program.cs
+++ b/examples/WireMock.Net.ConsoleApplication/Program.cs
@@ -30,6 +30,20 @@ namespace WireMock.Net.ConsoleApplication
.WithBody(@"{ ""msg"": ""Hello world!""}")
);
+ server
+ .Given(Request.WithUrl("/data").UsingPost())
+ .RespondWith(Response
+ .WithStatusCode(201)
+ .WithHeader("Content-Type", "application/json")
+ .WithBody(@"{ ""result"": ""data posted with 201""}"));
+
+ server
+ .Given(Request.WithUrl("/data").UsingDelete())
+ .RespondWith(Response
+ .WithStatusCode(200)
+ .WithHeader("Content-Type", "application/json")
+ .WithBody(@"{ ""result"": ""data deleted with 201""}"));
+
Console.WriteLine("Press any key to stop the server");
Console.ReadKey();
diff --git a/src/WireMock/RequestBuilders/IVerbRequestBuilder.cs b/src/WireMock/RequestBuilders/IVerbRequestBuilder.cs
index df8465a0..26a6ddf5 100644
--- a/src/WireMock/RequestBuilders/IVerbRequestBuilder.cs
+++ b/src/WireMock/RequestBuilders/IVerbRequestBuilder.cs
@@ -21,6 +21,14 @@
///
IHeadersRequestBuilder UsingPost();
+ ///
+ /// The using delete.
+ ///
+ ///
+ /// The .
+ ///
+ IHeadersRequestBuilder UsingDelete();
+
///
/// The using put.
///
diff --git a/src/WireMock/RequestBuilders/Request.cs b/src/WireMock/RequestBuilders/Request.cs
index b252cd6a..d0e23098 100644
--- a/src/WireMock/RequestBuilders/Request.cs
+++ b/src/WireMock/RequestBuilders/Request.cs
@@ -113,6 +113,18 @@ namespace WireMock.RequestBuilders
return this;
}
+ ///
+ /// The using delete.
+ ///
+ ///
+ /// The .
+ ///
+ public IHeadersRequestBuilder UsingDelete()
+ {
+ _requestSpecs.Add(new RequestVerbSpec("delete"));
+ return this;
+ }
+
///
/// The using head.
///
diff --git a/test/WireMock.Net.Tests/Http/TinyHttpServerTests.cs b/test/WireMock.Net.Tests/Http/TinyHttpServerTests.cs
index 0286c67b..84880b58 100644
--- a/test/WireMock.Net.Tests/Http/TinyHttpServerTests.cs
+++ b/test/WireMock.Net.Tests/Http/TinyHttpServerTests.cs
@@ -19,7 +19,7 @@ namespace WireMock.Net.Tests.Http
public class TinyHttpServerTests
{
[Test]
- public void Should_Call_Handler_on_Request()
+ public void Should_call_handler_on_request()
{
// given
var port = Ports.FindFreeTcpPort();
diff --git a/test/WireMock.Net.Tests/RequestsTests.cs b/test/WireMock.Net.Tests/RequestsTests.cs
index 91629df6..9d138923 100644
--- a/test/WireMock.Net.Tests/RequestsTests.cs
+++ b/test/WireMock.Net.Tests/RequestsTests.cs
@@ -71,7 +71,7 @@ namespace WireMock.Net.Tests
}
[Test]
- public void Should_specify_requests_matching_given_url_and_method()
+ public void Should_specify_requests_matching_given_url_and_method_put()
{
// given
var spec = Request.WithUrl("/foo").UsingPut();
@@ -83,6 +83,58 @@ namespace WireMock.Net.Tests
Check.That(spec.IsSatisfiedBy(request)).IsTrue();
}
+ [Test]
+ public void Should_specify_requests_matching_given_url_and_method_post()
+ {
+ // given
+ var spec = Request.WithUrl("/foo").UsingPost();
+
+ // when
+ var request = new RequestMessage("/foo", string.Empty, "POST", "whatever", new Dictionary());
+
+ // then
+ Check.That(spec.IsSatisfiedBy(request)).IsTrue();
+ }
+
+ [Test]
+ public void Should_specify_requests_matching_given_url_and_method_get()
+ {
+ // given
+ var spec = Request.WithUrl("/foo").UsingGet();
+
+ // when
+ var request = new RequestMessage("/foo", string.Empty, "GET", "whatever", new Dictionary());
+
+ // then
+ Check.That(spec.IsSatisfiedBy(request)).IsTrue();
+ }
+
+ [Test]
+ public void Should_specify_requests_matching_given_url_and_method_delete()
+ {
+ // given
+ var spec = Request.WithUrl("/foo").UsingDelete();
+
+ // when
+ var request = new RequestMessage("/foo", string.Empty, "DELETE", "whatever", new Dictionary());
+
+ // then
+ Check.That(spec.IsSatisfiedBy(request)).IsTrue();
+ }
+
+ [Test]
+ public void Should_specify_requests_matching_given_url_and_method_head()
+ {
+ // given
+ var spec = Request.WithUrl("/foo").UsingHead();
+
+ // when
+ var request = new RequestMessage("/foo", string.Empty, "HEAD", "whatever", new Dictionary());
+
+ // then
+ Check.That(spec.IsSatisfiedBy(request)).IsTrue();
+ }
+
[Test]
public void Should_exclude_requests_matching_given_url_but_not_http_method()
{
@@ -227,3 +279,4 @@ namespace WireMock.Net.Tests
}
}
}
+