#307 asserting headers with spaces
This commit is contained in:
parent
d61d899d3a
commit
5025cef1f4
@ -131,11 +131,19 @@ namespace Flurl.Test.Http
|
|||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public async Task can_assert_headers() {
|
public async Task can_assert_headers() {
|
||||||
await "http://api.com".WithHeaders(new { h1 = "val1", h2 = "val2" }).GetAsync();
|
await "http://api.com"
|
||||||
|
.WithHeaders(new { h1 = "val1", h2 = "val2" })
|
||||||
|
.WithHeader("User-Agent", "two words") // #307
|
||||||
|
.WithHeader("x", "dos words") // crazier than #307
|
||||||
|
.WithHeader("y", "hi; there") // crazier still
|
||||||
|
.GetAsync();
|
||||||
|
|
||||||
HttpTest.ShouldHaveMadeACall().WithHeader("h1");
|
HttpTest.ShouldHaveMadeACall().WithHeader("h1");
|
||||||
HttpTest.ShouldHaveMadeACall().WithHeader("h2", "val2");
|
HttpTest.ShouldHaveMadeACall().WithHeader("h2", "val2");
|
||||||
HttpTest.ShouldHaveMadeACall().WithHeader("h1", "val*");
|
HttpTest.ShouldHaveMadeACall().WithHeader("h1", "val*");
|
||||||
|
HttpTest.ShouldHaveMadeACall().WithHeader("User-Agent", "two words");
|
||||||
|
HttpTest.ShouldHaveMadeACall().WithHeader("x", "dos words");
|
||||||
|
HttpTest.ShouldHaveMadeACall().WithHeader("y", "hi; there");
|
||||||
|
|
||||||
HttpTest.ShouldHaveMadeACall().WithoutHeader("h3");
|
HttpTest.ShouldHaveMadeACall().WithoutHeader("h3");
|
||||||
HttpTest.ShouldHaveMadeACall().WithoutHeader("h2", "val1");
|
HttpTest.ShouldHaveMadeACall().WithoutHeader("h2", "val1");
|
||||||
|
@ -211,9 +211,9 @@ namespace Flurl.Http.Testing
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public HttpCallAssertion WithHeader(string name, string valuePattern = "*") {
|
public HttpCallAssertion WithHeader(string name, string valuePattern = "*") {
|
||||||
_expectedConditions.Add($"header {name}: {valuePattern}");
|
_expectedConditions.Add($"header {name}: {valuePattern}");
|
||||||
return With(c =>
|
return With(c =>
|
||||||
c.Request.Headers.TryGetValues(name, out var vals) &&
|
c.Request.Headers.TryGetValues(name, out var vals) &&
|
||||||
vals.Any(v => MatchesPattern(v, valuePattern)));
|
MatchesPattern(string.Join(" ", vals), valuePattern));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user