66from django .test .utils import override_settings
77
88from sentry .hybridcloud .models .outbox import outbox_context
9+ from sentry .integrations .github .webhook_types import (
10+ GITHUB_INSTALLATION_TARGET_ID_HEADER ,
11+ GITHUB_WEBHOOK_TYPE_HEADER_KEY ,
12+ )
913from sentry .integrations .models .organization_integration import OrganizationIntegration
1014from sentry .overwatch_webhooks .types import (
1115 DEFAULT_REQUEST_TYPE ,
@@ -46,15 +50,15 @@ def test_init_creates_publisher_with_correct_provider(self):
4650
4751 def test_should_forward_to_overwatch_with_valid_events (self ):
4852 for event_action in GITHUB_EVENTS_TO_FORWARD_OVERWATCH :
49- headers = {"HTTP_X_GITHUB_EVENT" : event_action }
53+ headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : event_action }
5054 assert self .forwarder .should_forward_to_overwatch (headers ) is True
5155
5256 def test_should_forward_to_overwatch_with_invalid_events (self ):
5357 invalid_events = [
54- {"HTTP_X_GITHUB_EVENT" : "invalid_action" },
55- {"HTTP_X_GITHUB_EVENT" : "create" },
56- {"HTTP_X_GITHUB_EVENT" : "delete" },
57- {"HTTP_X_GITHUB_EVENT" : "some_other_action" },
58+ {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "invalid_action" },
59+ {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "create" },
60+ {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "delete" },
61+ {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "some_other_action" },
5862 {},
5963 ]
6064
@@ -128,7 +132,9 @@ def test_forward_if_applicable_no_organizations(self):
128132 event = {"action" : "push" , "data" : "test" }
129133
130134 with patch .object (OverwatchWebhookPublisher , "enqueue_webhook" ) as mock_enqueue :
131- self .forwarder .forward_if_applicable (event , headers = {"HTTP_X_GITHUB_EVENT" : "push" })
135+ self .forwarder .forward_if_applicable (
136+ event , headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "push" }
137+ )
132138 mock_enqueue .assert_not_called ()
133139
134140 @override_options ({"overwatch.enabled-regions" : ["us" ]})
@@ -143,7 +149,7 @@ def test_forward_if_applicable_event_not_eligible_for_forwarding(self):
143149
144150 with patch .object (OverwatchWebhookPublisher , "enqueue_webhook" ) as mock_enqueue :
145151 self .forwarder .forward_if_applicable (
146- event , headers = {"HTTP_X_GITHUB_EVENT" : "invalid_action" }
152+ event , headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "invalid_action" }
147153 )
148154 mock_enqueue .assert_not_called ()
149155
@@ -161,8 +167,8 @@ def test_forward_if_applicable_successful_forwarding(self):
161167 self .forwarder .forward_if_applicable (
162168 event ,
163169 headers = {
164- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
165- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
170+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
171+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
166172 },
167173 )
168174
@@ -188,7 +194,7 @@ def test_forward_if_applicable_multiple_organizations(self):
188194
189195 with patch .object (OverwatchWebhookPublisher , "enqueue_webhook" ) as mock_enqueue :
190196 self .forwarder .forward_if_applicable (
191- event , headers = {"HTTP_X_GITHUB_EVENT" : "pull_request" }
197+ event , headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" }
192198 )
193199
194200 mock_enqueue .assert_called_once ()
@@ -213,7 +219,7 @@ def test_forward_if_applicable_all_valid_event_actions(self):
213219
214220 with patch .object (OverwatchWebhookPublisher , "enqueue_webhook" ) as mock_enqueue :
215221 self .forwarder .forward_if_applicable (
216- event , headers = {"HTTP_X_GITHUB_EVENT" : event_type }
222+ event , headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : event_type }
217223 )
218224 mock_enqueue .assert_called_once ()
219225
@@ -246,7 +252,7 @@ def test_forward_if_applicable_preserves_webhook_body_data(self):
246252
247253 with patch .object (OverwatchWebhookPublisher , "enqueue_webhook" ) as mock_enqueue :
248254 self .forwarder .forward_if_applicable (
249- complex_event , headers = {"HTTP_X_GITHUB_EVENT" : "pull_request" }
255+ complex_event , headers = {GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" }
250256 )
251257
252258 mock_enqueue .assert_called_once ()
@@ -294,8 +300,8 @@ def test_forwards_to_correct_regions(self):
294300 self .forwarder .forward_if_applicable (
295301 event ,
296302 headers = {
297- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
298- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
303+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
304+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
299305 },
300306 )
301307
@@ -319,8 +325,8 @@ def test_forwards_to_correct_regions(self):
319325 ],
320326 "webhook_body" : event ,
321327 "webhook_headers" : {
322- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
323- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
328+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
329+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
324330 },
325331 "integration_provider" : "github" ,
326332 "region" : "us" ,
@@ -342,8 +348,8 @@ def test_forwards_to_correct_regions(self):
342348 ],
343349 "webhook_body" : event ,
344350 "webhook_headers" : {
345- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
346- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
351+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
352+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
347353 },
348354 "integration_provider" : "github" ,
349355 "region" : "de" ,
@@ -385,8 +391,8 @@ def test_forwards_conditionally_to_some_regions(self):
385391 self .forwarder .forward_if_applicable (
386392 event ,
387393 headers = {
388- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
389- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
394+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
395+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
390396 },
391397 )
392398
@@ -407,8 +413,8 @@ def test_forwards_conditionally_to_some_regions(self):
407413 ],
408414 "webhook_body" : event ,
409415 "webhook_headers" : {
410- "HTTP_X_GITHUB_EVENT" : "pull_request" ,
411- "HTTP_X_GITHUB_HOOK_INSTALLATION_TARGET_ID" : "987654" ,
416+ GITHUB_WEBHOOK_TYPE_HEADER_KEY : "pull_request" ,
417+ GITHUB_INSTALLATION_TARGET_ID_HEADER : "987654" ,
412418 },
413419 "integration_provider" : "github" ,
414420 "region" : "us" ,
0 commit comments