File tree Expand file tree Collapse file tree 3 files changed +22
-4
lines changed
tests/HttpUserAgentParser.AspNetCore.UnitTests/Telemetry Expand file tree Collapse file tree 3 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 66 <PackageVersion Include =" NaughtyStrings" Version =" 2.4.1" />
77 </ItemGroup >
88 <ItemGroup Label =" Dependencies" >
9- <PackageVersion Include =" Microsoft.Extensions.Caching.Abstractions" Version =" 10 .0.1 " />
9+ <PackageVersion Include =" Microsoft.Extensions.Caching.Abstractions" Version =" 8 .0.0 " />
1010 <PackageVersion Include =" Microsoft.Extensions.Caching.Memory" Version =" 8.0.1" />
1111 <PackageVersion Include =" Microsoft.Extensions.DependencyInjection" Version =" 8.0.1" />
1212 <PackageVersion Include =" Microsoft.Extensions.DependencyInjection.Abstractions" Version =" 8.0.2" />
7171 <IncludeAssets >runtime; build; native; contentfiles; analyzers</IncludeAssets >
7272 </PackageVersion >
7373 </ItemGroup >
74- </Project >
74+ </Project >
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ internal sealed class EventCounterTestListener(string eventSourceName) : EventLi
88{
99 private readonly string _eventSourceName = eventSourceName ;
1010 private volatile bool _sawEventCounters ;
11+ private volatile bool _enabled ;
1112
1213 protected override void OnEventSourceCreated ( EventSource eventSource )
1314 {
@@ -24,6 +25,8 @@ protected override void OnEventSourceCreated(EventSource eventSource)
2425 {
2526 [ "EventCounterIntervalSec" ] = "0.1"
2627 } ) ;
28+
29+ _enabled = true ;
2730 }
2831
2932 protected override void OnEventWritten ( EventWrittenEventArgs eventData )
@@ -44,4 +47,15 @@ public bool WaitForCounters(TimeSpan timeout)
4447
4548 return _sawEventCounters ;
4649 }
50+
51+ public bool WaitUntilEnabled ( TimeSpan timeout )
52+ {
53+ DateTimeOffset start = DateTimeOffset . UtcNow ;
54+ while ( ! _enabled && DateTimeOffset . UtcNow - start < timeout )
55+ {
56+ Thread . Sleep ( 10 ) ;
57+ }
58+
59+ return _enabled ;
60+ }
4761}
Original file line number Diff line number Diff line change @@ -21,11 +21,15 @@ public void EventCounters_DoNotThrow_WhenEnabled()
2121
2222 DefaultHttpContext ctx = new ( ) ;
2323
24- // present
24+ // First call ensures the EventSource gets created (listener enables right after creation).
25+ ctx . Request . Headers . UserAgent = "UA" ;
26+ Assert . NotNull ( ctx . GetUserAgentString ( ) ) ;
27+ Assert . True ( listener . WaitUntilEnabled ( TimeSpan . FromSeconds ( 2 ) ) ) ;
28+
29+ // Now exercise telemetry-enabled paths.
2530 ctx . Request . Headers . UserAgent = "UA" ;
2631 Assert . NotNull ( ctx . GetUserAgentString ( ) ) ;
2732
28- // missing
2933 ctx . Request . Headers . Remove ( "User-Agent" ) ;
3034 Assert . Null ( ctx . GetUserAgentString ( ) ) ;
3135
You can’t perform that action at this time.
0 commit comments