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

Side by Side Diff: appengine/findit/waterfall/test/trigger_swarming_task_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 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 time 5 import time
6 6
7 from model import wf_analysis_status 7 from model import analysis_status
8 from model.wf_swarming_task import WfSwarmingTask 8 from model.wf_swarming_task import WfSwarmingTask
9 from waterfall import swarming_util 9 from waterfall import swarming_util
10 from waterfall import trigger_swarming_task_pipeline 10 from waterfall import trigger_swarming_task_pipeline
11 from waterfall import waterfall_config 11 from waterfall import waterfall_config
12 from waterfall.swarming_task_request import SwarmingTaskRequest 12 from waterfall.swarming_task_request import SwarmingTaskRequest
13 from waterfall.test import wf_testcase 13 from waterfall.test import wf_testcase
14 from waterfall.trigger_swarming_task_pipeline import TriggerSwarmingTaskPipeline 14 from waterfall.trigger_swarming_task_pipeline import TriggerSwarmingTaskPipeline
15 15
16 16
17 class TriggerSwarmingTaskPipelineTest(wf_testcase.WaterfallTestCase): 17 class TriggerSwarmingTaskPipelineTest(wf_testcase.WaterfallTestCase):
18 18
19 def testNoNewSwarmingTaskIsNeeded(self): 19 def testNoNewSwarmingTaskIsNeeded(self):
20 master_name = 'm' 20 master_name = 'm'
21 builder_name = 'b' 21 builder_name = 'b'
22 build_number = 1 22 build_number = 1
23 step_name = 's' 23 step_name = 's'
24 tests = ['a.b'] 24 tests = ['a.b']
25 25
26 def MockedListSwarmingTasksDataByTags(*_): 26 def MockedListSwarmingTasksDataByTags(*_):
27 raise Exception('Fail.') # pragma: no cover. Should never be reached. 27 raise Exception('Fail.') # pragma: no cover. Should never be reached.
28 self.mock(swarming_util, 'ListSwarmingTasksDataByTags', 28 self.mock(swarming_util, 'ListSwarmingTasksDataByTags',
29 MockedListSwarmingTasksDataByTags) 29 MockedListSwarmingTasksDataByTags)
30 swarming_task = WfSwarmingTask.Create( 30 swarming_task = WfSwarmingTask.Create(
31 master_name, builder_name, build_number, step_name) 31 master_name, builder_name, build_number, step_name)
32 swarming_task.status = wf_analysis_status.ANALYZING 32 swarming_task.status = analysis_status.RUNNING
33 swarming_task.task_id = 'task_id' 33 swarming_task.task_id = 'task_id'
34 swarming_task.put() 34 swarming_task.put()
35 35
36 pipeline = TriggerSwarmingTaskPipeline() 36 pipeline = TriggerSwarmingTaskPipeline()
37 task_id = pipeline.run( 37 task_id = pipeline.run(
38 master_name, builder_name, build_number, step_name, tests) 38 master_name, builder_name, build_number, step_name, tests)
39 self.assertEqual('task_id', task_id) 39 self.assertEqual('task_id', task_id)
40 40
41 def testWaitingForTheTaskId(self): 41 def testWaitingForTheTaskId(self):
42 master_name = 'm' 42 master_name = 'm'
43 builder_name = 'b' 43 builder_name = 'b'
44 build_number = 1 44 build_number = 1
45 step_name = 's' 45 step_name = 's'
46 tests = ['a.b'] 46 tests = ['a.b']
47 47
48 swarming_task = WfSwarmingTask.Create( 48 swarming_task = WfSwarmingTask.Create(
49 master_name, builder_name, build_number, step_name) 49 master_name, builder_name, build_number, step_name)
50 swarming_task.status = wf_analysis_status.PENDING 50 swarming_task.status = analysis_status.PENDING
51 swarming_task.put() 51 swarming_task.put()
52 52
53 def MockedSleep(*_): 53 def MockedSleep(*_):
54 swarming_task = WfSwarmingTask.Get( 54 swarming_task = WfSwarmingTask.Get(
55 master_name, builder_name, build_number, step_name) 55 master_name, builder_name, build_number, step_name)
56 self.assertEqual(wf_analysis_status.PENDING, swarming_task.status) 56 self.assertEqual(analysis_status.PENDING, swarming_task.status)
57 swarming_task.status = wf_analysis_status.ANALYZING 57 swarming_task.status = analysis_status.RUNNING
58 swarming_task.task_id = 'task_id' 58 swarming_task.task_id = 'task_id'
59 swarming_task.put() 59 swarming_task.put()
60 self.mock(time, 'sleep', MockedSleep) 60 self.mock(time, 'sleep', MockedSleep)
61 61
62 pipeline = TriggerSwarmingTaskPipeline() 62 pipeline = TriggerSwarmingTaskPipeline()
63 task_id = pipeline.run( 63 task_id = pipeline.run(
64 master_name, builder_name, build_number, step_name, tests) 64 master_name, builder_name, build_number, step_name, tests)
65 self.assertEqual('task_id', task_id) 65 self.assertEqual('task_id', task_id)
66 66
67 def testTriggerANewSwarmingTask(self): 67 def testTriggerANewSwarmingTask(self):
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 self.assertEqual(expected_new_request_json, new_request_json) 152 self.assertEqual(expected_new_request_json, new_request_json)
153 153
154 swarming_task = WfSwarmingTask.Get( 154 swarming_task = WfSwarmingTask.Get(
155 master_name, builder_name, build_number, step_name) 155 master_name, builder_name, build_number, step_name)
156 self.assertIsNotNone(swarming_task) 156 self.assertIsNotNone(swarming_task)
157 self.assertEqual('new_task_id', swarming_task.task_id) 157 self.assertEqual('new_task_id', swarming_task.task_id)
158 self.assertEqual(tests, swarming_task.parameters['tests']) 158 self.assertEqual(tests, swarming_task.parameters['tests'])
159 self.assertEqual( 159 self.assertEqual(
160 waterfall_config.GetSwarmingSettings()['iterations_to_rerun'], 160 waterfall_config.GetSwarmingSettings()['iterations_to_rerun'],
161 swarming_task.parameters['iterations_to_rerun']) 161 swarming_task.parameters['iterations_to_rerun'])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698