Skip to content

Commit 8ddff3d

Browse files
committed
test: update test case
1 parent 5a40ff6 commit 8ddff3d

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebHostTests.cs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,25 +117,40 @@ public async Task WebHostConfiguration_EnablesForwardedHeaders_CustomHeaders_Fro
117117
}
118118

119119
[Fact]
120-
public void WebHostConfiguration_EnablesForwardedHeaders_CustomConfig()
120+
public async Task WebHostConfiguration_EnablesForwardedHeaders_CustomConfig()
121121
{
122122
using var host = WebHost.CreateDefaultBuilder()
123123
.ConfigureAppConfiguration(configBuilder =>
124124
{
125125
configBuilder.AddInMemoryCollection(new[]
126126
{
127127
new KeyValuePair<string, string>("FORWARDEDHEADERS_ENABLED", "true" ),
128-
new KeyValuePair<string, string>("FORWARDEDHEADERS_HEADERS", "XForwardedHost,XForwardedProto,XForwardedFor,XForwardedFor123" ),
128+
new KeyValuePair<string, string>("FORWARDEDHEADERS_HEADERS", "XForwardedHost,XForwardedProto,XForwardedFor123" ),
129129
new KeyValuePair<string, string>("ForwardedHeaders_KnownIPNetworks", "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"),
130130
new KeyValuePair<string, string>("ForwardedHeaders_KnownProxies", "127.0.0.1")
131131
});
132132
})
133133
.UseTestServer()
134+
.Configure(app =>
135+
{
136+
Assert.True(app.Properties.ContainsKey("ForwardedHeadersAdded"), "Forwarded Headers");
137+
app.Run(context =>
138+
{
139+
Assert.Equal("https", context.Request.Scheme);
140+
return Task.CompletedTask;
141+
});
142+
})
134143
.Build();
144+
await host.StartAsync();
145+
var client = host.GetTestClient();
146+
client.DefaultRequestHeaders.Add("x-forwarded-proto", "https");
147+
var result = await client.GetAsync("http://localhost/");
148+
result.EnsureSuccessStatusCode();
149+
135150
var forwardedHeadersOptions = host.Services.GetRequiredService<IOptions<ForwardedHeadersOptions>>().Value;
136151
Assert.NotNull(forwardedHeadersOptions);
137152
Assert.Equal(
138-
ForwardedHeaders.XForwardedHost | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedFor,
153+
ForwardedHeaders.XForwardedHost | ForwardedHeaders.XForwardedProto,
139154
forwardedHeadersOptions.ForwardedHeaders
140155
);
141156
Assert.NotEmpty(forwardedHeadersOptions.KnownIPNetworks);

0 commit comments

Comments
 (0)