@@ -190,15 +190,6 @@ def _read_event_from_file(self, file_index=None, event_index=-1):
190190 raise Exception ("No events found in event file" )
191191 return events [event_index ]
192192
193- def _get_message_without_tc (self , event ):
194- """
195- Helper method to extract the message without the TC (telemetry counter) portion.
196- Args:
197- event: The event dictionary
198- Returns: The message from the event
199- """
200- return event ["Message" ]
201-
202193 def _validate_sanitized_event (self , expected_message , task_name = None , event_index = - 1 , file_index = None ):
203194 """
204195 Helper method to validate an event's message and task name against expected values.
@@ -210,98 +201,37 @@ def _validate_sanitized_event(self, expected_message, task_name=None, event_inde
210201 file_index: Index of the event file (default: None for latest file)
211202 """
212203 event = self ._read_event_from_file (file_index = file_index , event_index = event_index )
213-
214204 self .assertIsNotNone (event )
215- message = self ._get_message_without_tc (event )
216- self .assertEqual (expected_message , message )
205+ self .assertEqual (expected_message , event ["Message" ])
217206 if task_name is not None :
218207 self .assertEqual (task_name , event ["TaskName" ])
219208
220- def _load_sanitized_event (self , message ):
221- """
222- Helper method to write event to telemetry and load the sanitized message.
223- The regex sanitization happens automatically in TelemetryWriter.
224- Args:
225- message: The message to write to telemetry
226- Returns: The sanitized message from the event
227- """
228- # Write event to telemetry
229- actual_message = self .telemetry_writer .write_event (message )
230-
231- # Load the event file using helper method (gets first event from latest file)
232- event = self ._read_event_from_file (file_index = None , event_index = 0 )
233- return event ["Message" ]
234-
235- def test_load_sanitized_event_full_path (self ):
236- """Test: Helper method executes full path when not on GitHub runner"""
237- # Force is_github_runner to False to ensure full path coverage on CI
238- original_is_github_runner = self .runtime .is_github_runner
239- self .runtime .is_github_runner = False
240-
241- message = "https://user:pass@example.com"
242- result = self ._load_sanitized_event (message )
243-
244- # On non-GitHub runner, should return the sanitized message
245- self .assertIsNotNone (result )
246- self .assertIn ("user@example.com" , result )
247- self .assertEqual ("https://user@example.com" , result )
248-
249- # Restore
250- self .runtime .is_github_runner = original_is_github_runner
251-
252209 def test_sanitize_credentials_multiple_urls_with_credentials_leak (self ):
253210 """ Test sanitization with multiple URLs containing credentials """
254- message = "Failed to fetch from https://user1:pass1@host1.com/api and http://user2:pass2@host2.com/data"
255- expected_message = "Failed to fetch from https://user1@host1.com/api and http://user2@host2.com/data"
256-
257- self .telemetry_writer .write_event (message , Constants .TelemetryEventLevel .Error , "Test Task" )
211+ self .telemetry_writer .write_event ("Failed to fetch from https://user1:pass1@host1.com/api and http://user2:pass2@host2.com/data" , Constants .TelemetryEventLevel .Error , "Test Task" )
258212
259- self ._validate_sanitized_event (expected_message , task_name = "Test Task" , event_index = - 1 )
213+ self ._validate_sanitized_event ("Failed to fetch from https://user1@host1.com/api and http://user2@host2.com/data" , task_name = "Test Task" , event_index = - 1 )
260214
261215 def test_sanitize_credentials_with_no_credentials_in_input_with_credentials_leak (self ):
262216 """ ERROR with 401 status code from jfrog.io """
263- message = "ERROR: Failed to download metadata for repo 'packages-microsoft-com-prod': Status code: 401 for https://cec-aa.jfrog.io/artifactory/glib-rpm-hel9-lts-microsoft-com/repodata/repomd.xml"
264- expected_message = "ERROR: Failed to download metadata for repo 'packages-microsoft-com-prod': Status code: 401 for https://cec-aa.jfrog.io/artifactory/glib-rpm-hel9-lts-microsoft-com/repodata/repomd.xml"
265-
266- self .telemetry_writer .write_event (message , Constants .TelemetryEventLevel .Error , "Test Task" )
217+ self .telemetry_writer .write_event ("ERROR: Failed to download metadata for repo 'packages-microsoft-com-prod': Status code: 401 for https://cec-aa.jfrog.io/artifactory/glib-rpm-hel9-lts-microsoft-com/repodata/repomd.xml" , Constants .TelemetryEventLevel .Error , "Test Task" )
267218
268- self ._validate_sanitized_event (expected_message , task_name = "Test Task" , event_index = - 1 )
219+ self ._validate_sanitized_event ("ERROR: Failed to download metadata for repo 'packages-microsoft-com-prod': Status code: 401 for https://cec-aa.jfrog.io/artifactory/glib-rpm-hel9-lts-microsoft-com/repodata/repomd.xml" , task_name = "Test Task" , event_index = - 1 )
269220
270221 def test_sanitize_credentials_with_error_and_credentials_leak (self ):
271222 """ Curl error with buildbot:BuildBotToken credentials """
272- message = ("Curl error (6): Couldn't resolve host 'packages.microsoft.com' Could not "
273- "retrieve mirrorlist https://buildbot:BuildBotToken@mirror.example.com/repodata/repomd.xml" )
274- expected_message = ("Curl error (6): Couldn't resolve host 'packages.microsoft.com' Could not "
275- "retrieve mirrorlist https://buildbot@mirror.example.com/repodata/repomd.xml" )
223+ self .telemetry_writer .write_event ("Curl error (6): Couldn't resolve host 'packages.microsoft.com' Could not "
224+ "retrieve mirrorlist https://buildbot:BuildBotToken@mirror.example.com/repodata/repomd.xml" , Constants .TelemetryEventLevel .Error , "Test Task" )
276225
277- self .telemetry_writer .write_event (message , Constants .TelemetryEventLevel .Error , "Test Task" )
278-
279- self ._validate_sanitized_event (expected_message , task_name = "Test Task" , event_index = - 1 )
226+ self ._validate_sanitized_event ("Curl error (6): Couldn't resolve host 'packages.microsoft.com' Could not "
227+ "retrieve mirrorlist https://buildbot@mirror.example.com/repodata/repomd.xml" , task_name = "Test Task" , event_index = - 1 )
280228
281229 def test_sanitize_credentials_expired_with_credentials_leak (self ):
282230 """ ERROR with expired SSL certs and TESTTOKEN123456 """
283- message = ("ERROR: Customer environment error (expired SSL certs): "
284- "Command=sudo yum update -y --disablerepo='*' "
285- "--enablerepo='microsoft' !!Code=11 Out- Updating "
286- "Subscription Management repositories. "
287- "Unable to read consumer identity This system is not registered "
288- "with an entitlement server. Status code: 401 "
289- "for https://testuser:TESTTOKEN123456@packages-microsoft-com-prod/CENTRAL.rpm "
290- "Error: Failed to download metadata for repo 'packages-microsoft-com-prod': "
291- "Cannot download repomd.xml: All mirrors were tried" )
292- expected_message = ("ERROR: Customer environment error (expired SSL certs): "
293- "Command=sudo yum update -y --disablerepo='*' "
294- "--enablerepo='microsoft' !!Code=11 Out- Updating "
295- "Subscription Management repositories. "
296- "Unable to read consumer identity This system is not registered "
297- "with an entitlement server. Status code: 401 "
298- "for https://testuser@packages-microsoft-com-prod/CENTRAL.rpm "
299- "Error: Failed to download metadata for repo 'packages-microsoft-com-prod': "
300- "Cannot download repomd.xml: All mirrors were tried" )
301-
302- self .telemetry_writer .write_event (message , Constants .TelemetryEventLevel .Error , "Test Task" )
303-
304- self ._validate_sanitized_event (expected_message , task_name = "Test Task" , event_index = - 1 )
231+ self .telemetry_writer .write_event ("ERROR: Customer environment error (expired SSL certs):Command=sudo yum update -y --disablerepo='*' Status code: 401 "
232+ "for https://testuser:TESTTOKEN123456@packages-microsoft-com-prod/CENTRAL.rpm" , Constants .TelemetryEventLevel .Error , "Test Task" )
233+ self ._validate_sanitized_event ("ERROR: Customer environment error (expired SSL certs):Command=sudo yum update -y --disablerepo='*' Status code: 401 "
234+ "for https://testuser@packages-microsoft-com-prod/CENTRAL.rpm" , task_name = "Test Task" , event_index = - 1 )
305235
306236 def test_sanitize_credentials_exception_handling (self ):
307237 """ Test exception handling: passing None should return the input unchanged """
0 commit comments