11
11
using Microsoft . AspNetCore . Http . Features ;
12
12
using Microsoft . AspNetCore . Testing ;
13
13
using Microsoft . Extensions . DependencyInjection ;
14
+ using Microsoft . Extensions . Logging ;
14
15
using Microsoft . Extensions . Logging . Abstractions ;
15
16
using Microsoft . Extensions . Metrics ;
16
17
using Moq ;
17
18
using static Microsoft . AspNetCore . Hosting . HostingApplication ;
18
19
19
20
namespace Microsoft . AspNetCore . Hosting . Tests ;
20
21
21
- public class HostingApplicationTests
22
+ public class HostingApplicationTests : LoggedTest
22
23
{
23
24
[ Fact ]
24
25
public void Metrics ( )
@@ -213,9 +214,11 @@ public void CreateContextCreatesNewContextIfNotUsingDefaultHttpContextFactory()
213
214
hostingApplication . DisposeContext ( context , null ) ;
214
215
}
215
216
216
- [ Fact ]
217
+ [ Theory ]
218
+ [ InlineData ( true ) ]
219
+ [ InlineData ( false ) ]
217
220
[ QuarantinedTest ( "https://github.com/dotnet/aspnetcore/issues/35142" ) ]
218
- public void IHttpActivityFeatureIsPopulated ( )
221
+ public void IHttpActivityFeatureIsPopulated ( bool enableLogging )
219
222
{
220
223
var testSource = new ActivitySource ( Path . GetRandomFileName ( ) ) ;
221
224
var dummySource = new ActivitySource ( Path . GetRandomFileName ( ) ) ;
@@ -227,7 +230,8 @@ public void IHttpActivityFeatureIsPopulated()
227
230
} ;
228
231
ActivitySource . AddActivityListener ( listener ) ;
229
232
230
- var hostingApplication = CreateApplication ( activitySource : testSource ) ;
233
+ var loggerFactory = enableLogging ? LoggerFactory : NullLoggerFactory . Instance ;
234
+ var hostingApplication = CreateApplication ( activitySource : testSource , loggerFactory : loggerFactory ) ;
231
235
var httpContext = new DefaultHttpContext ( ) ;
232
236
var context = hostingApplication . CreateContext ( httpContext . Features ) ;
233
237
@@ -289,7 +293,7 @@ public void IHttpActivityFeatureNotUsedFromFeatureCollection()
289
293
[ Fact ]
290
294
public void IHttpActivityFeatureIsNotPopulatedWithoutAListener ( )
291
295
{
292
- var hostingApplication = CreateApplication ( ) ;
296
+ var hostingApplication = CreateApplication ( loggerFactory : NullLoggerFactory . Instance ) ;
293
297
var httpContext = new DefaultHttpContext ( ) ;
294
298
httpContext . Features . Set < IHttpActivityFeature > ( new TestHttpActivityFeature ( ) ) ;
295
299
var context = hostingApplication . CreateContext ( httpContext . Features ) ;
@@ -302,8 +306,8 @@ public void IHttpActivityFeatureIsNotPopulatedWithoutAListener()
302
306
hostingApplication . DisposeContext ( context , null ) ;
303
307
}
304
308
305
- private static HostingApplication CreateApplication ( IHttpContextFactory httpContextFactory = null , bool useHttpContextAccessor = false ,
306
- ActivitySource activitySource = null , IMeterFactory meterFactory = null )
309
+ private HostingApplication CreateApplication ( IHttpContextFactory httpContextFactory = null , bool useHttpContextAccessor = false ,
310
+ ActivitySource activitySource = null , IMeterFactory meterFactory = null , ILoggerFactory loggerFactory = null )
307
311
{
308
312
var services = new ServiceCollection ( ) ;
309
313
services . AddOptions ( ) ;
@@ -313,10 +317,11 @@ private static HostingApplication CreateApplication(IHttpContextFactory httpCont
313
317
}
314
318
315
319
httpContextFactory ??= new DefaultHttpContextFactory ( services . BuildServiceProvider ( ) ) ;
320
+ loggerFactory ??= LoggerFactory ;
316
321
317
322
var hostingApplication = new HostingApplication (
318
323
ctx => Task . CompletedTask ,
319
- NullLogger . Instance ,
324
+ loggerFactory . CreateLogger ( "Microsoft.AspNetCore.Hosting.Diagnostics" ) ,
320
325
new DiagnosticListener ( "Microsoft.AspNetCore" ) ,
321
326
activitySource ?? new ActivitySource ( "Microsoft.AspNetCore" ) ,
322
327
DistributedContextPropagator . CreateDefaultPropagator ( ) ,
0 commit comments