Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
98 lines
3.2 KiB
Python
98 lines
3.2 KiB
Python
from zerver.lib.test_classes import WebhookTestCase
|
|
|
|
|
|
class OpenProjectHookTests(WebhookTestCase):
|
|
def test_project_with_parent_created(self) -> None:
|
|
expected_topic = "AI Backend"
|
|
expected_message = (
|
|
"Project **AI Backend** was created as a sub-project of **Demo project**."
|
|
)
|
|
|
|
self.check_webhook(
|
|
"project_created__with_parent",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_project_without_parent_created(self) -> None:
|
|
expected_topic = "AI Backend"
|
|
expected_message = "Project **AI Backend** was created."
|
|
|
|
self.check_webhook(
|
|
"project_created__without_parent",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_project_updated(self) -> None:
|
|
expected_topic = "AI Backend"
|
|
expected_message = "Project **AI Backend** was updated."
|
|
self.check_webhook(
|
|
"project_updated",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_work_package_created(self) -> None:
|
|
expected_topic = "Demo project"
|
|
expected_message = "**Task1** (work package **Task**) was created by **Nirved Mishra**."
|
|
self.check_webhook(
|
|
"work_package_created",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_work_package_updated(self) -> None:
|
|
expected_topic = "Demo project"
|
|
expected_message = "**Task1** (work package **Task**) was updated by **Nirved Mishra**."
|
|
self.check_webhook(
|
|
"work_package_updated",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_time_entry_with_workpackage_created(self) -> None:
|
|
expected_topic = "Project1"
|
|
expected_message = "**Nirved Mishra** logged **1 hour** on **kl**."
|
|
self.check_webhook(
|
|
"time_entry_created__with_workpackage",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_time_entry_without_workpackage_created(self) -> None:
|
|
expected_topic = "Project1"
|
|
expected_message = "**Nirved Mishra** logged **1 hour** on **Project1**."
|
|
self.check_webhook(
|
|
"time_entry_created__without_workpackage",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_time_entry_with_iso_hm(self) -> None:
|
|
expected_topic = "Project1"
|
|
expected_message = "**Nirved Mishra** logged **7 hours and 42 minutes** on **kl**."
|
|
self.check_webhook(
|
|
"time_entry_created__with_iso_hm",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_time_entry_with_invalid_iso(self) -> None:
|
|
expected_topic = "Project1"
|
|
expected_message = "**Nirved Mishra** logged a time entry on **kl**."
|
|
self.check_webhook(
|
|
"time_entry_created__with_invalid_iso",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|
|
|
|
def test_attachment_created(self) -> None:
|
|
expected_topic = "Project 2"
|
|
expected_message = "**Nirved Mishra** uploaded **a.out** in **task2**."
|
|
self.check_webhook(
|
|
"attachment_created",
|
|
expected_topic,
|
|
expected_message,
|
|
)
|