2016-12-18 02:08:22 +01:00
|
|
|
from zerver.lib.test_classes import WebhookTestCase
|
2018-11-20 22:18:53 +01:00
|
|
|
from zerver.webhooks.gosquared.view import CHAT_MESSAGE_TEMPLATE
|
|
|
|
|
2020-01-14 22:06:24 +01:00
|
|
|
|
2016-12-18 02:08:22 +01:00
|
|
|
class GoSquaredHookTests(WebhookTestCase):
|
2021-02-12 08:20:45 +01:00
|
|
|
STREAM_NAME = "gosquared"
|
2016-12-18 02:08:22 +01:00
|
|
|
URL_TEMPLATE = "/api/v1/external/gosquared?stream={stream}&api_key={api_key}"
|
2021-06-26 09:18:33 +02:00
|
|
|
WEBHOOK_DIR_NAME = "gosquared"
|
2016-12-18 02:08:22 +01:00
|
|
|
|
|
|
|
# Note: Include a test function per each distinct message condition your integration supports
|
2017-11-04 07:47:46 +01:00
|
|
|
def test_traffic_message(self) -> None:
|
2024-01-17 15:53:30 +01:00
|
|
|
expected_topic_name = "GoSquared - requestb.in"
|
2021-02-12 08:19:30 +01:00
|
|
|
expected_message = (
|
|
|
|
"[requestb.in](https://www.gosquared.com/now/GSN-595854-T) has 33 visitors online."
|
|
|
|
)
|
2016-12-18 02:08:22 +01:00
|
|
|
|
2020-08-23 15:49:24 +02:00
|
|
|
self.check_webhook(
|
|
|
|
"traffic_spike",
|
2024-01-17 15:53:30 +01:00
|
|
|
expected_topic_name,
|
2020-08-23 15:49:24 +02:00
|
|
|
expected_message,
|
|
|
|
content_type="application/x-www-form-urlencoded",
|
|
|
|
)
|
2016-12-20 10:19:29 +01:00
|
|
|
|
2018-11-20 22:18:53 +01:00
|
|
|
def test_chat_message(self) -> None:
|
2024-01-17 15:53:30 +01:00
|
|
|
expected_topic_name = "Live chat session - Zulip Chat"
|
2018-11-20 22:18:53 +01:00
|
|
|
expected_message = CHAT_MESSAGE_TEMPLATE.format(
|
2021-02-12 08:20:45 +01:00
|
|
|
status="visitor",
|
|
|
|
name="John Smith",
|
|
|
|
content="Zulip is awesome!",
|
2018-11-20 22:18:53 +01:00
|
|
|
)
|
|
|
|
|
2020-08-23 15:49:24 +02:00
|
|
|
self.check_webhook(
|
|
|
|
"chat_message",
|
2024-01-17 15:53:30 +01:00
|
|
|
expected_topic_name,
|
2020-08-23 15:49:24 +02:00
|
|
|
expected_message,
|
|
|
|
content_type="application/x-www-form-urlencoded",
|
|
|
|
)
|