@@ -100,5 +100,49 @@ public void FormattedLog_Success()
100100 Assert . Equal ( 3 , log [ "items" ] . Count ( ) ) ;
101101 Assert . Null ( log . Value < string > ( "errorMessage" ) ) ;
102102 }
103+
104+ [ Fact ]
105+ public void FormattedLog_InstrumentationKeys ( )
106+ {
107+ TransmissionStatusHandler handler = new ( ) ;
108+ var request1 = new RequestTelemetry ( ) ;
109+ request1 . Context . InstrumentationKey = "AAAAA-AAAAAAAAAA-AAAAAAAA-AAAAAAAA" ;
110+
111+ var request2 = new RequestTelemetry ( ) ;
112+ request2 . Context . InstrumentationKey = "CCCCC-CCCCCCCCCCCCCCCCC-" ;
113+
114+ var trace1 = new TraceTelemetry ( ) ;
115+ trace1 . Context . InstrumentationKey = "BBBBB-BBBBBBBBB-BBBBBBBBBBB-BBBBBBB" ;
116+
117+ var trace2 = new TraceTelemetry ( ) ;
118+ trace2 . Context . InstrumentationKey = "BBBBB-BBBBBBBBB-BBBBBBBBBBB-BBBBBBB" ;
119+
120+ Transmission transmission = new ( new ( "https://test" ) , new List < ITelemetry > ( ) { request1 , request2 , trace1 , trace2 } , new TimeSpan ( 500 ) ) ;
121+ IngestionServiceResponse backendResponse = new ( )
122+ {
123+ ItemsAccepted = 100 ,
124+ ItemsReceived = 100
125+ } ;
126+ HttpWebResponseWrapper response = new ( )
127+ {
128+ StatusCode = 200 ,
129+ StatusDescription = "ok" ,
130+ Content = JsonConvert . SerializeObject ( backendResponse , new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver ( ) } )
131+ } ;
132+
133+ TransmissionStatusEventArgs args = new ( response , 100 ) ;
134+ JObject log = JsonConvert . DeserializeObject < JObject > ( TransmissionStatusHandler . FormattedLog ( transmission , args ) ) ;
135+
136+ Assert . Equal ( 200 , log . Value < int > ( "statusCode" ) ) ;
137+ Assert . Equal ( "https://test" , log . Value < string > ( "endpointAddress" ) ) ;
138+ Assert . Equal ( "ok" , log . Value < string > ( "statusDescription" ) ) ;
139+ Assert . Equal ( 100 , log . Value < int > ( "responseTimeInMs" ) ) ;
140+ Assert . True ( log . ContainsKey ( "id" ) ) ;
141+ Assert . Equal ( 2 , log [ "items" ] . Count ( ) ) ;
142+ Assert . Equal ( 3 , log [ "iKeys" ] . Count ( ) ) ;
143+ Assert . Null ( log . Value < string > ( "errorMessage" ) ) ;
144+ string keys = log [ "iKeys" ] . ToString ( ) ;
145+ Assert . True ( keys . Contains ( "AAAAA-AAAAAAAAAA-AAAAAAA************" ) && keys . Contains ( "BBBBB-BBBBBBBBB-BBBBBBBB************" ) && keys . Contains ( "CCCCC-CCCCCCCCCCCCCCCCC-" ) ) ;
146+ }
103147 }
104148}
0 commit comments