51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
from django.test import override_settings
|
|
|
|
from apps.slack.slash_command import SlashCommand
|
|
|
|
|
|
def test_parse():
|
|
payload = {
|
|
"command": "/grafana",
|
|
"text": "escalate",
|
|
"trigger_id": "trigger_id",
|
|
"user_id": "user_id",
|
|
"user_name": "user_name",
|
|
"api_app_id": "api_app_id",
|
|
}
|
|
slash_command = SlashCommand.parse(payload)
|
|
assert slash_command.command == "grafana"
|
|
assert slash_command.args == ["escalate"]
|
|
assert slash_command.subcommand == "escalate"
|
|
assert slash_command.is_root_command
|
|
|
|
|
|
@override_settings(SLACK_IRM_ROOT_COMMAND="gops")
|
|
def test_parse_non_default_root_command():
|
|
payload = {
|
|
"command": "/gops",
|
|
"text": "escalate",
|
|
"trigger_id": "trigger_id",
|
|
"user_id": "user_id",
|
|
"user_name": "user_name",
|
|
"api_app_id": "api_app_id",
|
|
}
|
|
slash_command = SlashCommand.parse(payload)
|
|
assert slash_command.command == "gops"
|
|
assert slash_command.args == ["escalate"]
|
|
assert slash_command.subcommand == "escalate"
|
|
assert slash_command.is_root_command
|
|
|
|
|
|
def test_parse_command_without_subcommand():
|
|
payload = {
|
|
"command": "/escalate",
|
|
"text": "",
|
|
"trigger_id": "trigger_id",
|
|
"user_id": "user_id",
|
|
"user_name": "user_name",
|
|
"api_app_id": "api_app_id",
|
|
}
|
|
slash_command = SlashCommand.parse(payload)
|
|
assert slash_command.command == "escalate"
|
|
assert slash_command.args == []
|
|
assert slash_command.subcommand is None
|