2017-03-14 20:04:11 +01:00
from zerver . lib . test_classes import WebhookTestCase
2020-01-14 22:06:24 +01:00
2017-03-14 20:04:11 +01:00
class BasecampHookTests ( WebhookTestCase ) :
STREAM_NAME = ' basecamp '
2020-04-09 21:51:58 +02:00
URL_TEMPLATE = " /api/v1/external/basecamp?stream= {stream} &api_key= {api_key} "
2017-03-14 20:04:11 +01:00
FIXTURE_DIR_NAME = ' basecamp '
2018-11-09 20:33:58 +01:00
EXPECTED_TOPIC = " Zulip HQ "
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_active ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_archived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_content_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_title_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_publicized ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_created ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_trashed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' doc_unarchive ' , expected_message )
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) "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' questions_answer_archived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' questions_answer_content_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' questions_answer_created ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' questions_answer_trashed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' questions_answer_unarchived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' question_archived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' question_created ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' question_trashed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' question_unarchived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_archived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_content_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_created ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_title_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_trashed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' message_unarchived ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_list_created ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_list_description_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_list_name_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_assignment_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_completed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' todo_created ' , expected_message )
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). "
self . _send_and_test_message ( ' todo_due_on_changed ' , expected_message )
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). "
2017-03-14 20:04:11 +01:00
self . _send_and_test_message ( ' comment_created ' , expected_message )
2018-05-10 19:34:01 +02:00
def _send_and_test_message ( self , fixture_name : str , expected_message : str ) - > None :
2018-11-09 20:33:58 +01:00
self . send_and_test_stream_message ( fixture_name , self . EXPECTED_TOPIC , expected_message )