Fix recorded requests skipped by request logger (#346)

* Fix recorded requests skipped request logger.
- When proxy is enabled the recorded requests are mistaken (IMO) for admin requests and skipped

* Add unit test

* Use different solution

* Introduce IsRecordedByProxy property on Mapping class

* Cleanup empty lines

* Refactored fix suggested way
This commit is contained in:
Vitaliy Davydiak
2019-09-17 19:15:23 +03:00
committed by Stef Heyenrath
parent e1798fbb8e
commit feea64b328
4 changed files with 43 additions and 1 deletions

View File

@@ -18,6 +18,35 @@ namespace WireMock.Net.Tests
{
public class FluentMockServerProxyTests
{
[Fact]
public async Task FluentMockServer_Proxy_Should_log_proxied_requests()
{
// Assign
var settings = new FluentMockServerSettings
{
ProxyAndRecordSettings = new ProxyAndRecordSettings
{
Url = "http://www.google.com",
SaveMapping = true,
SaveMappingToFile = false
}
};
var server = FluentMockServer.Start(settings);
// Act
var requestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri(server.Urls[0])
};
var httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false };
await new HttpClient(httpClientHandler).SendAsync(requestMessage);
// Assert
Check.That(server.Mappings).HasSize(2);
Check.That(server.LogEntries).HasSize(1);
}
[Fact]
public async Task FluentMockServer_Proxy_Should_proxy_responses()
{
@@ -40,6 +69,7 @@ namespace WireMock.Net.Tests
// Assert
Check.That(server.Mappings).HasSize(1);
Check.That(server.LogEntries).HasSize(1);
Check.That(content).Contains("google");
}