integrations: Modify solano labs integration.

This adds support for the "running" status and adds a test fixture.
This commit is contained in:
Vamshi Balanaga
2017-01-04 19:02:03 -05:00
committed by Tim Abbott
parent b48fcf4f8d
commit 1b2472b5cb
3 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
{
"event": "received",
"timestamp": "2017-01-02T18:23:06+00:00",
"session": 3317799,
"profile_name": "default",
"url": "https:\/\/ci.solanolabs.com:443\/reports\/3317799",
"commit_id": "191d34f9da8ff7279b051cd68e44223253e18408",
"committers": [
"solano-ci[bot]@users.noreply.github.com"
],
"status": "running",
"branch": "master",
"ref": "refs\/heads\/master",
"repository": {
"name": "scipy",
"url": "ssh:\/\/git@github.com\/anirudhjain75\/scipy",
"org_name": "anirudhjain75"
},
"gen": 1,
"xid": "8c7f63bf9"
}

View File

@@ -37,6 +37,21 @@ class SolanoHookTests(WebhookTestCase):
self.send_and_test_stream_message('build_002', expected_topic, expected_message, self.send_and_test_stream_message('build_002', expected_topic, expected_message,
content_type="application/x-www-form-urlencoded") content_type="application/x-www-form-urlencoded")
def test_solano_message_received(self):
# type: () -> None
"""
Build notifications are generated by Solano Labs after build completes.
"""
expected_topic = u'build update'
expected_message = (u"Author: solano-ci[bot]@users.noreply.github.com\n"
u"Commit: [191d34f9da8ff7279b051cd68e44223253e18408]"
u"(github.com/anirudhjain75/scipy/commit/191d34f9da8ff7279b051cd"
u"68e44223253e18408)\nBuild status: running :arrows_counterclockwise:\n"
u"[Build Log](https://ci.solanolabs.com:443/reports/3317799)")
self.send_and_test_stream_message('received', expected_topic, expected_message,
content_type="application/x-www-form-urlencoded")
def get_body(self, fixture_name): def get_body(self, fixture_name):
# type: (Text) -> Text # type: (Text) -> Text
return self.fixture_data(self.FIXTURE_DIR_NAME, fixture_name, file_type="json") return self.fixture_data(self.FIXTURE_DIR_NAME, fixture_name, file_type="json")

View File

@@ -35,11 +35,14 @@ def api_solano_webhook(request, user_profile, client,
good_status = ['passed'] good_status = ['passed']
bad_status = ['failed', 'error'] bad_status = ['failed', 'error']
neutral_status = ['running']
emoji = '' emoji = ''
if status in good_status: if status in good_status:
emoji = ':thumbsup:' emoji = ':thumbsup:'
elif status in bad_status: elif status in bad_status:
emoji = ':thumbsdown:' emoji = ':thumbsdown:'
elif status in neutral_status:
emoji = ':arrows_counterclockwise:'
else: else:
emoji = "(No emoji specified for status '%s'.)" % (status) emoji = "(No emoji specified for status '%s'.)" % (status)