mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-03-18 07:24:34 +01:00
* Version 2.x * Setup .NET 9 * 12 * cleanup some #if for NETSTANDARD1_3 * cleanup + fix tests for net8 * openapi * NO ConfigureAwait(false) + cleanup * . * #endif * HashSet * WireMock.Net.NUnit * HttpContext * Add WebSockets (#1423) * Add WebSockets * Add tests * fix * more tests * Add tests * ... * remove IOwin * - * tests * fluent * ok * match * . * byte[] * x * func * func * byte * trans * ... * frameworks......... * jmes * xxx * sc * using var httpClient = new HttpClient(); * usings * maxRetries * up * xunit v3 * ct * --- * ct * ct2 * T Unit * WireMock.Net.TUnitTests / 10 * t unit first * --project * no tunit * t2 * --project * --project * ci - --project * publish ./test/wiremock-coverage.xml * windows * . * log * ... * log * goed * BodyType * . * . * --scenario * ... * pact * ct * . * WireMock.Net.RestClient.AwesomeAssertions (#1427) * WireMock.Net.RestClient.AwesomeAssertions * ok * atpath * fix test * sonar fixes * ports * proxy test * FIX? * --- * await Task.Delay(100, _ct); * ? * --project * Aspire: use IDistributedApplicationEventingSubscriber (#1428) * broadcast * ok * more tsts * . * Collection * up * . * 2 * remove nfluent * <VersionPrefix>2.0.0-preview-02</VersionPrefix> * ... * . * nuget icon * . * <PackageReference Include="JmesPath.Net" Version="1.1.0" /> * x * 500 * . * fix some warnings * ws
129 lines
3.6 KiB
C#
129 lines
3.6 KiB
C#
// Copyright © WireMock.Net
|
|
|
|
using WireMock.Admin.Mappings;
|
|
using WireMock.Server;
|
|
|
|
namespace WireMock.Net.Tests.WithMapping;
|
|
|
|
public class WireMockServerWithMappingTests
|
|
{
|
|
[Fact]
|
|
public void WireMockServer_WithMappingAsModel_Should_Add_Mapping()
|
|
{
|
|
// Arrange
|
|
var guid = Guid.NewGuid();
|
|
var pattern = "hello wiremock";
|
|
var path = "/foo";
|
|
var response = "OK";
|
|
var mapping = new MappingModel
|
|
{
|
|
Guid = guid,
|
|
Request = new RequestModel
|
|
{
|
|
Path = path,
|
|
Body = new BodyModel
|
|
{
|
|
Matcher = new MatcherModel
|
|
{
|
|
Name = "ExactMatcher",
|
|
Pattern = pattern
|
|
}
|
|
}
|
|
},
|
|
Response = new ResponseModel
|
|
{
|
|
Body = response,
|
|
StatusCode = 201
|
|
}
|
|
};
|
|
|
|
var server = WireMockServer.Start();
|
|
|
|
// Act
|
|
server.WithMapping(mapping);
|
|
|
|
// Assert
|
|
server.MappingModels.Should().HaveCount(1).And.Contain(m =>
|
|
m.Guid == guid &&
|
|
//((PathModel)m.Request.Path).Matchers.OfType<WildcardMatcher>().First().GetPatterns().First() == "/foo*"
|
|
// m.Request.Body.Matchers.OfType<ExactMatcher>().First().GetPatterns().First() == pattern &&
|
|
m.Response.Body == response &&
|
|
(int?)m.Response.StatusCode == 201
|
|
);
|
|
|
|
server.Stop();
|
|
}
|
|
|
|
[Fact]
|
|
public void WireMockServer_WithMappingAsJson_Should_Add_Mapping()
|
|
{
|
|
// Arrange
|
|
var mapping = @"{
|
|
""Guid"": ""532889c2-f84d-4dc8-b847-9ea2c6aca7d5"",
|
|
""Request"": {
|
|
""Path"": ""/pet"",
|
|
""Methods"": [
|
|
""PUT""
|
|
]
|
|
},
|
|
""Response"": {
|
|
""StatusCode"": 201,
|
|
""BodyAsJson"": {
|
|
""id"": 42,
|
|
},
|
|
""Headers"": {
|
|
""Content-Type"": ""application/json""
|
|
}
|
|
}
|
|
}";
|
|
|
|
var server = WireMockServer.Start();
|
|
|
|
// Act
|
|
server.WithMapping(mapping);
|
|
|
|
// Assert
|
|
server.MappingModels.Should().HaveCount(1).And.Contain(m =>
|
|
m.Guid == Guid.Parse("532889c2-f84d-4dc8-b847-9ea2c6aca7d5") &&
|
|
(int?)m.Response.StatusCode == 201
|
|
);
|
|
|
|
server.Stop();
|
|
}
|
|
|
|
[Fact]
|
|
public void WireMockServer_WithMappingsAsJson_Should_Add_Mapping()
|
|
{
|
|
// Arrange
|
|
var mapping = @"[
|
|
{
|
|
""Guid"": ""532889c2-f84d-4dc8-b847-9ea2c6aca7d1"",
|
|
""Request"": {
|
|
""Path"": ""/pet1""
|
|
},
|
|
""Response"": {
|
|
""StatusCode"": 201
|
|
}
|
|
},
|
|
{
|
|
""Guid"": ""532889c2-f84d-4dc8-b847-9ea2c6aca7d2"",
|
|
""Request"": {
|
|
""Path"": ""/pet2""
|
|
},
|
|
""Response"": {
|
|
""StatusCode"": 202
|
|
}
|
|
}
|
|
]";
|
|
|
|
var server = WireMockServer.Start();
|
|
|
|
// Act
|
|
server.WithMapping(mapping);
|
|
|
|
// Assert
|
|
server.MappingModels.Should().HaveCount(2);
|
|
|
|
server.Stop();
|
|
}
|
|
} |