mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 14:35:27 +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.9 KiB
Python
55 lines
1.9 KiB
Python
import json
|
|
|
|
from zerver.lib.test_classes import WebhookTestCase
|
|
|
|
|
|
class JsonHookTests(WebhookTestCase):
|
|
STREAM_NAME = "json"
|
|
URL_TEMPLATE = "/api/v1/external/json?api_key={api_key}&stream={stream}"
|
|
WEBHOOK_DIR_NAME = "json"
|
|
|
|
def test_json_github_push__1_commit_message(self) -> None:
|
|
"""
|
|
Tests if json github push 1 commit is handled correctly
|
|
"""
|
|
with open("zerver/webhooks/json/fixtures/json_github_push__1_commit.json") as f:
|
|
original_fixture = json.load(f)
|
|
|
|
expected_topic = "JSON"
|
|
expected_message = """```json
|
|
{original_fixture}
|
|
```""".format(
|
|
original_fixture=json.dumps(original_fixture, indent=2)
|
|
)
|
|
self.check_webhook("json_github_push__1_commit", expected_topic, expected_message)
|
|
|
|
def test_json_pingdom_http_up_to_down_message(self) -> None:
|
|
"""
|
|
Tests if json pingdom http up to down is handled correctly
|
|
"""
|
|
with open("zerver/webhooks/json/fixtures/json_pingdom_http_up_to_down.json") as f:
|
|
original_fixture = json.load(f)
|
|
|
|
expected_topic = "JSON"
|
|
expected_message = """```json
|
|
{original_fixture}
|
|
```""".format(
|
|
original_fixture=json.dumps(original_fixture, indent=2)
|
|
)
|
|
self.check_webhook("json_pingdom_http_up_to_down", expected_topic, expected_message)
|
|
|
|
def test_json_sentry_event_for_exception_js_message(self) -> None:
|
|
"""
|
|
Tests if json sentry event for exception js is handled correctly
|
|
"""
|
|
with open("zerver/webhooks/json/fixtures/json_sentry_event_for_exception_js.json") as f:
|
|
original_fixture = json.load(f)
|
|
|
|
expected_topic = "JSON"
|
|
expected_message = """```json
|
|
{original_fixture}
|
|
```""".format(
|
|
original_fixture=json.dumps(original_fixture, indent=2)
|
|
)
|
|
self.check_webhook("json_sentry_event_for_exception_js", expected_topic, expected_message)
|