Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1438)

Unified Diff: dashboard/dashboard/post_bisect_results_test.py

Issue 1566013002: Add support for bisect bots to post results to dashboard. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dashboard/dashboard/post_bisect_results.py ('k') | dashboard/dashboard/update_bug_with_results.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dashboard/dashboard/post_bisect_results_test.py
diff --git a/dashboard/dashboard/post_bisect_results_test.py b/dashboard/dashboard/post_bisect_results_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..f46f4c63f06844f64e845c434739f87a12c8ad24
--- /dev/null
+++ b/dashboard/dashboard/post_bisect_results_test.py
@@ -0,0 +1,98 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import json
+
+import webapp2
+import webtest
+
+from dashboard import post_bisect_results
+from dashboard import rietveld_service
+from dashboard import testing_common
+from dashboard.models import try_job
+
+_SAMPLE_BISECT_RESULTS_JSON = {
+ 'try_job_id': 6789,
+ 'bug_id': 4567,
+ 'status': 'completed',
+ 'bisect_bot': 'linux',
+ 'buildbot_log_url': '',
+ 'command': ('tools/perf/run_benchmark -v '
+ '--browser=release page_cycler.intl_ar_fa_he'),
+ 'metric': 'warm_times/page_load_time',
+ 'change': '',
+ 'score': 99.9,
+ 'good_revision': '306475',
+ 'bad_revision': '306478',
+ 'warnings': None,
+ 'abort_reason': None,
+ 'culprit_data': {
+ 'subject': 'subject',
+ 'author': 'author',
+ 'email': 'author@email.com',
+ 'cl_date': '1/2/2015',
+ 'commit_info': 'commit_info',
+ 'revisions_links': [],
+ 'cl': '1235'
+ },
+ 'revision_data': [
+ {
+ 'depot_name': 'chromium',
+ 'deps_revision': 1234,
+ 'commit_pos': 1234,
+ 'mean_value': 70,
+ 'std_dev': 0,
+ 'values': [70, 70, 70],
+ 'result': 'good'
+ }, {
+ 'depot_name': 'chromium',
+ 'deps_revision': 1235,
+ 'commit_pos': 1235,
+ 'mean_value': 80,
+ 'std_dev': 0,
+ 'values': [80, 80, 80],
+ 'result': 'bad'
+ }
+ ]
+}
+
+# Sample IP addresses to use in the tests below.
+_WHITELISTED_IP = '123.45.67.89'
+
+
+class PostBisectResultsTest(testing_common.TestCase):
+
+ def setUp(self):
+ super(PostBisectResultsTest, self).setUp()
+ app = webapp2.WSGIApplication([
+ ('/post_bisect_results',
+ post_bisect_results.PostBisectResultsHandler)])
+ self.testapp = webtest.TestApp(app)
+ testing_common.SetIpWhitelist([_WHITELISTED_IP])
+ self._AddRietveldConfig()
+
+ def _AddRietveldConfig(self):
+ """Adds a RietveldConfig entity to the datastore.
+
+ This is used in order to get the Rietveld URL when requests are made to the
+ handler in te tests below. In the real datastore, the RietveldConfig entity
+ would contain credentials.
+ """
+ rietveld_service.RietveldConfig(
+ id='default_rietveld_config',
+ client_email='sullivan@email.com',
+ service_account_key='Fake Account Key',
+ server_url='https://test-rietveld.appspot.com',
+ internal_server_url='https://test-rietveld.appspot.com').put()
+
+ def testPost(self):
+ job_key = try_job.TryJob(id=6789, rietveld_issue_id=200034).put()
+ data_param = json.dumps(_SAMPLE_BISECT_RESULTS_JSON)
+ self.testapp.post(
+ '/post_bisect_results', {'data': data_param},
+ extra_environ={'REMOTE_ADDR': _WHITELISTED_IP})
+
+ job = job_key.get()
+ self.assertEqual(6789, job.results_data['try_job_id'])
+ self.assertEqual('completed', job.results_data['status'])
« no previous file with comments | « dashboard/dashboard/post_bisect_results.py ('k') | dashboard/dashboard/update_bug_with_results.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698