mirror of
https://github.com/zulip/zulip.git
synced 2025-11-15 19:31:58 +00:00
webhook tests: Rename main helper to check_webhook.
Almost all webhook tests use this helper, except a few webhooks that write to private streams. Being concise is important here, and the name `self.send_and_test_stream_message` always confused me, since it sounds you're sending a stream message, and it leaves out the webhook piece. We should consider renaming `send_and_test_private_message` to something like `check_webhook_private`, but I couldn't decide on a great name, and it's very rarely used. So for now I just made sure the docstrings of the two sibling functions reference each other.
This commit is contained in:
@@ -18,285 +18,307 @@ class GithubWebhookTest(WebhookTestCase):
|
||||
|
||||
def test_ping_event(self) -> None:
|
||||
expected_message = "GitHub webhook has been successfully configured by TomaszKolek."
|
||||
self.send_and_test_stream_message('ping', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("ping", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_star_event(self) -> None:
|
||||
expected_message = "Codertocat starred the repository [Codertocat/Hello-World](https://github.com/Codertocat/Hello-World)."
|
||||
expected_topic = "Hello-World"
|
||||
self.send_and_test_stream_message('star', expected_topic, expected_message)
|
||||
self.check_webhook("star", expected_topic, expected_message)
|
||||
|
||||
def test_ping_organization_event(self) -> None:
|
||||
expected_message = "GitHub webhook has been successfully configured by eeshangarg."
|
||||
self.send_and_test_stream_message('ping__organization', 'zulip-test-org', expected_message)
|
||||
self.check_webhook("ping__organization", "zulip-test-org", expected_message)
|
||||
|
||||
def test_push_delete_branch(self) -> None:
|
||||
expected_message = "eeshangarg [deleted](https://github.com/eeshangarg/public-repo/compare/2e8cf535fb38...000000000000) the branch feature."
|
||||
self.send_and_test_stream_message('push__delete_branch', "public-repo / feature", expected_message)
|
||||
self.check_webhook("push__delete_branch", "public-repo / feature", expected_message)
|
||||
|
||||
def test_push_local_branch_without_commits(self) -> None:
|
||||
expected_message = "eeshangarg [pushed](https://github.com/eeshangarg/public-repo/compare/feature) the branch feature."
|
||||
self.send_and_test_stream_message('push__local_branch_without_commits', "public-repo / feature", expected_message)
|
||||
self.check_webhook(
|
||||
"push__local_branch_without_commits", "public-repo / feature", expected_message
|
||||
)
|
||||
|
||||
def test_push_1_commit(self) -> None:
|
||||
expected_message = "baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 1 commit to branch changes.\n\n* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"
|
||||
self.send_and_test_stream_message('push__1_commit', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__1_commit", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_1_commit_without_username(self) -> None:
|
||||
expected_message = "eeshangarg [pushed](https://github.com/eeshangarg/public-repo/compare/0383613da871...2e8cf535fb38) 1 commit to branch changes. Commits by John Snow (1).\n\n* Update the README ([2e8cf53](https://github.com/eeshangarg/public-repo/commit/2e8cf535fb38a3dab2476cdf856efda904ad4c94))"
|
||||
self.send_and_test_stream_message('push__1_commit_without_username', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__1_commit_without_username", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_1_commit_filtered_by_branches(self) -> None:
|
||||
self.url = self.build_webhook_url('master,changes')
|
||||
expected_message = "baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 1 commit to branch changes.\n\n* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"
|
||||
self.send_and_test_stream_message('push__1_commit', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__1_commit", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_multiple_comitters(self) -> None:
|
||||
commits_info = '* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n'
|
||||
expected_message = f"""baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 6 commits to branch changes. Commits by Tomasz (3), Ben (2) and baxterthehacker (1).\n\n{commits_info * 5}* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"""
|
||||
|
||||
self.send_and_test_stream_message('push__multiple_committers', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__multiple_committers", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_multiple_comitters_with_others(self) -> None:
|
||||
commits_info = '* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n'
|
||||
expected_message = f"""baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 10 commits to branch changes. Commits by Tomasz (4), Ben (3), James (2) and others (1).\n\n{commits_info * 9}* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"""
|
||||
|
||||
self.send_and_test_stream_message('push__multiple_committers_with_others', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__multiple_committers_with_others", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_multiple_comitters_filtered_by_branches(self) -> None:
|
||||
self.url = self.build_webhook_url('master,changes')
|
||||
commits_info = '* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n'
|
||||
expected_message = f"""baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 6 commits to branch changes. Commits by Tomasz (3), Ben (2) and baxterthehacker (1).\n\n{commits_info * 5}* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"""
|
||||
|
||||
self.send_and_test_stream_message('push__multiple_committers', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__multiple_committers", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_multiple_comitters_with_others_filtered_by_branches(self) -> None:
|
||||
self.url = self.build_webhook_url('master,changes')
|
||||
commits_info = '* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n'
|
||||
expected_message = f"""baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 10 commits to branch changes. Commits by Tomasz (4), Ben (3), James (2) and others (1).\n\n{commits_info * 9}* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))"""
|
||||
|
||||
self.send_and_test_stream_message('push__multiple_committers_with_others', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__multiple_committers_with_others", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_50_commits(self) -> None:
|
||||
commit_info = "* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n"
|
||||
expected_message = f"baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 50 commits to branch changes.\n\n{commit_info * COMMITS_LIMIT}[and 30 more commit(s)]"
|
||||
self.send_and_test_stream_message('push__50_commits', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__50_commits", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_push_50_commits_filtered_by_branches(self) -> None:
|
||||
self.url = self.build_webhook_url(branches='master,changes')
|
||||
commit_info = "* Update README.md ([0d1a26e](https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c))\n"
|
||||
expected_message = f"baxterthehacker [pushed](https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f) 50 commits to branch changes.\n\n{commit_info * COMMITS_LIMIT}[and 30 more commit(s)]"
|
||||
self.send_and_test_stream_message('push__50_commits', TOPIC_BRANCH, expected_message)
|
||||
self.check_webhook("push__50_commits", TOPIC_BRANCH, expected_message)
|
||||
|
||||
def test_commit_comment_msg(self) -> None:
|
||||
expected_message = "baxterthehacker [commented](https://github.com/baxterthehacker/public-repo/commit/9049f1265b7d61be4a8904a9a27120d2064dab3b#commitcomment-11056394) on [9049f12](https://github.com/baxterthehacker/public-repo/commit/9049f1265b7d61be4a8904a9a27120d2064dab3b):\n~~~ quote\nThis is a really good change! :+1:\n~~~"
|
||||
self.send_and_test_stream_message('commit_comment', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("commit_comment", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_create_msg(self) -> None:
|
||||
expected_message = "baxterthehacker created tag 0.0.1."
|
||||
self.send_and_test_stream_message('create', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("create", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_delete_msg(self) -> None:
|
||||
expected_message = "baxterthehacker deleted tag simple-tag."
|
||||
self.send_and_test_stream_message('delete', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("delete", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_deployment_msg(self) -> None:
|
||||
expected_message = "baxterthehacker created new deployment."
|
||||
self.send_and_test_stream_message('deployment', TOPIC_DEPLOYMENT, expected_message)
|
||||
self.check_webhook("deployment", TOPIC_DEPLOYMENT, expected_message)
|
||||
|
||||
def test_deployment_status_msg(self) -> None:
|
||||
expected_message = "Deployment changed status to success."
|
||||
self.send_and_test_stream_message('deployment_status', TOPIC_DEPLOYMENT, expected_message)
|
||||
self.check_webhook("deployment_status", TOPIC_DEPLOYMENT, expected_message)
|
||||
|
||||
def test_fork_msg(self) -> None:
|
||||
expected_message = "baxterandthehackers forked [public-repo](https://github.com/baxterandthehackers/public-repo)."
|
||||
self.send_and_test_stream_message('fork', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("fork", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_issue_comment_msg(self) -> None:
|
||||
expected_message = "baxterthehacker [commented](https://github.com/baxterthehacker/public-repo/issues/2#issuecomment-99262140) on [Issue #2](https://github.com/baxterthehacker/public-repo/issues/2):\n\n~~~ quote\nYou are totally right! I'll get this fixed right away.\n~~~"
|
||||
self.send_and_test_stream_message('issue_comment', TOPIC_ISSUE, expected_message)
|
||||
self.check_webhook("issue_comment", TOPIC_ISSUE, expected_message)
|
||||
|
||||
def test_issue_comment_deleted_msg(self) -> None:
|
||||
expected_topic = "Scheduler / Issue #5 This is a new issue"
|
||||
expected_message = "eeshangarg deleted a [comment](https://github.com/eeshangarg/Scheduler/issues/5#issuecomment-425164194) on [Issue #5](https://github.com/eeshangarg/Scheduler/issues/5):\n\n~~~ quote\nThis is a comment on this new issue.\n~~~"
|
||||
self.send_and_test_stream_message('issue_comment__deleted', expected_topic, expected_message)
|
||||
self.check_webhook("issue_comment__deleted", expected_topic, expected_message)
|
||||
|
||||
def test_issue_comment_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker [commented](https://github.com/baxterthehacker/public-repo/issues/2#issuecomment-99262140) on [Issue #2 Spelling error in the README file](https://github.com/baxterthehacker/public-repo/issues/2):\n\n~~~ quote\nYou are totally right! I'll get this fixed right away.\n~~~"
|
||||
self.send_and_test_stream_message('issue_comment', expected_topic, expected_message)
|
||||
self.check_webhook("issue_comment", expected_topic, expected_message)
|
||||
|
||||
def test_issue_msg(self) -> None:
|
||||
expected_message = "baxterthehacker opened [Issue #2](https://github.com/baxterthehacker/public-repo/issues/2):\n\n~~~ quote\nIt looks like you accidentally spelled 'commit' with two 't's.\n~~~"
|
||||
self.send_and_test_stream_message('issues', TOPIC_ISSUE, expected_message)
|
||||
self.check_webhook("issues", TOPIC_ISSUE, expected_message)
|
||||
|
||||
def test_issue_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker opened [Issue #2 Spelling error in the README file](https://github.com/baxterthehacker/public-repo/issues/2):\n\n~~~ quote\nIt looks like you accidentally spelled 'commit' with two 't's.\n~~~"
|
||||
self.send_and_test_stream_message('issues', expected_topic, expected_message)
|
||||
self.check_webhook("issues", expected_topic, expected_message)
|
||||
|
||||
def test_membership_msg(self) -> None:
|
||||
expected_message = "baxterthehacker added [kdaigle](https://github.com/kdaigle) to the Contractors team."
|
||||
self.send_and_test_stream_message('membership', TOPIC_ORGANIZATION, expected_message)
|
||||
self.check_webhook("membership", TOPIC_ORGANIZATION, expected_message)
|
||||
|
||||
def test_membership_removal_msg(self) -> None:
|
||||
expected_message = "baxterthehacker removed [kdaigle](https://github.com/kdaigle) from the Contractors team."
|
||||
self.send_and_test_stream_message('membership__removal', TOPIC_ORGANIZATION, expected_message)
|
||||
self.check_webhook("membership__removal", TOPIC_ORGANIZATION, expected_message)
|
||||
|
||||
def test_member_msg(self) -> None:
|
||||
expected_message = "baxterthehacker added [octocat](https://github.com/octocat) to [public-repo](https://github.com/baxterthehacker/public-repo)."
|
||||
self.send_and_test_stream_message('member', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("member", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_pull_request_opened_msg(self) -> None:
|
||||
expected_message = "baxterthehacker opened [PR #1](https://github.com/baxterthehacker/public-repo/pull/1) from `changes` to `master`:\n\n~~~ quote\nThis is a pretty simple change that we need to pull into master.\n~~~"
|
||||
self.send_and_test_stream_message('pull_request__opened', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__opened", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_opened_with_preassigned_assignee_msg(self) -> None:
|
||||
expected_topic = "Scheduler / PR #4 Improve README"
|
||||
expected_message = "eeshangarg opened [PR #4](https://github.com/eeshangarg/Scheduler/pull/4) (assigned to eeshangarg) from `improve-readme-2` to `master`."
|
||||
self.send_and_test_stream_message('pull_request__opened_with_preassigned_assignee', expected_topic, expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__opened_with_preassigned_assignee", expected_topic, expected_message
|
||||
)
|
||||
|
||||
def test_pull_request_opened_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker opened [PR #1 Update the README with new information](https://github.com/baxterthehacker/public-repo/pull/1) from `changes` to `master`:\n\n~~~ quote\nThis is a pretty simple change that we need to pull into master.\n~~~"
|
||||
self.send_and_test_stream_message('pull_request__opened', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request__opened", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_synchronized_msg(self) -> None:
|
||||
expected_message = "baxterthehacker updated [PR #1](https://github.com/baxterthehacker/public-repo/pull/1) from `changes` to `master`."
|
||||
self.send_and_test_stream_message('pull_request__synchronized', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__synchronized", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_closed_msg(self) -> None:
|
||||
expected_message = "baxterthehacker closed without merge [PR #1](https://github.com/baxterthehacker/public-repo/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__closed', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__closed", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_closed_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker closed without merge [PR #1 Update the README with new information](https://github.com/baxterthehacker/public-repo/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__closed', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request__closed", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_merged_msg(self) -> None:
|
||||
expected_message = "baxterthehacker merged [PR #1](https://github.com/baxterthehacker/public-repo/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__merged', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__merged", TOPIC_PR, expected_message)
|
||||
|
||||
def test_public_msg(self) -> None:
|
||||
expected_message = "baxterthehacker made the repository [baxterthehacker/public-repo](https://github.com/baxterthehacker/public-repo) public."
|
||||
self.send_and_test_stream_message('public', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("public", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_wiki_pages_msg(self) -> None:
|
||||
expected_message = "jasonrudolph:\n* created [Home](https://github.com/baxterthehacker/public-repo/wiki/Home)\n* created [Home](https://github.com/baxterthehacker/public-repo/wiki/Home)"
|
||||
self.send_and_test_stream_message('gollum__wiki_pages', TOPIC_WIKI, expected_message)
|
||||
self.check_webhook("gollum__wiki_pages", TOPIC_WIKI, expected_message)
|
||||
|
||||
def test_watch_msg(self) -> None:
|
||||
expected_message = "baxterthehacker starred the repository [baxterthehacker/public-repo](https://github.com/baxterthehacker/public-repo)."
|
||||
self.send_and_test_stream_message('watch__repository', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("watch__repository", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_repository_msg(self) -> None:
|
||||
expected_message = "baxterthehacker created the repository [baxterandthehackers/public-repo](https://github.com/baxterandthehackers/public-repo)."
|
||||
self.send_and_test_stream_message('repository', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("repository", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_team_add_msg(self) -> None:
|
||||
expected_message = "The repository [baxterandthehackers/public-repo](https://github.com/baxterandthehackers/public-repo) was added to team github."
|
||||
self.send_and_test_stream_message('team_add', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("team_add", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_release_msg(self) -> None:
|
||||
expected_message = "baxterthehacker published release [0.0.1](https://github.com/baxterthehacker/public-repo/releases/tag/0.0.1) for tag 0.0.1."
|
||||
self.send_and_test_stream_message('release', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("release", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_page_build_msg(self) -> None:
|
||||
expected_message = "Github Pages build, triggered by baxterthehacker, has finished building."
|
||||
self.send_and_test_stream_message('page_build', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("page_build", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_status_msg(self) -> None:
|
||||
expected_message = "[9049f12](https://github.com/baxterthehacker/public-repo/commit/9049f1265b7d61be4a8904a9a27120d2064dab3b) changed its status to success."
|
||||
self.send_and_test_stream_message('status', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("status", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_status_with_target_url_msg(self) -> None:
|
||||
expected_message = "[9049f12](https://github.com/baxterthehacker/public-repo/commit/9049f1265b7d61be4a8904a9a27120d2064dab3b) changed its status to [success](https://example.com/build/status)."
|
||||
self.send_and_test_stream_message('status__with_target_url', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("status__with_target_url", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_pull_request_review_msg(self) -> None:
|
||||
expected_message = "baxterthehacker submitted [PR Review](https://github.com/baxterthehacker/public-repo/pull/1#pullrequestreview-2626884)."
|
||||
self.send_and_test_stream_message('pull_request_review', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request_review", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_review_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker submitted [PR Review for #1 Update the README with new information](https://github.com/baxterthehacker/public-repo/pull/1#pullrequestreview-2626884)."
|
||||
self.send_and_test_stream_message('pull_request_review', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request_review", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_review_comment_msg(self) -> None:
|
||||
expected_message = "baxterthehacker created [PR Review Comment](https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692):\n\n~~~ quote\nMaybe you should use more emojji on this line.\n~~~"
|
||||
self.send_and_test_stream_message('pull_request_review_comment', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request_review_comment", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_review_comment_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker created [PR Review Comment on #1 Update the README with new information](https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692):\n\n~~~ quote\nMaybe you should use more emojji on this line.\n~~~"
|
||||
self.send_and_test_stream_message('pull_request_review_comment', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request_review_comment", expected_topic, expected_message)
|
||||
|
||||
def test_push_tag_msg(self) -> None:
|
||||
expected_message = "baxterthehacker pushed tag abc."
|
||||
self.send_and_test_stream_message('push__tag', TOPIC_REPO, expected_message)
|
||||
self.check_webhook("push__tag", TOPIC_REPO, expected_message)
|
||||
|
||||
def test_pull_request_edited_msg(self) -> None:
|
||||
expected_message = "baxterthehacker edited [PR #1](https://github.com/baxterthehacker/public-repo/pull/1) from `changes` to `master`."
|
||||
self.send_and_test_stream_message('pull_request__edited', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__edited", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_assigned_msg(self) -> None:
|
||||
expected_message = "baxterthehacker assigned [PR #1](https://github.com/baxterthehacker/public-repo/pull/1) to baxterthehacker."
|
||||
self.send_and_test_stream_message('pull_request__assigned', TOPIC_PR, expected_message)
|
||||
self.check_webhook("pull_request__assigned", TOPIC_PR, expected_message)
|
||||
|
||||
def test_pull_request_assigned_msg_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "baxterthehacker assigned [PR #1 Update the README with new information](https://github.com/baxterthehacker/public-repo/pull/1) to baxterthehacker."
|
||||
self.send_and_test_stream_message('pull_request__assigned', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request__assigned", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_unassigned_msg(self) -> None:
|
||||
expected_message = "eeshangarg unassigned [PR #1](https://github.com/zulip-test-org/helloworld/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__unassigned', 'helloworld / PR #1 Mention that Zulip rocks!', expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__unassigned",
|
||||
"helloworld / PR #1 Mention that Zulip rocks!",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request_ready_for_review_msg(self) -> None:
|
||||
expected_message = "**Hypro999** has marked [PR #2](https://github.com/Hypro999/temp-test-github-webhook/pull/2) as ready for review."
|
||||
self.send_and_test_stream_message('pull_request__ready_for_review', 'temp-test-github-webhook / PR #2 Test', expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__ready_for_review",
|
||||
"temp-test-github-webhook / PR #2 Test",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request_review_requested_msg(self) -> None:
|
||||
expected_message = "**eeshangarg** requested [showell](https://github.com/showell) for a review on [PR #1](https://github.com/eeshangarg/Scheduler/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__review_requested', 'Scheduler / PR #1 This is just a test commit', expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__review_requested",
|
||||
"Scheduler / PR #1 This is just a test commit",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request_review_requested_singular_key_msg(self) -> None:
|
||||
expected_message = "**eeshangarg** requested [rishig](https://github.com/rishig) for a review on [PR #6](https://github.com/eeshangarg/Scheduler/pull/6)."
|
||||
self.send_and_test_stream_message('pull_request__review_requested_singular_key',
|
||||
'Scheduler / PR #6 Mention how awesome this project is in ...',
|
||||
expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__review_requested_singular_key",
|
||||
"Scheduler / PR #6 Mention how awesome this project is in ...",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request_review_requested_multiple_reviwers_msg(self) -> None:
|
||||
expected_message = "**eeshangarg** requested [showell](https://github.com/showell) and [timabbott](https://github.com/timabbott) for a review on [PR #1](https://github.com/eeshangarg/Scheduler/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__review_requested_multiple_reviewers',
|
||||
'Scheduler / PR #1 This is just a test commit',
|
||||
expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__review_requested_multiple_reviewers",
|
||||
"Scheduler / PR #1 This is just a test commit",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request__review_requested_team_reviewer_msg(self) -> None:
|
||||
expected_message = "**singhsourabh** requested [shreyaskargit](https://github.com/shreyaskargit), [bajaj99prashant](https://github.com/bajaj99prashant), [review-team](https://github.com/orgs/test-org965/teams/review-team), [authority](https://github.com/orgs/test-org965/teams/authority) and [management](https://github.com/orgs/test-org965/teams/management) for a review on [PR #4](https://github.com/test-org965/webhook-test/pull/4)."
|
||||
self.send_and_test_stream_message('pull_request__review_requested_team_reviewer',
|
||||
'webhook-test / PR #4 testing webhook',
|
||||
expected_message)
|
||||
self.check_webhook(
|
||||
"pull_request__review_requested_team_reviewer",
|
||||
"webhook-test / PR #4 testing webhook",
|
||||
expected_message,
|
||||
)
|
||||
|
||||
def test_pull_request_review_requested_with_custom_topic_in_url(self) -> None:
|
||||
self.url = self.build_webhook_url(topic='notifications')
|
||||
expected_topic = "notifications"
|
||||
expected_message = "**eeshangarg** requested [showell](https://github.com/showell) for a review on [PR #1 This is just a test commit](https://github.com/eeshangarg/Scheduler/pull/1)."
|
||||
self.send_and_test_stream_message('pull_request__review_requested', expected_topic, expected_message)
|
||||
self.check_webhook("pull_request__review_requested", expected_topic, expected_message)
|
||||
|
||||
def test_check_run(self) -> None:
|
||||
expected_topic = "hello-world / checks"
|
||||
expected_message = """
|
||||
Check [randscape](http://github.com/github/hello-world/runs/4) completed (success). ([d6fde92](http://github.com/github/hello-world/commit/d6fde92930d4715a2b49857d24b940956b26d2d3))
|
||||
""".strip()
|
||||
self.send_and_test_stream_message('check_run__completed', expected_topic, expected_message)
|
||||
self.check_webhook("check_run__completed", expected_topic, expected_message)
|
||||
|
||||
def test_team_edited_description(self) -> None:
|
||||
expected_topic = "team Testing"
|
||||
@@ -305,17 +327,17 @@ Check [randscape](http://github.com/github/hello-world/runs/4) completed (succes
|
||||
```quote
|
||||
A temporary team so that I can get some webhook fixtures!
|
||||
```"""
|
||||
self.send_and_test_stream_message('team__edited_description', expected_topic, expected_message)
|
||||
self.check_webhook("team__edited_description", expected_topic, expected_message)
|
||||
|
||||
def test_team_edited_name(self) -> None:
|
||||
expected_topic = "team Testing Team"
|
||||
expected_message = """Team `Testing` was renamed to `Testing Team`."""
|
||||
self.send_and_test_stream_message('team__edited_name', expected_topic, expected_message)
|
||||
self.check_webhook("team__edited_name", expected_topic, expected_message)
|
||||
|
||||
def test_team_edited_privacy(self) -> None:
|
||||
expected_topic = "team Testing Team"
|
||||
expected_message = """Team visibility changed to `secret`"""
|
||||
self.send_and_test_stream_message('team__edited_privacy_secret', expected_topic, expected_message)
|
||||
self.check_webhook("team__edited_privacy_secret", expected_topic, expected_message)
|
||||
|
||||
@patch('zerver.webhooks.github.view.check_send_webhook_message')
|
||||
def test_check_run_in_progress_ignore(
|
||||
|
||||
Reference in New Issue
Block a user