Skip to content

Commit 52a02f0

Browse files
committed
unit tests for export_failure_log
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
1 parent 3dc222f commit 52a02f0

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

tests/unit/test_telemetry.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ def test_export_initial_telemetry_log(self, noop_telemetry_client):
8383
driver_connection_params=MagicMock(), user_agent="test"
8484
)
8585

86+
def test_export_failure_log(self, noop_telemetry_client):
87+
"""Test that export_failure_log does nothing."""
88+
noop_telemetry_client.export_failure_log(
89+
error_name="TestError", error_message="Test error message"
90+
)
91+
8692
def test_close(self, noop_telemetry_client):
8793
"""Test that close does nothing."""
8894
noop_telemetry_client.close()
@@ -127,6 +133,47 @@ def test_export_initial_telemetry_log(
127133
mock_frontend_log.assert_called_once()
128134
client.export_event.assert_called_once_with(mock_frontend_log.return_value)
129135

136+
@patch("databricks.sql.telemetry.telemetry_client.TelemetryFrontendLog")
137+
@patch("databricks.sql.telemetry.telemetry_client.TelemetryHelper.getDriverSystemConfiguration")
138+
@patch("databricks.sql.telemetry.telemetry_client.DriverErrorInfo")
139+
@patch("databricks.sql.telemetry.telemetry_client.uuid.uuid4")
140+
@patch("databricks.sql.telemetry.telemetry_client.time.time")
141+
def test_export_failure_log(
142+
self,
143+
mock_time,
144+
mock_uuid4,
145+
mock_driver_error_info,
146+
mock_get_driver_config,
147+
mock_frontend_log,
148+
telemetry_client_setup
149+
):
150+
"""Test exporting failure telemetry log."""
151+
mock_time.return_value = 2000
152+
mock_uuid4.return_value = "test-error-uuid"
153+
mock_get_driver_config.return_value = "test-driver-config"
154+
mock_driver_error_info.return_value = MagicMock()
155+
mock_frontend_log.return_value = MagicMock()
156+
157+
client = telemetry_client_setup["client"]
158+
client.export_event = MagicMock()
159+
160+
client._driver_connection_params = "test-connection-params"
161+
client._user_agent = "test-user-agent"
162+
163+
error_name = "TestError"
164+
error_message = "This is a test error message"
165+
166+
client.export_failure_log(error_name, error_message)
167+
168+
mock_driver_error_info.assert_called_once_with(
169+
error_name=error_name,
170+
stack_trace=error_message
171+
)
172+
173+
mock_frontend_log.assert_called_once()
174+
175+
client.export_event.assert_called_once_with(mock_frontend_log.return_value)
176+
130177
def test_export_event(self, telemetry_client_setup):
131178
"""Test exporting an event."""
132179
client = telemetry_client_setup["client"]

0 commit comments

Comments
 (0)