|
15 | 15 | capture_message, |
16 | 16 | capture_exception, |
17 | 17 | capture_event, |
| 18 | + capture_user_feedback, |
18 | 19 | start_transaction, |
19 | 20 | set_tag, |
20 | 21 | ) |
@@ -585,6 +586,35 @@ def test_capture_event_works(sentry_init): |
585 | 586 | pytest.raises(EventCapturedError, lambda: capture_event({})) |
586 | 587 |
|
587 | 588 |
|
| 589 | +def test_capture_user_feedback_works(sentry_init, capture_envelopes): |
| 590 | + expected_event_id = "test_event_id" |
| 591 | + expected_name = "test_name" |
| 592 | + expected_email = "test_email" |
| 593 | + expected_comments = "test_comments" |
| 594 | + |
| 595 | + sentry_init(attach_stacktrace=False) |
| 596 | + envelopes = capture_envelopes() |
| 597 | + |
| 598 | + capture_user_feedback({ |
| 599 | + "event_id": expected_event_id, |
| 600 | + "email": expected_email, |
| 601 | + "comments": expected_comments, |
| 602 | + "name": expected_name, |
| 603 | + }) |
| 604 | + |
| 605 | + assert len(envelopes) == 1 |
| 606 | + user_feedback_envelope = envelopes[0] |
| 607 | + assert user_feedback_envelope.headers["event_id"] == expected_event_id |
| 608 | + assert len(user_feedback_envelope.items) == 1 |
| 609 | + user_feedback_item = user_feedback_envelope.items[0] |
| 610 | + assert user_feedback_item.data_category == "user_report" |
| 611 | + assert user_feedback_item.headers["type"] == "user_report" |
| 612 | + assert user_feedback_item.payload.json["event_id"] == expected_event_id |
| 613 | + assert user_feedback_item.payload.json["email"] == expected_email |
| 614 | + assert user_feedback_item.payload.json["name"] == expected_name |
| 615 | + assert user_feedback_item.payload.json["comments"] == expected_comments |
| 616 | + |
| 617 | + |
588 | 618 | @pytest.mark.parametrize("num_messages", [10, 20]) |
589 | 619 | def test_atexit(tmpdir, monkeypatch, num_messages): |
590 | 620 | app = tmpdir.join("app.py") |
|
0 commit comments