From fae3535e791db60cdb55e6adca9148779b22bcae Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Mon, 24 Aug 2020 15:53:05 +0000 Subject: [PATCH] webhook tests: Avoid check_webhook for multi messages. If we're not passing in expected_topic or expected_message to check_webhook, it's better to just call send_webhook_payload, since we'll want to explicitly check our messages anyway. This preps us to always require those fields for check_webhook, which can prevent insidious testing no-ops. --- zerver/webhooks/bitbucket2/tests.py | 36 ++++++++++++++++++++++++++--- zerver/webhooks/bitbucket3/tests.py | 10 +++++++- zerver/webhooks/updown/tests.py | 10 +++++++- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/zerver/webhooks/bitbucket2/tests.py b/zerver/webhooks/bitbucket2/tests.py index 4663c47d7d..25e7b29125 100644 --- a/zerver/webhooks/bitbucket2/tests.py +++ b/zerver/webhooks/bitbucket2/tests.py @@ -272,7 +272,17 @@ class Bitbucket2HookTests(WebhookTestCase): kwargs = { "HTTP_X_EVENT_KEY": 'pullrequest:push', } - self.check_webhook("push_more_than_one_tag", **kwargs) + + self.subscribe(self.test_user, self.STREAM_NAME) + payload = self.get_body("push_more_than_one_tag") + + msg = self.send_webhook_payload( + self.test_user, + self.url, + payload, + content_type="application/json", + **kwargs, + ) msg = self.get_second_to_last_message() self.assert_stream_message( @@ -294,7 +304,17 @@ class Bitbucket2HookTests(WebhookTestCase): kwargs = { "HTTP_X_EVENT_KEY": 'pullrequest:push', } - self.check_webhook("more_than_one_push_event", **kwargs) + + self.subscribe(self.test_user, self.STREAM_NAME) + payload = self.get_body("more_than_one_push_event") + + msg = self.send_webhook_payload( + self.test_user, + self.url, + payload, + content_type="application/json", + **kwargs, + ) msg = self.get_second_to_last_message() self.assert_stream_message( @@ -317,7 +337,17 @@ class Bitbucket2HookTests(WebhookTestCase): kwargs = { "HTTP_X_EVENT_KEY": 'pullrequest:push', } - self.check_webhook("more_than_one_push_event", **kwargs) + + self.subscribe(self.test_user, self.STREAM_NAME) + payload = self.get_body("more_than_one_push_event") + + msg = self.send_webhook_payload( + self.test_user, + self.url, + payload, + content_type="application/json", + **kwargs, + ) msg = self.get_second_to_last_message() self.assert_stream_message( diff --git a/zerver/webhooks/bitbucket3/tests.py b/zerver/webhooks/bitbucket3/tests.py index dbbd1a4731..4fb156ca71 100644 --- a/zerver/webhooks/bitbucket3/tests.py +++ b/zerver/webhooks/bitbucket3/tests.py @@ -68,7 +68,15 @@ class Bitbucket3HookTests(WebhookTestCase): branch1_content = """[hypro999](http://139.59.64.214:7990/users/hypro999) pushed to branch branch1. Head is now 3980c2be32a7e23c795741d5dc1a2eecb9b85d6d.""" master_content = """[hypro999](http://139.59.64.214:7990/users/hypro999) pushed to branch master. Head is now fc43d13cff1abb28631196944ba4fc4ad06a2cf2.""" - self.check_webhook("repo_push_update_multiple_branches") + self.subscribe(self.test_user, self.STREAM_NAME) + payload = self.get_body("repo_push_update_multiple_branches") + + msg = self.send_webhook_payload( + self.test_user, + self.url, + payload, + content_type="application/json", + ) msg = self.get_second_to_last_message() self.assert_stream_message( diff --git a/zerver/webhooks/updown/tests.py b/zerver/webhooks/updown/tests.py index a68408ccab..ccdf7a3aed 100644 --- a/zerver/webhooks/updown/tests.py +++ b/zerver/webhooks/updown/tests.py @@ -27,7 +27,15 @@ class UpdownHookTests(WebhookTestCase): down_content = "Service is `down`. It returned a 500 error at 2016-02-07 13:11:43 UTC." up_content = "Service is `up` again after 1 second." - self.check_webhook("check_multiple_events") + self.subscribe(self.test_user, self.STREAM_NAME) + payload = self.get_body("check_multiple_events") + + msg = self.send_webhook_payload( + self.test_user, + self.url, + payload, + content_type="application/json", + ) msg = self.get_second_to_last_message() self.assert_stream_message(