zulip/zerver/webhooks/taiga/tests.py

297 lines
19 KiB
Python

from zerver.lib.test_classes import WebhookTestCase
class TaigaHookTests(WebhookTestCase):
STREAM_NAME = 'taiga'
TOPIC = "subject"
URL_TEMPLATE = "/api/v1/external/taiga?stream={stream}&api_key={api_key}"
FIXTURE_DIR_NAME = 'taiga'
def setUp(self) -> None:
super().setUp()
self.url = self.build_webhook_url(topic=self.TOPIC)
def test_taiga_userstory_deleted(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) deleted user story **New userstory**.'
self.check_webhook("userstory_deleted", self.TOPIC, message)
def test_taiga_userstory_created(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) created user story **New userstory**.'
self.check_webhook("userstory_created", self.TOPIC, message)
def test_taiga_userstory_changed_unblocked(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) unblocked user story **UserStory**.'
self.check_webhook("userstory_changed_unblocked", self.TOPIC, message)
def test_taiga_userstory_changed_subject(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) renamed user story from UserStory to **UserStoryNewSubject**.'
self.check_webhook("userstory_changed_subject", self.TOPIC, message)
def test_taiga_userstory_changed_status(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed status of user story **UserStory** from Ready to In progress.'
self.check_webhook("userstory_changed_status", self.TOPIC, message)
def test_taiga_userstory_changed_reassigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) reassigned user story **UserStory** from TomaszKolek to HanSolo.'
self.check_webhook("userstory_changed_reassigned", self.TOPIC, message)
def test_taiga_userstory_changed_unassigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) unassigned user story **UserStory**.'
self.check_webhook("userstory_changed_unassigned", self.TOPIC, message)
def test_taiga_userstory_changed_points(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed estimation of user story **UserStory**.'
self.check_webhook("userstory_changed_points", self.TOPIC, message)
def test_taiga_userstory_changed_new_sprint(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) added user story **UserStory** to sprint Sprint1.'
self.check_webhook("userstory_changed_new_sprint", self.TOPIC, message)
def test_taiga_userstory_changed_sprint(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed sprint of user story **UserStory** from Sprint1 to Sprint2.'
self.check_webhook("userstory_changed_sprint", self.TOPIC, message)
def test_taiga_userstory_changed_remove_sprint(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) removed user story **UserStory** from sprint Sprint2.'
self.check_webhook("userstory_changed_remove_sprint", self.TOPIC, message)
def test_taiga_userstory_changed_description(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) updated description of user story **UserStory**.'
self.check_webhook("userstory_changed_description", self.TOPIC, message)
def test_taiga_userstory_changed_closed(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed status of user story **UserStory** from New to Done.\n[TomaszKolek](https://tree.taiga.io/profile/kolaszek) closed user story **UserStory**.'
self.check_webhook("userstory_changed_closed", self.TOPIC, message)
def test_taiga_userstory_changed_reopened(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed status of user story **UserStory** from Done to Ready.\n[TomaszKolek](https://tree.taiga.io/profile/kolaszek) reopened user story **UserStory**.'
self.check_webhook("userstory_changed_reopened", self.TOPIC, message)
def test_taiga_userstory_changed_blocked(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) blocked user story **UserStory**.'
self.check_webhook("userstory_changed_blocked", self.TOPIC, message)
def test_taiga_userstory_changed_assigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) assigned user story **UserStory** to TomaszKolek.'
self.check_webhook("userstory_changed_assigned", self.TOPIC, message)
def test_taiga_userstory_comment_added(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) commented on user story **UserStory**.'
self.check_webhook("userstory_changed_comment_added", self.TOPIC, message)
def test_taiga_userstory_changed_due_date(self) -> None:
message = ('[Aditya Verma](https://tree.taiga.io/profile/orientor) changed due date of user story ' +
'[Nice Issue](https://tree.taiga.io/project/orientor-sd/us/54) from 2020-02-15 to 2020-02-22.')
self.check_webhook("userstory_changed_due_date", self.TOPIC, message)
def test_taiga_userstory_changed_new_due_date(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) set due date of user story [random](https://tree.taiga.io/project/orientor-sd/us/58) to 2020-02-15.'
self.check_webhook("userstory_changed_new_due_date", self.TOPIC, message)
def test_taiga_task_created(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) created task **New Task**.'
self.check_webhook("task_created", self.TOPIC, message)
def test_taiga_task_changed_user_stories(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) added task **Get this task done** to sprint Another one.\n[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) moved task **Get this task done** from user story #7 Yaar ne scirra! to #8 A related user story, which is epic.'
self.check_webhook("task_changed_user_stories", self.TOPIC, message)
def test_taiga_task_changed_status(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed status of task **New Task** from New to In progress.'
self.check_webhook("task_changed_status", self.TOPIC, message)
def test_taiga_task_changed_blocked(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) blocked task **New Task**.'
self.check_webhook("task_changed_blocked", self.TOPIC, message)
def test_taiga_task_changed_blocked_link(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) blocked task [nice task](https://tree.taiga.io/project/orientor-sd/task/56).'
self.check_webhook("task_changed_blocked_link", self.TOPIC, message)
def test_taiga_task_changed_unblocked(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) unblocked task **New Task**.'
self.check_webhook("task_changed_unblocked", self.TOPIC, message)
def test_taiga_task_changed_assigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) assigned task **New Task** to TomaszKolek.'
self.check_webhook("task_changed_assigned", self.TOPIC, message)
def test_taiga_task_changed_reassigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) reassigned task **New Task** from HanSolo to TomaszKolek.'
self.check_webhook("task_changed_reassigned", self.TOPIC, message)
def test_taiga_task_changed_subject(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) renamed task New Task to **New Task Subject**.'
self.check_webhook("task_changed_subject", self.TOPIC, message)
def test_taiga_task_changed_description(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) updated description of task **New Task**.'
self.check_webhook("task_changed_description", self.TOPIC, message)
def test_taiga_task_deleted(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) deleted task **New Task**.'
self.check_webhook("task_deleted", self.TOPIC, message)
def test_taiga_task_changed_comment_added(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) commented on task **New Task**.'
self.check_webhook("task_changed_comment_added", self.TOPIC, message)
def test_taiga_task_changed_due_date(self) -> None:
message = ('[Aditya Verma](https://tree.taiga.io/profile/orientor) changed due date of task' +
' [nice task](https://tree.taiga.io/project/orientor-sd/task/56) from 2020-02-22 to 2020-02-15.')
self.check_webhook("task_changed_due_date", self.TOPIC, message)
def test_taiga_task_changed_new_due_date(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) set due date of task [nice task](https://tree.taiga.io/project/orientor-sd/task/56) to 2020-02-22.'
self.check_webhook("task_changed_new_due_date", self.TOPIC, message)
def test_taiga_sprint_created(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) created sprint **New sprint**.'
self.check_webhook("sprint_created", self.TOPIC, message)
def test_taiga_sprint_deleted(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) deleted sprint **New name**.'
self.check_webhook("sprint_deleted", self.TOPIC, message)
def test_taiga_sprint_changed_time(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed estimated finish of sprint **New sprint** from 2017-01-24 to 2017-01-25.'
self.check_webhook("sprint_changed_time", self.TOPIC, message)
def test_taiga_sprint_changed_name(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) renamed sprint from New sprint to **New name**.'
self.check_webhook("sprint_changed_name", self.TOPIC, message)
def test_taiga_issue_created(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) created issue **New issue**.'
self.check_webhook("issue_created", self.TOPIC, message)
def test_taiga_issue_created_link(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) created issue [Issues](https://tree.taiga.io/project/orientor-sd/issue/49).'
self.check_webhook("issue_created_link", self.TOPIC, message)
def test_taiga_issue_deleted(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) deleted issue **New issue**.'
self.check_webhook("issue_deleted", self.TOPIC, message)
def test_taiga_issue_changed_assigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) assigned issue **New issue** to TomaszKolek.'
self.check_webhook("issue_changed_assigned", self.TOPIC, message)
def test_taiga_issue_changed_reassigned(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) reassigned issue **New issue** from TomaszKolek to HanSolo.'
self.check_webhook("issue_changed_reassigned", self.TOPIC, message)
def test_taiga_issue_changed_subject(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) renamed issue New issue to **New issueNewSubject**.'
self.check_webhook("issue_changed_subject", self.TOPIC, message)
def test_taiga_issue_changed_description(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) updated description of issue **New issue**.'
self.check_webhook("issue_changed_description", self.TOPIC, message)
def test_taiga_issue_changed_type(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed type of issue **New issue** from Bug to Question.'
self.check_webhook("issue_changed_type", self.TOPIC, message)
def test_taiga_issue_changed_status(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed status of issue **New issue** from New to In progress.'
self.check_webhook("issue_changed_status", self.TOPIC, message)
def test_taiga_issue_changed_severity(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed severity of issue **New issue** from Normal to Minor.'
self.check_webhook("issue_changed_severity", self.TOPIC, message)
def test_taiga_issue_changed_priority(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) changed priority of issue **New issue** from Normal to Low.'
self.check_webhook("issue_changed_priority", self.TOPIC, message)
def test_taiga_issue_changed_comment_added(self) -> None:
message = '[TomaszKolek](https://tree.taiga.io/profile/kolaszek) commented on issue **New issue**.'
self.check_webhook("issue_changed_comment_added", self.TOPIC, message)
def test_taiga_issue_changed_blocked(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) blocked issue [Issues](https://tree.taiga.io/project/orientor-sd/issue/49).'
self.check_webhook("issue_changed_blocked", self.TOPIC, message)
def test_taiga_issue_changed_unblocked(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) unblocked issue [Issues](https://tree.taiga.io/project/orientor-sd/issue/49).'
self.check_webhook("issue_changed_unblocked", self.TOPIC, message)
def test_taiga_issue_changed_due_date(self) -> None:
message = ('[Aditya Verma](https://tree.taiga.io/profile/orientor) changed due date of issue [Issues](https://tree.taiga.io/project/orientor-sd/issue/49) ' +
'from 2020-03-08 to 2020-02-22.')
self.check_webhook("issue_changed_due_date", self.TOPIC, message)
def test_taiga_issue_changed_new_due_date(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) set due date of issue [Nice Issue](https://tree.taiga.io/project/orientor-sd/issue/53) to 2020-02-22.'
self.check_webhook("issue_changed_new_due_date", self.TOPIC, message)
def test_taiga_issue_changed_new_sprint(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) added issue [Nice Issue](https://tree.taiga.io/project/orientor-sd/issue/53) to sprint eres.'
self.check_webhook("issue_changed_new_sprint", self.TOPIC, message)
def test_taiga_issue_changed_remove_sprint(self) -> None:
message = '[Aditya Verma](https://tree.taiga.io/profile/orientor) detached issue [Nice Issue](https://tree.taiga.io/project/orientor-sd/issue/53) from sprint eres.'
self.check_webhook("issue_changed_remove_sprint", self.TOPIC, message)
def test_taiga_epic_created(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) created epic **Zulip is awesome!**.'
self.check_webhook("epic_created", self.TOPIC, message)
def test_taiga_epic_changed_assigned(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) assigned epic **Zulip is awesome!** to Eeshan Garg.'
self.check_webhook("epic_changed_assigned", self.TOPIC, message)
def test_taiga_epic_changed_unassigned(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) unassigned epic **Zulip is awesome!**.'
self.check_webhook("epic_changed_unassigned", self.TOPIC, message)
def test_taiga_epic_changed_reassigned(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) reassigned epic **Zulip is awesome!** from Eeshan Garg to Angela Johnson.'
self.check_webhook("epic_changed_reassigned", self.TOPIC, message)
def test_taiga_epic_changed_blocked(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) blocked epic **Zulip is awesome!**.'
self.check_webhook("epic_changed_blocked", self.TOPIC, message)
def test_taiga_epic_changed_unblocked(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) unblocked epic **Zulip is awesome!**.'
self.check_webhook("epic_changed_unblocked", self.TOPIC, message)
def test_taiga_epic_changed_status(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) changed status of epic **Zulip is awesome!** from New to In progress.'
self.check_webhook("epic_changed_status", self.TOPIC, message)
def test_taiga_epic_changed_renamed(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) renamed epic from **Zulip is awesome!** to **Zulip is great!**.'
self.check_webhook("epic_changed_renamed", self.TOPIC, message)
def test_taiga_epic_changed_description(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) updated description of epic **Zulip is great!**.'
self.check_webhook("epic_changed_description", self.TOPIC, message)
def test_taiga_epic_changed_commented(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) commented on epic **Zulip is great!**.'
self.check_webhook("epic_changed_commented", self.TOPIC, message)
def test_taiga_epic_deleted(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) deleted epic **Zulip is great!**.'
self.check_webhook("epic_deleted", self.TOPIC, message)
def test_taiga_relateduserstory_created(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) added a related user story **A related user story** to the epic **This is Epic!**.'
self.check_webhook("relateduserstory_created", self.TOPIC, message)
def test_taiga_relateduserstory_created_link(self) -> None:
message = ('[Aditya Verma](https://tree.taiga.io/profile/orientor) added a related user story [Nice Issue](https://tree.taiga.io/project/orientor-sd/us/54) ' +
'to the epic [ASAS](https://tree.taiga.io/project/orientor-sd/epic/42).')
self.check_webhook("relateduserstory_created_link", self.TOPIC, message)
def test_taiga_relateduserstory_deleted(self) -> None:
message = '[Eeshan Garg](https://tree.taiga.io/profile/eeshangarg) removed a related user story **A related user story, which is epic** from the epic **This is Epic!**.'
self.check_webhook("relateduserstory_deleted", self.TOPIC, message)
def test_taiga_webhook_test(self) -> None:
message = '[Jan](https://tree.taiga.io/profile/kostek) triggered a test of the Taiga integration.'
self.check_webhook("webhook_test", self.TOPIC, message)