Render PagerDuty message using ujson.dumps.

Use ujson.dumps to render raw messages sent by the PagerDuty
integration instead of using pprint.pformat.  pprint.pformat
gives different results on python 2 and 3.
This commit is contained in:
Eklavya Sharma
2016-07-14 01:08:04 +05:30
committed by Tim Abbott
parent 4f633bcd0b
commit 5382aeb385
2 changed files with 4 additions and 5 deletions

View File

@@ -934,13 +934,12 @@ class PagerDutyHookTests(WebhookTestCase):
def test_bad_message(self):
# type: () -> None
expected_message = 'Unknown pagerduty message\n``` py\n{u\'type\': u\'incident.triggered\'}\n```'
expected_message = 'Unknown pagerduty message\n```\n{\n "type":"incident.triggered"\n}\n```'
self.send_and_test_stream_message('bad_message_type', u"pagerduty", expected_message)
@skip_py3
def test_unknown_message_type(self):
# type: () -> None
expected_message = 'Unknown pagerduty message\n``` py\n{u\'type\': u\'foo\'}\n```'
expected_message = 'Unknown pagerduty message\n```\n{\n "type":"foo"\n}\n```'
self.send_and_test_stream_message('unknown_message_type', u"pagerduty", expected_message)
class TravisHookTests(WebhookTestCase):

View File

@@ -75,9 +75,9 @@ def send_raw_pagerduty_json(user_profile, client, stream, message, topic):
subject = topic or 'pagerduty'
body = (
u'Unknown pagerduty message\n'
u'``` py\n'
u'```\n'
u'%s\n'
u'```') % (pprint.pformat(message),)
u'```') % (ujson.dumps(message, indent=2),)
check_send_message(user_profile, client, 'stream',
[stream], subject, body)