Skip to content

Commit 0920c0d

Browse files
committed
Use WithHeader implementation for WithRequestHeader and WithContentHeader
1 parent ee96b31 commit 0920c0d

File tree

2 files changed

+33
-30
lines changed

2 files changed

+33
-30
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
2020
### Changed
2121
- The TestableHttpMessageHandler now makes a clone of the original request, so that the original request can be disposed.
2222
This change also makes it possible to assert the content on .NET Framework.
23+
- The methods `WithRequestHeader` and `WithContentHeader` now work the same as `WithHeader`, this might lead to slight changes in the behavior since now the headers from both the request and the content of that request are checked.
2324
- Moved `WithHttpMethod`, `WithRequestUri`, `WithHttpVersion`, `WithHeader` and `WithContent` from `HttpRequestMessagesCheckExtensions` to `HttpRequestMessageAsserter` and specify them on the `IHttpRequestMessagesCheck` interface.
2425

2526
## [0.11] - 2024-06-15

src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ public static class HttpRequestMessagesCheckExtensions
1010
/// <param name="headerName">The name of the header that is expected.</param>
1111
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
1212
[Obsolete("Use WithHeader instead.")]
13-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName) => WithRequestHeader(check, headerName, (int?)null);
13+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName)
14+
{
15+
Guard.ThrowIfNull(check);
16+
17+
return check.WithHeader(headerName);
18+
}
1419

1520
/// <summary>
1621
/// Asserts whether requests were made with a specific header name. Values are ignored.
@@ -21,15 +26,11 @@ public static class HttpRequestMessagesCheckExtensions
2126
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
2227
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
2328
[Obsolete("Use WithHeader instead.")]
24-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests) => WithRequestHeader(check, headerName, (int?)expectedNumberOfRequests);
25-
26-
[Obsolete("Use WithHeader instead.")]
27-
private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, int? expectedNumberOfRequests)
29+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests)
2830
{
2931
Guard.ThrowIfNull(check);
30-
Guard.ThrowIfNullOrEmpty(headerName);
3132

32-
return check.WithFilter(x => x.HasRequestHeader(headerName), expectedNumberOfRequests, $"request header '{headerName}'");
33+
return check.WithHeader(headerName, expectedNumberOfRequests);
3334
}
3435

3536
/// <summary>
@@ -41,7 +42,12 @@ private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMess
4142
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
4243
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
4344
[Obsolete("Use WithHeader instead.")]
44-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue) => WithRequestHeader(check, headerName, headerValue, null);
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+
}
4551

4652
/// <summary>
4753
/// Asserts whether requests were made with a specific header name and value.
@@ -53,16 +59,11 @@ private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMess
5359
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
5460
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
5561
[Obsolete("Use WithHeader instead.")]
56-
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests) => WithRequestHeader(check, headerName, headerValue, (int?)expectedNumberOfRequests);
57-
58-
[Obsolete("Use WithHeader instead.")]
59-
private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int? expectedNumberOfRequests)
62+
public static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests)
6063
{
6164
Guard.ThrowIfNull(check);
62-
Guard.ThrowIfNullOrEmpty(headerName);
63-
Guard.ThrowIfNullOrEmpty(headerValue);
6465

65-
return check.WithFilter(x => x.HasRequestHeader(headerName, headerValue), expectedNumberOfRequests, $"request header '{headerName}' and value '{headerValue}'");
66+
return check.WithHeader(headerName, headerValue, expectedNumberOfRequests);
6667
}
6768

6869
/// <summary>
@@ -73,7 +74,12 @@ private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMess
7374
/// <param name="headerName">The name of the header that is expected.</param>
7475
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
7576
[Obsolete("Use WithHeader instead.")]
76-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName) => WithContentHeader(check, headerName, (int?)null);
77+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName)
78+
{
79+
Guard.ThrowIfNull(check);
80+
81+
return check.WithHeader(headerName);
82+
}
7783

7884
/// <summary>
7985
/// Asserts whether requests were made with a specific header name. Values are ignored.
@@ -84,15 +90,11 @@ private static IHttpRequestMessagesCheck WithRequestHeader(this IHttpRequestMess
8490
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
8591
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
8692
[Obsolete("Use WithHeader instead.")]
87-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests) => WithContentHeader(check, headerName, (int?)expectedNumberOfRequests);
88-
89-
[Obsolete("Use WithHeader instead.")]
90-
private static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, int? expectedNumberOfRequests)
93+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, int expectedNumberOfRequests)
9194
{
9295
Guard.ThrowIfNull(check);
93-
Guard.ThrowIfNullOrEmpty(headerName);
9496

95-
return check.WithFilter(x => x.HasContentHeader(headerName), expectedNumberOfRequests, $"content header '{headerName}'");
97+
return check.WithHeader(headerName, expectedNumberOfRequests);
9698
}
9799

98100
/// <summary>
@@ -104,7 +106,12 @@ private static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMess
104106
/// <param name="headerValue">The value of the expected header, supports wildcards.</param>
105107
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
106108
[Obsolete("Use WithHeader instead.")]
107-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue) => WithContentHeader(check, headerName, headerValue, null);
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+
}
108115

109116
/// <summary>
110117
/// Asserts whether requests were made with a specific header name and value.
@@ -116,16 +123,11 @@ private static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMess
116123
/// <param name="expectedNumberOfRequests">The expected number of requests.</param>
117124
/// <returns>The <seealso cref="IHttpRequestMessagesCheck"/> for further assertions.</returns>
118125
[Obsolete("Use WithHeader instead.")]
119-
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests) => WithContentHeader(check, headerName, headerValue, (int?)expectedNumberOfRequests);
120-
121-
[Obsolete("Use WithHeader instead.")]
122-
private static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int? expectedNumberOfRequests)
126+
public static IHttpRequestMessagesCheck WithContentHeader(this IHttpRequestMessagesCheck check, string headerName, string headerValue, int expectedNumberOfRequests)
123127
{
124128
Guard.ThrowIfNull(check);
125-
Guard.ThrowIfNullOrEmpty(headerName);
126-
Guard.ThrowIfNullOrEmpty(headerValue);
127129

128-
return check.WithFilter(x => x.HasContentHeader(headerName, headerValue), expectedNumberOfRequests, $"content header '{headerName}' and value '{headerValue}'");
130+
return check.WithHeader(headerName, headerValue, expectedNumberOfRequests);
129131
}
130132

131133
/// <summary>

0 commit comments

Comments
 (0)