from zerver.lib.test_classes import WebhookTestCase class GoogleCodeInTests(WebhookTestCase): STREAM_NAME = "gci" URL_TEMPLATE = "/api/v1/external/gci?&api_key={api_key}&stream={stream}" WEBHOOK_DIR_NAME = "gci" def test_abandon_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**student-yqqtag** abandoned the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("task_abandoned_by_student", expected_topic, expected_message) def test_comment_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**student-yqqtag** commented on the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("student_commented_on_task", expected_topic, expected_message) def test_submit_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**student-yqqtag** submitted the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("task_submitted_by_student", expected_topic, expected_message) def test_claim_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**student-yqqtag** claimed the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("task_claimed_by_student", expected_topic, expected_message) def test_approve_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**eeshangarg** approved the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("task_approved_by_mentor", expected_topic, expected_message) def test_approve_pending_pc_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**eeshangarg** approved the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/) (pending parental consent)." self.check_webhook( "task_approved_by_mentor_pending_parental_consent", expected_topic, expected_message ) def test_needswork_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**eeshangarg** submitted the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/5136918324969472/) for more work." self.check_webhook( "task_submitted_by_mentor_for_more_work", expected_topic, expected_message ) def test_extend_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**eeshangarg** extended the deadline for the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/) by 1.0 day(s)." self.check_webhook("task_deadline_extended_by_mentor", expected_topic, expected_message) def test_unassign_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "**eeshangarg** unassigned **student-yqqtag** from the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6296903092273152/)." self.check_webhook("student_unassigned_by_mentor", expected_topic, expected_message) def test_outoftime_event_message(self) -> None: expected_topic = "student-yqqtag" expected_message = "The deadline for the task [Sails unspread it stopped at kearney](https://codein.withgoogle.com/dashboard/task-instances/6694926301528064/) has passed." self.check_webhook("task_deadline_has_passed", expected_topic, expected_message)