2017-03-14 20:04:11 +01:00
from zerver . lib . test_classes import WebhookTestCase
2020-08-22 17:16:32 +02:00
TOPIC = " Zulip HQ "
2020-01-14 22:06:24 +01:00
2021-02-12 08:19:30 +01:00
2017-03-14 20:04:11 +01:00
class BasecampHookTests ( WebhookTestCase ) :
2021-02-12 08:20:45 +01:00
STREAM_NAME = " basecamp "
2020-04-09 21:51:58 +02:00
URL_TEMPLATE = " /api/v1/external/basecamp?stream= {stream} &api_key= {api_key} "
2021-02-12 08:20:45 +01:00
FIXTURE_DIR_NAME = " basecamp "
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_active ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz activated the document [New doc](https://3.basecamp.com/3688623/buckets/2957043/documents/432522214). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_active " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_archived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz archived the document [new doc](https://3.basecamp.com/3688623/buckets/2957043/documents/434455988). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_archived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_changed_content ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed content of the document [New doc edit](https://3.basecamp.com/3688623/buckets/2957043/documents/432522214). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_content_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_changed_title ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed title of the document [New doc edit](https://3.basecamp.com/3688623/buckets/2957043/documents/432522214). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_title_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_publicized ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz publicized the document [new doc](https://3.basecamp.com/3688623/buckets/2957043/documents/434455988). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_publicized " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the document [new doc](https://3.basecamp.com/3688623/buckets/2957043/documents/434455988). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_created " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_trashed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz trashed the document [new doc](https://3.basecamp.com/3688623/buckets/2957043/documents/434455988). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_trashed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_doc_unarchived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz unarchived the document [new doc](https://3.basecamp.com/3688623/buckets/2957043/documents/434455988). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " doc_unarchive " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_questions_answer_archived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz archived the [answer](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747/answers/2017-03-16#__recording_432529636) of the question [Question?](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747) "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " questions_answer_archived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_questions_answer_content_changed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed content of the [answer](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747/answers/2017-03-16#__recording_432529636) of the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " questions_answer_content_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_questions_answer_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the [answer](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747/answers/2017-03-16#__recording_432529636) of the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " questions_answer_created " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_questions_answer_trashed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz trashed the [answer](https://3.basecamp.com/3688623/buckets/2957043/question_answers/432529636) of the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " questions_answer_trashed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_questions_answer_unarchived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz unarchived the [answer](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747/answers/2017-03-16#__recording_432529636) of the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " questions_answer_unarchived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_question_archived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz archived the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " question_archived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_question_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " question_created " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_question_trashed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz trashed the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " question_trashed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_question_unarchived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz unarchived the question [Question](https://3.basecamp.com/3688623/buckets/2957043/questions/432527747). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " question_unarchived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_archived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz archived the message [Message Title new](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_archived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_content_change ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed content of the message [Message Title new](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_content_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the message [Message Title](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_created " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_title_change ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed subject of the message [Message Title new](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_title_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_trashed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz trashed the message [Message Title new](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_trashed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_message_unarchived ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz unarchived the message [Message Title new](https://3.basecamp.com/3688623/buckets/2957043/messages/430680605). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " message_unarchived " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_list_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the todo list [NEW TO DO LIST](https://3.basecamp.com/3688623/buckets/2957043/todolists/427050190). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_list_created " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_list_description_changed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed description of the todo list [NEW TO DO LIST](https://3.basecamp.com/3688623/buckets/2957043/todolists/427050190). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_list_description_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_list_modified ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed name of the todo list [NEW Name TO DO LIST](https://3.basecamp.com/3688623/buckets/2957043/todolists/427050190). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_list_name_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_assignment_changed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz changed assignment of the todo task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_assignment_changed " , expected_message )
2017-03-14 20:04:11 +01:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_completed ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz completed the todo task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_completed " , expected_message )
2017-03-14 20:04:11 +01:00
2020-04-17 12:52:28 +02:00
def test_basecamp_makes_todo_uncompleted ( self ) - > None :
expected_message = " Tomasz uncompleted the todo task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_uncompleted " , expected_message )
2020-04-17 12:52:28 +02:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_todo_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the todo task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_created " , expected_message )
2017-03-14 20:04:11 +01:00
2020-04-17 12:31:18 +02:00
def test_basecamp_makes_todo_due_on_changed ( self ) - > None :
expected_message = " Tomasz changed due_on of the todo task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " todo_due_on_changed " , expected_message )
2020-04-17 12:31:18 +02:00
2017-11-04 07:47:46 +01:00
def test_basecamp_makes_comment_created ( self ) - > None :
2020-04-09 21:51:58 +02:00
expected_message = " Tomasz created the [comment](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624#__recording_427058780) of the task [New task](https://3.basecamp.com/3688623/buckets/2957043/todos/427055624). "
2021-02-12 08:20:45 +01:00
self . _send_and_test_message ( " comment_created " , expected_message )
2017-03-14 20:04:11 +01:00
2018-05-10 19:34:01 +02:00
def _send_and_test_message ( self , fixture_name : str , expected_message : str ) - > None :
2020-08-23 15:49:24 +02:00
self . check_webhook ( fixture_name , TOPIC , expected_message )