@@ -13,13 +13,15 @@ public class ComponentTelemetryContextTests
1313 [ Fact ]
1414 public async Task ComponentTelemetryContext_TelemetryEnabled_EndToEnd ( )
1515 {
16+ // Arrange
1617 var telemetryContext = new ComponentTelemetryContext ( nameof ( ComponentTelemetryContextTests ) ) ;
1718 var telemetrySender = new TestDashboardTelemetrySender { IsTelemetryEnabled = true } ;
1819 var telemetryService = new DashboardTelemetryService ( NullLogger < DashboardTelemetryService > . Instance , telemetrySender ) ;
1920 var telemetryContextProvider = new ComponentTelemetryContextProvider ( telemetryService ) ;
2021 telemetryContextProvider . SetBrowserUserAgent ( "mozilla" ) ;
2122 await telemetryService . InitializeAsync ( ) ;
2223
24+ // Act & assert initialize
2325 telemetryContextProvider . Initialize ( telemetryContext ) ;
2426 for ( var i = 0 ; i < telemetryService . GetDefaultProperties ( ) . Count ; i ++ )
2527 {
@@ -35,6 +37,7 @@ public async Task ComponentTelemetryContext_TelemetryEnabled_EndToEnd()
3537
3638 OperationContext ? parametersUpdateOperation ;
3739
40+ // Act & assert update properties
3841 telemetryContext . UpdateTelemetryProperties ( [ new ComponentTelemetryProperty ( "Test" , new AspireTelemetryProperty ( "Value" ) ) ] ) ;
3942 Assert . Equal ( 3 , telemetryContext . Properties . Count ) ;
4043 Assert . True ( telemetrySender . ContextChannel . Reader . TryRead ( out parametersUpdateOperation ) ) ;
@@ -50,6 +53,7 @@ public async Task ComponentTelemetryContext_TelemetryEnabled_EndToEnd()
5053 Assert . Equal ( 3 , telemetryContext . Properties . Count ) ;
5154 Assert . True ( telemetrySender . ContextChannel . Reader . TryRead ( out parametersUpdateOperation ) ) ;
5255
56+ // Act & assert dispose
5357 telemetryContext . Dispose ( ) ;
5458 Assert . True ( telemetrySender . ContextChannel . Reader . TryRead ( out var disposeOperation ) ) ;
5559 Assert . Equal ( "/telemetry/operation - $aspire/dashboard/component/dispose" , disposeOperation . Name ) ;
@@ -58,21 +62,35 @@ public async Task ComponentTelemetryContext_TelemetryEnabled_EndToEnd()
5862 [ Fact ]
5963 public async Task ComponentTelemetryContext_TelemetryDisabled_EndToEnd ( )
6064 {
65+ // Arrange
6166 var telemetryContext = new ComponentTelemetryContext ( nameof ( ComponentTelemetryContextTests ) ) ;
6267 var telemetrySender = new TestDashboardTelemetrySender { IsTelemetryEnabled = false } ;
6368 var telemetryService = new DashboardTelemetryService ( NullLogger < DashboardTelemetryService > . Instance , telemetrySender ) ;
6469 var telemetryContextProvider = new ComponentTelemetryContextProvider ( telemetryService ) ;
6570 telemetryContextProvider . SetBrowserUserAgent ( "mozilla" ) ;
6671 await telemetryService . InitializeAsync ( ) ;
6772
73+ // Act & assert initialize
6874 telemetryContextProvider . Initialize ( telemetryContext ) ;
6975 Assert . False ( telemetrySender . ContextChannel . Reader . TryRead ( out _ ) ) ;
7076
77+ // Act & assert update properties
7178 telemetryContext . UpdateTelemetryProperties ( [ new ComponentTelemetryProperty ( "Test" , new AspireTelemetryProperty ( "Value" ) ) ] ) ;
7279 Assert . Equal ( 3 , telemetryContext . Properties . Count ) ;
7380 Assert . False ( telemetrySender . ContextChannel . Reader . TryRead ( out _ ) ) ;
7481
82+ // Act & assert dispose
7583 telemetryContext . Dispose ( ) ;
7684 Assert . False ( telemetrySender . ContextChannel . Reader . TryRead ( out _ ) ) ;
7785 }
86+
87+ [ Fact ]
88+ public void ComponentTelemetryContext_DisposeWithoutInitialize_NoThrow ( )
89+ {
90+ // Arrange
91+ var telemetryContext = new ComponentTelemetryContext ( nameof ( ComponentTelemetryContextTests ) ) ;
92+
93+ // Act
94+ telemetryContext . Dispose ( ) ;
95+ }
7896}
0 commit comments