tests: Replace api_auth usages with auth methods in zerver/webhooks.

This commit is contained in:
Alena Volkova
2017-12-14 13:02:45 -05:00
committed by showell
parent 26eb23afc7
commit 90aa6c627e
5 changed files with 56 additions and 76 deletions

View File

@@ -15,9 +15,8 @@ class BeanstalkHookTests(WebhookTestCase):
expected_message = """Leo Franchi [pushed](http://lfranchi-svn.beanstalkapp.com/work-test) 1 commit to branch master.
* add some stuff ([e50508d](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/e50508df))"""
self.send_and_test_stream_message('git_singlecommit', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_singlecommit', expected_subject, expected_message,
content_type=None)
def test_git_single_filtered_by_branches(self) -> None:
self.url = self.build_webhook_url(branches='master,development')
@@ -25,9 +24,8 @@ class BeanstalkHookTests(WebhookTestCase):
expected_message = """Leo Franchi [pushed](http://lfranchi-svn.beanstalkapp.com/work-test) 1 commit to branch master.
* add some stuff ([e50508d](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/e50508df))"""
self.send_and_test_stream_message('git_singlecommit', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_singlecommit', expected_subject, expected_message,
content_type=None)
def test_git_multiple_committers(self) -> None:
expected_subject = "work-test / master"
@@ -36,9 +34,8 @@ class BeanstalkHookTests(WebhookTestCase):
* Added new file ([edf529c](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/edf529c7))
* Filled in new file with some stuff ([c2a191b](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/c2a191b9))
* More work to fix some bugs ([2009815](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/20098158))"""
self.send_and_test_stream_message('git_multiple_committers', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_multiple_committers', expected_subject, expected_message,
content_type=None)
def test_git_multiple_committers_filtered_by_branches(self) -> None:
self.url = self.build_webhook_url(branches='master,development')
@@ -48,9 +45,8 @@ class BeanstalkHookTests(WebhookTestCase):
* Added new file ([edf529c](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/edf529c7))
* Filled in new file with some stuff ([c2a191b](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/c2a191b9))
* More work to fix some bugs ([2009815](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/20098158))"""
self.send_and_test_stream_message('git_multiple_committers', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_multiple_committers', expected_subject, expected_message,
content_type=None)
def test_git_multiple(self) -> None:
expected_subject = "work-test / master"
@@ -59,9 +55,8 @@ class BeanstalkHookTests(WebhookTestCase):
* Added new file ([edf529c](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/edf529c7))
* Filled in new file with some stuff ([c2a191b](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/c2a191b9))
* More work to fix some bugs ([2009815](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/20098158))"""
self.send_and_test_stream_message('git_multiple', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_multiple', expected_subject, expected_message,
content_type=None)
def test_git_multiple_filtered_by_branches(self) -> None:
self.url = self.build_webhook_url(branches='master,development')
@@ -71,9 +66,8 @@ class BeanstalkHookTests(WebhookTestCase):
* Added new file ([edf529c](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/edf529c7))
* Filled in new file with some stuff ([c2a191b](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/c2a191b9))
* More work to fix some bugs ([2009815](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/20098158))"""
self.send_and_test_stream_message('git_multiple', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_multiple', expected_subject, expected_message,
content_type=None)
def test_git_more_than_limit(self) -> None:
commits_info = "* add some stuff ([e50508d](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/e50508df))\n"
@@ -81,9 +75,8 @@ class BeanstalkHookTests(WebhookTestCase):
expected_message = """Leo Franchi [pushed](http://lfranchi-svn.beanstalkapp.com/work-test) 50 commits to branch master.
{}[and {} more commit(s)]""".format((commits_info * COMMITS_LIMIT), 50 - COMMITS_LIMIT)
self.send_and_test_stream_message('git_morethanlimitcommits', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_morethanlimitcommits', expected_subject, expected_message,
content_type=None)
def test_git_more_than_limit_filtered_by_branches(self) -> None:
self.url = self.build_webhook_url(branches='master,development')
@@ -92,16 +85,14 @@ class BeanstalkHookTests(WebhookTestCase):
expected_message = """Leo Franchi [pushed](http://lfranchi-svn.beanstalkapp.com/work-test) 50 commits to branch master.
{}[and {} more commit(s)]""".format((commits_info * COMMITS_LIMIT), 50 - COMMITS_LIMIT)
self.send_and_test_stream_message('git_morethanlimitcommits', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'git_morethanlimitcommits', expected_subject, expected_message,
content_type=None)
@patch('zerver.webhooks.beanstalk.view.check_send_stream_message')
def test_git_single_filtered_by_branches_ignore(self, check_send_stream_message_mock: MagicMock) -> None:
self.url = self.build_webhook_url(branches='changes,development')
payload = self.get_body('git_singlecommit')
result = self.client_post(self.url, payload,
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload)
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)
@@ -111,8 +102,7 @@ class BeanstalkHookTests(WebhookTestCase):
# type: (MagicMock) -> None
self.url = self.build_webhook_url(branches='changes,development')
payload = self.get_body('git_multiple_committers')
result = self.client_post(self.url, payload,
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload)
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)
@@ -122,8 +112,7 @@ class BeanstalkHookTests(WebhookTestCase):
# type: (MagicMock) -> None
self.url = self.build_webhook_url(branches='changes,development')
payload = self.get_body('git_multiple')
result = self.client_post(self.url, payload,
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload)
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)
@@ -133,8 +122,7 @@ class BeanstalkHookTests(WebhookTestCase):
# type: (MagicMock) -> None
self.url = self.build_webhook_url(branches='changes,development')
payload = self.get_body('git_morethanlimitcommits')
result = self.client_post(self.url, payload,
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload)
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)
@@ -143,18 +131,16 @@ class BeanstalkHookTests(WebhookTestCase):
expected_message = """Leo Franchi pushed [revision 3](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/3):
> Removed a file and added another one!"""
self.send_and_test_stream_message('svn_addremove', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'svn_addremove', expected_subject, expected_message,
content_type=None)
def test_svn_changefile(self) -> None:
expected_subject = "svn r2"
expected_message = """Leo Franchi pushed [revision 2](http://lfranchi-svn.beanstalkapp.com/work-test/changesets/2):
> Added some code"""
self.send_and_test_stream_message('svn_changefile', expected_subject, expected_message,
content_type=None,
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'svn_changefile', expected_subject, expected_message,
content_type=None)
def get_body(self, fixture_name: Text) -> Dict[str, Text]:
return {'payload': self.fixture_data('beanstalk', fixture_name)}

View File

@@ -17,7 +17,8 @@ class BitbucketHookTests(WebhookTestCase):
self.url = self.build_webhook_url(payload=self.get_body(fixture_name))
commit_info = u'* c ([25f93d2](https://bitbucket.org/kolaszek/repository-name/commits/25f93d22b719e2d678a7ad5ee0ef0d1fcdf39c12))'
expected_message = u"kolaszek pushed 1 commit to branch master.\n\n{}".format(commit_info)
self.send_and_test_stream_message(fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS, expected_message, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS,
expected_message)
def test_bitbucket_on_push_event_filtered_by_branches(self) -> None:
fixture_name = 'push'
@@ -25,14 +26,16 @@ class BitbucketHookTests(WebhookTestCase):
branches='master,development')
commit_info = u'* c ([25f93d2](https://bitbucket.org/kolaszek/repository-name/commits/25f93d22b719e2d678a7ad5ee0ef0d1fcdf39c12))'
expected_message = u"kolaszek pushed 1 commit to branch master.\n\n{}".format(commit_info)
self.send_and_test_stream_message(fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS, expected_message, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS,
expected_message)
def test_bitbucket_on_push_commits_above_limit_event(self) -> None:
fixture_name = 'push_commits_above_limit'
self.url = self.build_webhook_url(payload=self.get_body(fixture_name))
commit_info = u'* c ([25f93d2](https://bitbucket.org/kolaszek/repository-name/commits/25f93d22b719e2d678a7ad5ee0ef0d1fcdf39c12))\n'
expected_message = u"kolaszek pushed 50 commits to branch master.\n\n{}[and 30 more commit(s)]".format(commit_info * 20)
self.send_and_test_stream_message(fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS, expected_message, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS,
expected_message)
def test_bitbucket_on_push_commits_above_limit_event_filtered_by_branches(self) -> None:
fixture_name = 'push_commits_above_limit'
@@ -40,13 +43,15 @@ class BitbucketHookTests(WebhookTestCase):
branches='master,development')
commit_info = u'* c ([25f93d2](https://bitbucket.org/kolaszek/repository-name/commits/25f93d22b719e2d678a7ad5ee0ef0d1fcdf39c12))\n'
expected_message = u"kolaszek pushed 50 commits to branch master.\n\n{}[and 30 more commit(s)]".format(commit_info * 20)
self.send_and_test_stream_message(fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS, expected_message, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture_name, self.EXPECTED_SUBJECT_BRANCH_EVENTS,
expected_message)
def test_bitbucket_on_force_push_event(self) -> None:
fixture_name = 'force_push'
self.url = self.build_webhook_url(payload=self.get_body(fixture_name))
expected_message = u"kolaszek [force pushed](https://bitbucket.org/kolaszek/repository-name)"
self.send_and_test_stream_message(fixture_name, self.EXPECTED_SUBJECT, expected_message, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture_name, self.EXPECTED_SUBJECT,
expected_message)
@patch('zerver.webhooks.bitbucket.view.check_send_stream_message')
def test_bitbucket_on_push_event_filtered_by_branches_ignore(self, check_send_stream_message_mock: MagicMock) -> None:
@@ -54,9 +59,7 @@ class BitbucketHookTests(WebhookTestCase):
payload = self.get_body(fixture_name)
self.url = self.build_webhook_url(payload=payload,
branches='changes,development')
result = self.client_post(self.url, payload,
content_type="application/json,",
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload, content_type="application/json,")
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)
@@ -68,9 +71,7 @@ class BitbucketHookTests(WebhookTestCase):
payload = self.get_body(fixture_name)
self.url = self.build_webhook_url(payload=payload,
branches='changes,development')
result = self.client_post(self.url, payload,
content_type="application/json,",
**self.api_auth(self.TEST_USER_EMAIL))
result = self.api_post(self.TEST_USER_EMAIL, self.url, payload, content_type="application/json,")
self.assertFalse(check_send_stream_message_mock.called)
self.assert_json_success(result)

View File

@@ -23,9 +23,8 @@ class DeskDotComHookTests(WebhookTestCase):
expected_subject = u"static text notification"
expected_message = u"This is a custom action."
self.send_and_test_stream_message('static_text', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'static_text', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_case_updated_message(self) -> None:
expected_subject = u"case updated notification"
@@ -33,9 +32,8 @@ class DeskDotComHookTests(WebhookTestCase):
u"Link: <a href='https://deskdotcomtest.desk.com/web/agent/case/2'>"
u"I have a question</a>")
self.send_and_test_stream_message('case_updated', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'case_updated', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_unicode_text_italian(self) -> None:
@@ -44,9 +42,8 @@ class DeskDotComHookTests(WebhookTestCase):
u"Link: <a href='https://deskdotcomtest.desk.com/web/agent/case/2'>"
u"Il mio hovercraft è pieno di anguille.</a>")
self.send_and_test_stream_message('unicode_text_italian', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'unicode_text_italian', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_unicode_text_japanese(self) -> None:
@@ -55,9 +52,8 @@ class DeskDotComHookTests(WebhookTestCase):
u"Link: <a href='https://deskdotcomtest.desk.com/web/agent/case/2'>"
u"私のホバークラフトは鰻でいっぱいです</a>")
self.send_and_test_stream_message('unicode_text_japanese', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'unicode_text_japanese', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def get_body(self, fixture_name: Text) -> Text:
return self.fixture_data("deskdotcom", fixture_name, file_type="txt")

View File

@@ -22,7 +22,8 @@ Test ticket description ☃.
Type: **Incident**
Priority: **High**
Status: **Pending**"""
self.send_and_test_stream_message('ticket_created', expected_subject, expected_message, content_type="application/x-www-form-urlencoded", **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'ticket_created', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_status_change(self) -> None:
"""
@@ -33,9 +34,8 @@ Status: **Pending**"""
expected_message = """Requester Bob <requester-bob@example.com> updated [ticket #11](http://test1234zzz.freshdesk.com/helpdesk/tickets/11):
Status: **Resolved** => **Waiting on Customer**"""
self.send_and_test_stream_message('status_changed', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'status_changed', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_priority_change(self) -> None:
"""
@@ -46,9 +46,8 @@ Status: **Resolved** => **Waiting on Customer**"""
expected_message = """Requester Bob <requester-bob@example.com> updated [ticket #11](http://test1234zzz.freshdesk.com/helpdesk/tickets/11):
Priority: **High** => **Low**"""
self.send_and_test_stream_message('priority_changed', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, 'priority_changed', expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def note_change(self, fixture: Text, note_type: Text) -> None:
"""
@@ -57,9 +56,8 @@ Priority: **High** => **Low**"""
"""
expected_subject = u"#11: Test ticket subject"
expected_message = """Requester Bob <requester-bob@example.com> added a {} note to [ticket #11](http://test1234zzz.freshdesk.com/helpdesk/tickets/11).""".format(note_type)
self.send_and_test_stream_message(fixture, expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, fixture, expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def test_private_note_change(self) -> None:
self.note_change("private_note", "private")
@@ -75,9 +73,8 @@ Priority: **High** => **Low**"""
"""
expected_subject = u"#12: Not enough ☃ guinea pigs"
expected_message = u"Requester \u2603 Bob <requester-bob@example.com> created [ticket #12](http://test1234zzz.freshdesk.com/helpdesk/tickets/12):\n\n~~~ quote\nThere are too many cat pictures on the internet \u2603. We need more guinea pigs. Exhibit 1:\n\n \n\n\n[guinea_pig.png](http://cdn.freshdesk.com/data/helpdesk/attachments/production/12744808/original/guinea_pig.png)\n~~~\n\nType: **Problem**\nPriority: **Urgent**\nStatus: **Open**"
self.send_and_test_stream_message("inline_images", expected_subject, expected_message,
content_type="application/x-www-form-urlencoded",
**self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, "inline_images", expected_subject, expected_message,
content_type="application/x-www-form-urlencoded")
def get_body(self, fixture_name: Text) -> Text:
return self.fixture_data("freshdesk", fixture_name, file_type="json")

View File

@@ -25,8 +25,8 @@ class ZenDeskHookTests(WebhookTestCase):
}
def do_test(self, expected_subject: Optional[Text]=None, expected_message: Optional[Text]=None) -> None:
self.send_and_test_stream_message("", expected_subject, expected_message,
content_type=None, **self.api_auth(self.TEST_USER_EMAIL))
self.api_stream_message(self.TEST_USER_EMAIL, "", expected_subject, expected_message,
content_type=None)
self.TICKET_TITLE = self.DEFAULT_TICKET_TITLE
self.TICKET_ID = self.DEFAULT_TICKET_ID
self.MESSAGE = self.DEFAULT_MESSAGE