Skip to content

Commit 8c0baf0

Browse files
committed
Removed WithFilter, WithRequestHeader and WithContentHeader methods.
1 parent 6ed21f9 commit 8c0baf0

12 files changed

Lines changed: 41 additions & 853 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ All notable changes to TestableHttpClient will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and
55
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.13] - unplanned
8+
### Removed
9+
- The methods `WithRequestHeader` and `WithContentHeader` have been removed, please use `WithHeader` instead.
10+
- The `WithFilter` method is removed.
11+
712
## [0.12] - 2026-06-06
813
### Deprecated
914
- The methods `WithRequestHeader` and `WithContentHeader` are deprecated, please use `WithHeader` instead.
@@ -307,6 +312,7 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
307312
- Automatically build project when pushing changes to github and when creating a pull request
308313
- Automatically deploy to NuGet when creating a tag in github
309314

315+
[0.12]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.12...v0.13
310316
[0.12]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.11...v0.12
311317
[0.11]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.10...v0.11
312318
[0.10]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.9...v0.10

src/TestableHttpClient/HttpRequestMessageAsserter.cs

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
/// </summary>
66
internal sealed class HttpRequestMessageAsserter : IHttpRequestMessagesCheck
77
{
8-
private readonly List<string> _expectedConditions = new();
9-
108
private readonly RequestBuilder expectedRequestBuilder;
119

1210
/// <summary>
@@ -58,7 +56,7 @@ internal HttpRequestMessageAsserter Assert(int? expectedCount = null)
5856

5957
if (!pass)
6058
{
61-
var message = MessageBuilder.BuildMessage(expectedCount, actualCount, expectedRequest, _expectedConditions);
59+
var message = MessageBuilder.BuildMessage(expectedCount, actualCount, expectedRequest);
6260
throw new HttpRequestMessageAssertionException(message);
6361
}
6462

@@ -72,7 +70,7 @@ internal HttpRequestMessageAsserter Assert(int? expectedCount = null)
7270
/// <param name="condition">The name of the condition, used in the exception message.</param>
7371
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
7472
[AssertionMethod]
75-
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.")]
73+
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.", true)]
7674
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, string condition) => WithFilter(requestFilter, null, condition);
7775

7876
/// <summary>
@@ -83,21 +81,13 @@ internal HttpRequestMessageAsserter Assert(int? expectedCount = null)
8381
/// <param name="condition">The name of the condition, used in the exception message.</param>
8482
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
8583
[AssertionMethod]
86-
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.")]
84+
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.", true)]
8785
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, int expectedNumberOfRequests, string condition) => WithFilter(requestFilter, (int?)expectedNumberOfRequests, condition);
8886

8987
[AssertionMethod]
90-
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.")]
88+
[Obsolete("WithFilter will be removed, since it should no longer be necesary to use.", true)]
9189
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, int? expectedNumberOfRequests, string condition)
9290
{
93-
if (!string.IsNullOrEmpty(condition))
94-
{
95-
_expectedConditions.Add(condition);
96-
}
97-
98-
Requests = Requests.Where(requestFilter);
99-
Assert(expectedNumberOfRequests);
100-
10191
return this;
10292
}
10393

src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs

Lines changed: 15 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@ public static class HttpRequestMessagesCheckExtensions
99
/// <param name="check">The implementation that hold all the request messages.</param>
1010
/// <param name="headerName">The name of the header that is expected.</param>
1111
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
12-
[Obsolete("Use WithHeader instead.")]
13-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName)
14-
{
15-
Guard.ThrowIfNull(check);
16-
17-
return check.WithHeader(headerName);
18-
}
12+
[Obsolete("Use WithHeader instead.", true)]
13+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName) => check;
1914

2015
/// <summary>
2116
/// Asserts whether requests were made with a specific header name. Values are ignored.
@@ -25,13 +20,8 @@ public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessa
2520
/// <param name="headerName">The name of the header that is expected.</param>
2621
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
2722
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
28-
[Obsolete("Use WithHeader instead.")]
29-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests)
30-
{
31-
Guard.ThrowIfNull(check);
32-
33-
return check.WithHeader(headerName, expectedNumberOfRequests);
34-
}
23+
[Obsolete("Use WithHeader instead.", true)]
24+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests) => check;
3525

3626
/// <summary>
3727
/// Asserts whether requests were made with a specific header name and value.
@@ -41,13 +31,8 @@ public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessa
4131
/// <param name="headerName">The name of the header that is expected.</param>
4232
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
4333
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
44-
[Obsolete("Use WithHeader instead.")]
45-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue)
46-
{
47-
Guard.ThrowIfNull(check);
48-
49-
return check.WithHeader(headerName, headerValue);
50-
}
34+
[Obsolete("Use WithHeader instead.", true)]
35+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue) => check;
5136

5237
/// <summary>
5338
/// Asserts whether requests were made with a specific header name and value.
@@ -58,13 +43,8 @@ public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessa
5843
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
5944
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
6045
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
61-
[Obsolete("Use WithHeader instead.")]
62-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests)
63-
{
64-
Guard.ThrowIfNull(check);
65-
66-
return check.WithHeader(headerName, headerValue, expectedNumberOfRequests);
67-
}
46+
[Obsolete("Use WithHeader instead.", true)]
47+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests) => check;
6848

6949
/// <summary>
7050
/// Asserts whether requests were made with a specific header name. Values are ignored.
@@ -73,13 +53,8 @@ public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessa
7353
/// <param name="check">The implementation that hold all the request messages.</param>
7454
/// <param name="headerName">The name of the header that is expected.</param>
7555
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
76-
[Obsolete("Use WithHeader instead.")]
77-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName)
78-
{
79-
Guard.ThrowIfNull(check);
80-
81-
return check.WithHeader(headerName);
82-
}
56+
[Obsolete("Use WithHeader instead.", true)]
57+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName) => check;
8358

8459
/// <summary>
8560
/// Asserts whether requests were made with a specific header name. Values are ignored.
@@ -89,13 +64,8 @@ public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessa
8964
/// <param name="headerName">The name of the header that is expected.</param>
9065
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
9166
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
92-
[Obsolete("Use WithHeader instead.")]
93-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests)
94-
{
95-
Guard.ThrowIfNull(check);
96-
97-
return check.WithHeader(headerName, expectedNumberOfRequests);
98-
}
67+
[Obsolete("Use WithHeader instead.", true)]
68+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests) => check;
9969

10070
/// <summary>
10171
/// Asserts whether requests were made with a specific header name and value.
@@ -105,13 +75,8 @@ public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessa
10575
/// <param name="headerName">The name of the header that is expected.</param>
10676
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
10777
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
108-
[Obsolete("Use WithHeader instead.")]
109-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue)
110-
{
111-
Guard.ThrowIfNull(check);
112-
113-
return check.WithHeader(headerName, headerValue);
114-
}
78+
[Obsolete("Use WithHeader instead.", true)]
79+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue) => check;
11580

11681
/// <summary>
11782
/// Asserts whether requests were made with a specific header name and value.
@@ -122,7 +87,7 @@ public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessa
12287
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
12388
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
12489
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
125-
[Obsolete("Use WithHeader instead.")]
90+
[Obsolete("Use WithHeader instead.", true)]
12691
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests)
12792
{
12893
Guard.ThrowIfNull(check);

src/TestableHttpClient/IHttpRequestMessagesCheck.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public interface IHttpRequestMessagesCheck
1616
/// <param name="requestFilter">The filter to filter requests with before asserting.</param>
1717
/// <param name="condition">The name of the condition, used in the exception message.</param>
1818
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
19-
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.")]
19+
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.", true)]
2020
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, string condition);
2121

2222
/// <summary>
@@ -26,7 +26,7 @@ public interface IHttpRequestMessagesCheck
2626
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
2727
/// <param name="condition">The name of the condition, used in the exception message.</param>
2828
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
29-
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.")]
29+
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.", true)]
3030
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, int expectedNumberOfRequests, string condition);
3131

3232
/// <summary>
@@ -36,7 +36,7 @@ public interface IHttpRequestMessagesCheck
3636
/// <param name="expectedNumberOfRequests">The expected number of requests, when null is passed "at least one" is presumed.</param>
3737
/// <param name="condition">The name of the condition, used in the exception message.</param>
3838
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
39-
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.")]
39+
[Obsolete("WithFilter will be made removed, since it should no longer be necesary to use.", true)]
4040
public IHttpRequestMessagesCheck WithFilter(Func<HttpRequestMessage, bool> requestFilter, int? expectedNumberOfRequests, string condition);
4141

4242
/// <summary>

src/TestableHttpClient/Utils/MessageBuilder.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace TestableHttpClient.Utils;
55

66
internal static class MessageBuilder
77
{
8-
internal static string BuildMessage(int? expectedCount, int actualCount, Request expectedRequest, IEnumerable<string> conditions)
8+
internal static string BuildMessage(int? expectedCount, int actualCount, Request expectedRequest)
99
{
1010
var pass = expectedCount switch
1111
{
@@ -60,12 +60,6 @@ internal static string BuildMessage(int? expectedCount, int actualCount, Request
6060
content = contentBuilder.ToString();
6161
}
6262

63-
var expectedConditions = string.Empty;
64-
if (conditions is not null && conditions.Any())
65-
{
66-
expectedConditions = $" with {string.Join(", ", conditions)}";
67-
}
68-
6963
var actualMessage = actualCount switch
7064
{
7165
0 => "no requests were made",
@@ -75,8 +69,8 @@ internal static string BuildMessage(int? expectedCount, int actualCount, Request
7569

7670
return pass switch
7771
{
78-
true => $"Expected {expectedMessage} to be made{requestUri}{headers}{content}{expectedConditions}, and {actualMessage}.",
79-
false => $"Expected {expectedMessage} to be made{requestUri}{headers}{content}{expectedConditions}, but {actualMessage}."
72+
true => $"Expected {expectedMessage} to be made{requestUri}{headers}{content}, and {actualMessage}.",
73+
false => $"Expected {expectedMessage} to be made{requestUri}{headers}{content}, but {actualMessage}."
8074
};
8175
}
8276

test/TestableHttpClient.Tests/HttpRequestMessageAsserterTests/WithFilter.cs

Lines changed: 0 additions & 90 deletions
This file was deleted.

0 commit comments

Comments
 (0)