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

Side by Side Diff: appengine/findit/waterfall/test/monitor_try_job_pipeline_test.py

Issue 1866883002: [Findit] A huge refactoring and some bug fixing. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Fix nit. Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 from datetime import datetime 5 from datetime import datetime
6 import json 6 import json
7 import time 7 import time
8 8
9 from common import buildbucket_client 9 from common import buildbucket_client
10 from model import wf_analysis_status 10 from model import analysis_status
11 from model.wf_try_job import WfTryJob 11 from model.wf_try_job import WfTryJob
12 from model.wf_try_job_data import WfTryJobData 12 from model.wf_try_job_data import WfTryJobData
13 from waterfall.monitor_try_job_pipeline import MonitorTryJobPipeline 13 from waterfall.monitor_try_job_pipeline import MonitorTryJobPipeline
14 from waterfall.test import wf_testcase 14 from waterfall.test import wf_testcase
15 from waterfall.try_job_type import TryJobType 15 from waterfall.try_job_type import TryJobType
16 16
17 17
18 # A counter to enable different responses to requests in a loop. 18 # A counter to enable different responses to requests in a loop.
19 REQUEST_COUNTER = { 19 REQUEST_COUNTER = {
20 '1': 0, 20 '1': 0,
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 try_job = WfTryJob.Create(master_name, builder_name, build_number) 195 try_job = WfTryJob.Create(master_name, builder_name, build_number)
196 try_job_data = WfTryJobData.Create(try_job_id) 196 try_job_data = WfTryJobData.Create(try_job_id)
197 try_job_data.put() 197 try_job_data.put()
198 try_job.compile_results = [ 198 try_job.compile_results = [
199 { 199 {
200 'report': None, 200 'report': None,
201 'url': 'url', 201 'url': 'url',
202 'try_job_id': '1', 202 'try_job_id': '1',
203 } 203 }
204 ] 204 ]
205 try_job.status = wf_analysis_status.ANALYZING 205 try_job.status = analysis_status.RUNNING
206 try_job.put() 206 try_job.put()
207 self._MockGetTryJobs(try_job_id) 207 self._MockGetTryJobs(try_job_id)
208 208
209 pipeline = MonitorTryJobPipeline() 209 pipeline = MonitorTryJobPipeline()
210 compile_result = pipeline.run( 210 compile_result = pipeline.run(
211 master_name, builder_name, build_number, TryJobType.COMPILE, 211 master_name, builder_name, build_number, TryJobType.COMPILE,
212 try_job_id) 212 try_job_id)
213 213
214 expected_compile_result = { 214 expected_compile_result = {
215 'report': { 215 'report': {
216 'result': { 216 'result': {
217 'rev1': 'passed', 217 'rev1': 'passed',
218 'rev2': 'failed' 218 'rev2': 'failed'
219 }, 219 },
220 'metadata': { 220 'metadata': {
221 'regression_range_size': regression_range_size 221 'regression_range_size': regression_range_size
222 } 222 }
223 }, 223 },
224 'url': 'url', 224 'url': 'url',
225 'try_job_id': '1', 225 'try_job_id': '1',
226 } 226 }
227 227
228 self.assertEqual(expected_compile_result, compile_result) 228 self.assertEqual(expected_compile_result, compile_result)
229 229
230 try_job = WfTryJob.Get(master_name, builder_name, build_number) 230 try_job = WfTryJob.Get(master_name, builder_name, build_number)
231 self.assertEqual(expected_compile_result, try_job.compile_results[-1]) 231 self.assertEqual(expected_compile_result, try_job.compile_results[-1])
232 self.assertEqual(wf_analysis_status.ANALYZING, try_job.status) 232 self.assertEqual(analysis_status.RUNNING, try_job.status)
233 233
234 try_job_data = WfTryJobData.Get(try_job_id) 234 try_job_data = WfTryJobData.Get(try_job_id)
235 self.assertEqual(try_job_data.regression_range_size, regression_range_size) 235 self.assertEqual(try_job_data.regression_range_size, regression_range_size)
236 236
237 def testGetTryJobsForTestSuccess(self): 237 def testGetTryJobsForTestSuccess(self):
238 master_name = 'm' 238 master_name = 'm'
239 builder_name = 'b' 239 builder_name = 'b'
240 build_number = 1 240 build_number = 1
241 try_job_id = '3' 241 try_job_id = '3'
242 242
243 try_job = WfTryJob.Create(master_name, builder_name, build_number) 243 try_job = WfTryJob.Create(master_name, builder_name, build_number)
244 try_job.test_results = [ 244 try_job.test_results = [
245 { 245 {
246 'report': None, 246 'report': None,
247 'url': 'url', 247 'url': 'url',
248 'try_job_id': '3', 248 'try_job_id': '3',
249 } 249 }
250 ] 250 ]
251 try_job.status = wf_analysis_status.ANALYZING 251 try_job.status = analysis_status.RUNNING
252 try_job.put() 252 try_job.put()
253 self._MockGetTryJobs(try_job_id) 253 self._MockGetTryJobs(try_job_id)
254 254
255 pipeline = MonitorTryJobPipeline() 255 pipeline = MonitorTryJobPipeline()
256 test_result = pipeline.run( 256 test_result = pipeline.run(
257 master_name, builder_name, build_number, TryJobType.TEST, 257 master_name, builder_name, build_number, TryJobType.TEST,
258 try_job_id) 258 try_job_id)
259 259
260 expected_test_result = { 260 expected_test_result = {
261 'report': { 261 'report': {
(...skipping 13 matching lines...) Expand all
275 } 275 }
276 } 276 }
277 }, 277 },
278 'url': 'url', 278 'url': 'url',
279 'try_job_id': '3', 279 'try_job_id': '3',
280 } 280 }
281 self.assertEqual(expected_test_result, test_result) 281 self.assertEqual(expected_test_result, test_result)
282 282
283 try_job = WfTryJob.Get(master_name, builder_name, build_number) 283 try_job = WfTryJob.Get(master_name, builder_name, build_number)
284 self.assertEqual(expected_test_result, try_job.test_results[-1]) 284 self.assertEqual(expected_test_result, try_job.test_results[-1])
285 self.assertEqual(wf_analysis_status.ANALYZING, try_job.status) 285 self.assertEqual(analysis_status.RUNNING, try_job.status)
286 286
287 def testUpdateTryJobResultAnalyzing(self): 287 def testUpdateTryJobResultAnalyzing(self):
288 master_name = 'm' 288 master_name = 'm'
289 builder_name = 'b' 289 builder_name = 'b'
290 build_number = 1 290 build_number = 1
291 try_job_id = '3' 291 try_job_id = '3'
292 292
293 try_job = WfTryJob.Create(master_name, builder_name, build_number).put() 293 try_job = WfTryJob.Create(master_name, builder_name, build_number).put()
294 294
295 pipeline = MonitorTryJobPipeline() 295 pipeline = MonitorTryJobPipeline()
296 pipeline._UpdateTryJobResult( 296 pipeline._UpdateTryJobResult(
297 buildbucket_client.BuildbucketBuild.STARTED, master_name, builder_name, 297 buildbucket_client.BuildbucketBuild.STARTED, master_name, builder_name,
298 build_number, TryJobType.TEST, try_job_id, 'url') 298 build_number, TryJobType.TEST, try_job_id, 'url')
299 try_job = WfTryJob.Get(master_name, builder_name, build_number) 299 try_job = WfTryJob.Get(master_name, builder_name, build_number)
300 self.assertEqual(wf_analysis_status.ANALYZING, try_job.status) 300 self.assertEqual(analysis_status.RUNNING, try_job.status)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698