Skip to content

Commit d3e6121

Browse files
committed
✅ Add tests for new PD summary titles
1 parent 7c12677 commit d3e6121

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

tests/sentry/integrations/pagerduty/test_notification.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from sentry.testutils.helpers.notifications import TEST_ISSUE_OCCURRENCE
1616
from sentry.testutils.silo import assume_test_silo_mode
1717
from sentry.testutils.skips import requires_snuba
18+
from sentry.types.rules import RuleFuture
1819

1920
pytestmark = [requires_snuba]
2021

@@ -35,6 +36,7 @@ class PagerDutyNotifyActionTest(RuleTestCase, PerformanceIssueTestCase):
3536
rule_cls = PagerDutyNotifyServiceAction
3637

3738
def setUp(self):
39+
self.project_rule = self.create_project_rule(name="Check #project-channel")
3840
with assume_test_silo_mode(SiloMode.CONTROL):
3941
self.integration, org_integration = self.create_provider_integration_for(
4042
self.organization,
@@ -66,12 +68,21 @@ def test_applies_correctly(self, mock_record):
6668
)
6769

6870
rule = self.get_rule(
69-
data={"account": self.integration.id, "service": str(self.service["id"])}
71+
data={
72+
"account": self.integration.id,
73+
"service": str(self.service["id"]),
74+
"name": "Test Alert",
75+
}
7076
)
7177

7278
notification_uuid = "123e4567-e89b-12d3-a456-426614174000"
7379

74-
results = list(rule.after(event=event, notification_uuid=notification_uuid))
80+
results = list(
81+
rule.after(
82+
event=event,
83+
notification_uuid=notification_uuid,
84+
)
85+
)
7586
assert len(results) == 1
7687

7788
responses.add(
@@ -83,11 +94,12 @@ def test_applies_correctly(self, mock_record):
8394
)
8495

8596
# Trigger rule callback
86-
results[0].callback(event, futures=[])
97+
rule_future = RuleFuture(rule=self.project_rule, kwargs=results[0].kwargs)
98+
results[0].callback(event, futures=[rule_future])
8799
data = orjson.loads(responses.calls[0].request.body)
88100

89101
assert data["event_action"] == "trigger"
90-
assert data["payload"]["summary"] == event.message
102+
assert data["payload"]["summary"] == f"[{self.project_rule.label}]: {event.message}"
91103
assert data["payload"]["custom_details"]["message"] == event.message
92104
assert event.group is not None
93105
assert data["links"][0]["href"] == event.group.get_absolute_url(
@@ -97,7 +109,7 @@ def test_applies_correctly(self, mock_record):
97109
mock_record.assert_called_with(
98110
"alert.sent",
99111
provider="pagerduty",
100-
alert_id="",
112+
alert_id=self.project_rule.id,
101113
alert_type="issue_alert",
102114
organization_id=self.organization.id,
103115
project_id=event.project_id,
@@ -111,7 +123,7 @@ def test_applies_correctly(self, mock_record):
111123
project_id=event.project_id,
112124
group_id=event.group_id,
113125
notification_uuid=notification_uuid,
114-
alert_id=None,
126+
alert_id=self.project_rule.id,
115127
)
116128

117129
@responses.activate
@@ -130,13 +142,14 @@ def test_applies_correctly_performance_issue(self):
130142
)
131143

132144
# Trigger rule callback
133-
results[0].callback(event, futures=[])
145+
rule_future = RuleFuture(rule=self.project_rule, kwargs=results[0].kwargs)
146+
results[0].callback(event, futures=[rule_future])
134147
data = orjson.loads(responses.calls[0].request.body)
135148

136149
perf_issue_title = "N+1 Query"
137150

138151
assert data["event_action"] == "trigger"
139-
assert data["payload"]["summary"] == perf_issue_title
152+
assert data["payload"]["summary"] == f"[{self.project_rule.label}]: {perf_issue_title}"
140153
assert data["payload"]["custom_details"]["title"] == perf_issue_title
141154

142155
@responses.activate
@@ -165,11 +178,15 @@ def test_applies_correctly_generic_issue(self):
165178
)
166179

167180
# Trigger rule callback
168-
results[0].callback(group_event, futures=[])
181+
rule_future = RuleFuture(rule=self.project_rule, kwargs=results[0].kwargs)
182+
results[0].callback(group_event, futures=[rule_future])
169183
data = orjson.loads(responses.calls[0].request.body)
170184

171185
assert data["event_action"] == "trigger"
172-
assert data["payload"]["summary"] == group_event.occurrence.issue_title
186+
assert (
187+
data["payload"]["summary"]
188+
== f"[{self.project_rule.label}]: {group_event.occurrence.issue_title}"
189+
)
173190
assert data["payload"]["custom_details"]["title"] == group_event.occurrence.issue_title
174191

175192
def test_render_label_without_severity(self):

0 commit comments

Comments
 (0)