mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
Since FIXTURE_DIR_NAME is the name of the folder that contains the view and tests modules of the webhook and another folder called "fixtures" that store the fixtures, it is more appropriate to call it WEBHOOK_DIR_NAME, especially when we want to refer to the view module using this variable.
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
from zerver.lib.test_classes import WebhookTestCase
|
|
|
|
|
|
class CanarytokenHookTests(WebhookTestCase):
|
|
STREAM_NAME = "canarytoken"
|
|
URL_TEMPLATE = "/api/v1/external/canarytoken?stream={stream}&api_key={api_key}"
|
|
WEBHOOK_DIR_NAME = "canarytoken"
|
|
|
|
def test_canarytoken_new(self) -> None:
|
|
expected_message = (
|
|
"**:alert: Canarytoken has been triggered on 2020-06-09 14:04:39!**\n\n"
|
|
"Congrats! The newly saved webhook works \n\n"
|
|
"[Manage this canarytoken](http://example.com/test/url/for/webhook)"
|
|
)
|
|
|
|
self.check_webhook(
|
|
"canarytoken_new",
|
|
"canarytoken alert",
|
|
expected_message,
|
|
content_type="application/x-www-form-urlencoded",
|
|
)
|
|
|
|
def test_canarytoken_real(self) -> None:
|
|
expected_message = (
|
|
"**:alert: Canarytoken has been triggered on 2020-06-09 14:04:47 "
|
|
"(UTC)!**\n\n"
|
|
"Canarytoken example \n\n"
|
|
"[Manage this canarytoken]"
|
|
"(https://canarytokens.org/manage?token=foo&auth=bar)"
|
|
)
|
|
|
|
self.check_webhook(
|
|
"canarytoken_real",
|
|
"canarytoken alert",
|
|
expected_message,
|
|
content_type="application/x-www-form-urlencoded",
|
|
)
|
|
|
|
def test_canarytoken_with_specific_topic(self) -> None:
|
|
self.url = self.build_webhook_url(topic="foo")
|
|
expected_message = (
|
|
"**:alert: Canarytoken has been triggered on 2020-06-09 14:04:47 "
|
|
"(UTC)!**\n\n"
|
|
"Canarytoken example \n\n"
|
|
"[Manage this canarytoken]"
|
|
"(https://canarytokens.org/manage?token=foo&auth=bar)"
|
|
)
|
|
|
|
self.check_webhook(
|
|
"canarytoken_real",
|
|
"foo",
|
|
expected_message,
|
|
content_type="application/x-www-form-urlencoded",
|
|
)
|