|
14 | 14 |
|
15 | 15 | from py4j.protocol import Py4JJavaError
|
16 | 16 |
|
| 17 | + |
17 | 18 | ################
|
18 | 19 | # DRIVER TESTS #
|
19 | 20 | ################
|
@@ -166,6 +167,65 @@ def stageInfo(self): # noqa: N802
|
166 | 167 | assert mock_hub.kwargs["data"]["name"] == "run-job"
|
167 | 168 |
|
168 | 169 |
|
| 170 | +def test_sentry_listener_on_stage_submitted_no_attempt_id(sentry_listener): |
| 171 | + listener = sentry_listener |
| 172 | + with patch.object(listener, "_add_breadcrumb") as mock_add_breadcrumb: |
| 173 | + |
| 174 | + class StageInfo: |
| 175 | + def stageId(self): # noqa: N802 |
| 176 | + return "sample-stage-id-submit" |
| 177 | + |
| 178 | + def name(self): |
| 179 | + return "run-job" |
| 180 | + |
| 181 | + def attemptNumber(self): # noqa: N802 |
| 182 | + return 14 |
| 183 | + |
| 184 | + class MockStageSubmitted: |
| 185 | + def stageInfo(self): # noqa: N802 |
| 186 | + stageinf = StageInfo() |
| 187 | + return stageinf |
| 188 | + |
| 189 | + mock_stage_submitted = MockStageSubmitted() |
| 190 | + listener.onStageSubmitted(mock_stage_submitted) |
| 191 | + |
| 192 | + mock_add_breadcrumb.assert_called_once() |
| 193 | + mock_hub = mock_add_breadcrumb.call_args |
| 194 | + |
| 195 | + assert mock_hub.kwargs["level"] == "info" |
| 196 | + assert "sample-stage-id-submit" in mock_hub.kwargs["message"] |
| 197 | + assert mock_hub.kwargs["data"]["attemptId"] == 14 |
| 198 | + assert mock_hub.kwargs["data"]["name"] == "run-job" |
| 199 | + |
| 200 | + |
| 201 | +def test_sentry_listener_on_stage_submitted_no_attempt_id_or_number(sentry_listener): |
| 202 | + listener = sentry_listener |
| 203 | + with patch.object(listener, "_add_breadcrumb") as mock_add_breadcrumb: |
| 204 | + |
| 205 | + class StageInfo: |
| 206 | + def stageId(self): # noqa: N802 |
| 207 | + return "sample-stage-id-submit" |
| 208 | + |
| 209 | + def name(self): |
| 210 | + return "run-job" |
| 211 | + |
| 212 | + class MockStageSubmitted: |
| 213 | + def stageInfo(self): # noqa: N802 |
| 214 | + stageinf = StageInfo() |
| 215 | + return stageinf |
| 216 | + |
| 217 | + mock_stage_submitted = MockStageSubmitted() |
| 218 | + listener.onStageSubmitted(mock_stage_submitted) |
| 219 | + |
| 220 | + mock_add_breadcrumb.assert_called_once() |
| 221 | + mock_hub = mock_add_breadcrumb.call_args |
| 222 | + |
| 223 | + assert mock_hub.kwargs["level"] == "info" |
| 224 | + assert "sample-stage-id-submit" in mock_hub.kwargs["message"] |
| 225 | + assert "attemptId" not in mock_hub.kwargs["data"] |
| 226 | + assert mock_hub.kwargs["data"]["name"] == "run-job" |
| 227 | + |
| 228 | + |
169 | 229 | @pytest.fixture
|
170 | 230 | def get_mock_stage_completed():
|
171 | 231 | def _inner(failure_reason):
|
|
0 commit comments