diff --git a/src/WireMock.Net/Client/IFluentMockServerAdmin.cs b/src/WireMock.Net/Client/IFluentMockServerAdmin.cs index 38fdfbee0..4d1791f7c 100644 --- a/src/WireMock.Net/Client/IFluentMockServerAdmin.cs +++ b/src/WireMock.Net/Client/IFluentMockServerAdmin.cs @@ -55,6 +55,7 @@ public interface IFluentMockServerAdmin /// /// MappingModel [Post("__admin/mappings")] + [Header("Content-Type", "application/json")] Task PostMappingAsync([Body] MappingModel mapping); /// @@ -137,6 +138,7 @@ public interface IFluentMockServerAdmin /// /// The RequestModel [Post("__admin/requests/find")] + [Header("Content-Type", "application/json")] Task> FindRequestsAsync([Body] RequestModel model); /// diff --git a/test/WireMock.Net.Tests/ClientTests.cs b/test/WireMock.Net.Tests/ClientTests.cs new file mode 100644 index 000000000..f522d1226 --- /dev/null +++ b/test/WireMock.Net.Tests/ClientTests.cs @@ -0,0 +1,48 @@ +using System.Linq; +using System.Threading.Tasks; +using NFluent; +using RestEase; +using WireMock.Admin.Mappings; +using WireMock.Client; +using WireMock.Server; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class ClientTests + { + [Fact] + public async Task Client_IFluentMockServerAdmin_PostMappingAsync() + { + // Assign + var server = FluentMockServer.StartWithAdminInterface(); + var api = RestClient.For(server.Urls[0]); + + // Act + var model = new MappingModel + { + Request = new RequestModel + { + Path = "/1" + }, + Response = new ResponseModel + { + Body = "txt", + StatusCode = 200 + }, + Priority = 500, + Title = "test" + }; + string result = await api.PostMappingAsync(model); + + // Assert + Check.That(result).IsNotNull(); + + var mapping = server.Mappings.Single(m => m.Priority == 500); + Check.That(mapping).IsNotNull(); + Check.That(mapping.Title).Equals("test"); + + server.Stop(); + } + } +} \ No newline at end of file