Skip to content

Commit da276da

Browse files
committed
Reverting back after extra file commit
1 parent 6d4140c commit da276da

2 files changed

Lines changed: 16 additions & 89 deletions

File tree

src/extension/tests/Test_TelemetryWriter.py

Lines changed: 13 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -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 """

src/extension/tests/helpers/RuntimeComposer.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,9 @@ def __init__(self):
3030
self.is_github_runner = os.getenv('RUNNER_TEMP', None) is not None
3131

3232
if self.is_github_runner:
33-
def mkdtemp_runner(suffix=None, prefix=None, dir=None):
34-
base_dir = os.getenv('RUNNER_TEMP')
35-
if dir:
36-
base_dir = dir
37-
temp_path = os.path.join(base_dir, str(uuid.uuid4()))
38-
os.makedirs(temp_path, exist_ok=True)
33+
def mkdtemp_runner():
34+
temp_path = os.path.join(os.getenv('RUNNER_TEMP'), str(uuid.uuid4()))
35+
os.mkdir(temp_path)
3936
return temp_path
4037
tempfile.mkdtemp = mkdtemp_runner
4138

0 commit comments

Comments
 (0)