Files
WireMock.Net/test/WireMock.Net.Tests/RequestMessageTests.cs
Stef Heyenrath 62d0b0db5b remove nfluent
2026-02-26 22:02:54 +01:00

86 lines
2.5 KiB
C#

// Copyright © WireMock.Net
using WireMock.Models;
namespace WireMock.Net.Tests;
public class RequestMessageTests
{
private const string ClientIp = "::1";
[Fact]
public void RequestMessage_Method_Should_BeSame()
{
// given
var request = new RequestMessage(new UrlDetails("http://localhost/foo"), "posT", ClientIp);
// then
request.Method.Should().Be("posT");
}
[Fact]
public void RequestMessage_ParseQuery_NoKeys()
{
// given
var request = new RequestMessage(new UrlDetails("http://localhost/foo"), "POST", ClientIp);
// then
request.GetParameter("not_there").Should().BeNull();
}
[Fact]
public void RequestMessage_ParseQuery_SingleKey_SingleValue()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost?foo=bar"), "POST", ClientIp);
// Assert
request.GetParameter("foo").Should().ContainSingle("bar");
}
[Fact]
public void RequestMessage_ParseQuery_SingleKey_SingleValue_WithIgnoreCase()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost?foo=bar"), "POST", ClientIp);
// Assert
request.GetParameter("FoO", true).Should().ContainSingle("bar");
}
[Fact]
public void RequestMessage_ParseQuery_MultipleKeys_MultipleValues()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost?key=1&key=2"), "POST", ClientIp);
// Assert
request.GetParameter("key").Should().Contain("1");
request.GetParameter("key").Should().Contain("2");
}
[Fact]
public void RequestMessage_ParseQuery_SingleKey_MultipleValuesCommaSeparated()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost?key=1,2,3"), "POST", ClientIp);
// Assert
request.GetParameter("key").Should().Contain("1");
request.GetParameter("key").Should().Contain("2");
request.GetParameter("key").Should().Contain("3");
}
[Fact]
public void RequestMessage_ParseQuery_SingleKey_MultipleValues()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost?key=1,2&foo=bar&key=3"), "POST", ClientIp);
// Assert
request.GetParameter("key").Should().Contain("1");
request.GetParameter("key").Should().Contain("2");
request.GetParameter("key").Should().Contain("3");
}
}