| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import datetime | 5 import datetime |
| 6 import mock | 6 import mock |
| 7 import re | 7 import re |
| 8 | 8 |
| 9 import webapp2 | 9 import webapp2 |
| 10 import webtest | 10 import webtest |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 analysis.algorithm_parameters = {'iterations_to_rerun': 100} | 94 analysis.algorithm_parameters = {'iterations_to_rerun': 100} |
| 95 analysis.Save() | 95 analysis.Save() |
| 96 | 96 |
| 97 response = self.test_app.get('/waterfall/check-flake', params={ | 97 response = self.test_app.get('/waterfall/check-flake', params={ |
| 98 'key': analysis.key.urlsafe(), | 98 'key': analysis.key.urlsafe(), |
| 99 'format': 'json'}) | 99 'format': 'json'}) |
| 100 | 100 |
| 101 task_url = '%s/task?id=%s' % ( | 101 task_url = '%s/task?id=%s' % ( |
| 102 check_flake.SWARMING_TASK_BASE_URL, data_point.task_id) | 102 check_flake.SWARMING_TASK_BASE_URL, data_point.task_id) |
| 103 expected_check_flake_result = { | 103 expected_check_flake_result = { |
| 104 'key': analysis.key.urlsafe(), |
| 104 'pass_rates': [[int(build_number), success_rate, task_url]], | 105 'pass_rates': [[int(build_number), success_rate, task_url]], |
| 105 'analysis_status': STATUS_TO_DESCRIPTION.get(analysis.status), | 106 'analysis_status': STATUS_TO_DESCRIPTION.get(analysis.status), |
| 106 'master_name': master_name, | 107 'master_name': master_name, |
| 107 'builder_name': builder_name, | 108 'builder_name': builder_name, |
| 108 'build_number': int(build_number), | 109 'build_number': int(build_number), |
| 109 'step_name': step_name, | 110 'step_name': step_name, |
| 110 'test_name': test_name, | 111 'test_name': test_name, |
| 111 'request_time': '2016-10-01 12:10:00 UTC', | 112 'request_time': '2016-10-01 12:10:00 UTC', |
| 112 'task_number': 1, | 113 'task_number': 1, |
| 113 'error': None, | 114 'error': None, |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 | 183 |
| 183 response = self.test_app.get('/waterfall/check-flake', params={ | 184 response = self.test_app.get('/waterfall/check-flake', params={ |
| 184 'master_name': master_name, | 185 'master_name': master_name, |
| 185 'builder_name': builder_name, | 186 'builder_name': builder_name, |
| 186 'build_number': build_number, | 187 'build_number': build_number, |
| 187 'step_name': step_name, | 188 'step_name': step_name, |
| 188 'test_name': test_name, | 189 'test_name': test_name, |
| 189 'format': 'json'}) | 190 'format': 'json'}) |
| 190 | 191 |
| 191 expected_check_flake_result = { | 192 expected_check_flake_result = { |
| 193 'key': previous_analysis.key.urlsafe(), |
| 192 'pass_rates': [[build_number - 1, success_rate, None]], | 194 'pass_rates': [[build_number - 1, success_rate, None]], |
| 193 'analysis_status': STATUS_TO_DESCRIPTION.get(previous_analysis.status), | 195 'analysis_status': STATUS_TO_DESCRIPTION.get(previous_analysis.status), |
| 194 'master_name': master_name, | 196 'master_name': master_name, |
| 195 'builder_name': builder_name, | 197 'builder_name': builder_name, |
| 196 'build_number': build_number - 1, | 198 'build_number': build_number - 1, |
| 197 'step_name': step_name, | 199 'step_name': step_name, |
| 198 'test_name': test_name, | 200 'test_name': test_name, |
| 199 'request_time': '2016-10-01 12:10:00 UTC', | 201 'request_time': '2016-10-01 12:10:00 UTC', |
| 200 'task_number': 1, | 202 'task_number': 1, |
| 201 'error': None, | 203 'error': None, |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 'm', 'b', '1', None, 't', '').get('data', {}).get('error_message'), | 306 'm', 'b', '1', None, 't', '').get('data', {}).get('error_message'), |
| 305 'Step name must be specified') | 307 'Step name must be specified') |
| 306 self.assertEqual( | 308 self.assertEqual( |
| 307 CheckFlake()._ValidateInput( | 309 CheckFlake()._ValidateInput( |
| 308 'm', 'b', '1', 's', None, '').get('data', {}).get('error_message'), | 310 'm', 'b', '1', 's', None, '').get('data', {}).get('error_message'), |
| 309 'Test name must be specified') | 311 'Test name must be specified') |
| 310 self.assertEqual( | 312 self.assertEqual( |
| 311 CheckFlake()._ValidateInput( | 313 CheckFlake()._ValidateInput( |
| 312 'm', 'b', '1', 's', 't', 'a').get('data', {}).get('error_message'), | 314 'm', 'b', '1', 's', 't', 'a').get('data', {}).get('error_message'), |
| 313 'Bug id (optional) must be an int') | 315 'Bug id (optional) must be an int') |
| OLD | NEW |