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

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

Issue 1836293002: [Findit] Adding central config test class for unit tests (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase 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 testing_utils import testing
8
9 from model import wf_analysis_status 7 from model import wf_analysis_status
10 from model.wf_swarming_task import WfSwarmingTask 8 from model.wf_swarming_task import WfSwarmingTask
11 from waterfall import swarming_util 9 from waterfall import swarming_util
10 from waterfall import trigger_swarming_task_pipeline
12 from waterfall import waterfall_config 11 from waterfall import waterfall_config
13 from waterfall.swarming_task_request import SwarmingTaskRequest 12 from waterfall.swarming_task_request import SwarmingTaskRequest
14 from waterfall import trigger_swarming_task_pipeline 13 from waterfall.test import wf_testcase
15 from waterfall.trigger_swarming_task_pipeline import TriggerSwarmingTaskPipeline 14 from waterfall.trigger_swarming_task_pipeline import TriggerSwarmingTaskPipeline
16 15
17 16
18 _MOCK_SWARMING_SETTINGS = { 17 class TriggerSwarmingTaskPipelineTest(wf_testcase.WaterfallTestCase):
19 'task_timeout_hours': 23,
20 'server_query_interval_seconds': 60,
21 'iterations_to_rerun': 10,
22 'server_host': 'chromium-swarm.appspot.com',
23 'default_request_priority': 150,
24 'isolated_storage_url': 'isolateserver.storage.googleapis.com',
25 'isolated_server': 'https://isolateserver.appspot.com',
26 'request_expiration_hours': 20
27 }
28
29
30 class TriggerSwarmingTaskPipelineTest(testing.AppengineTestCase):
31
32 def _MockGetSwarmingSettings(self):
33 def MockedGetSwarmingSettings():
34 return _MOCK_SWARMING_SETTINGS
35 self.mock(waterfall_config, 'GetSwarmingSettings',
36 MockedGetSwarmingSettings)
37 18
38 def testNoNewSwarmingTaskIsNeeded(self): 19 def testNoNewSwarmingTaskIsNeeded(self):
39 master_name = 'm' 20 master_name = 'm'
40 builder_name = 'b' 21 builder_name = 'b'
41 build_number = 1 22 build_number = 1
42 step_name = 's' 23 step_name = 's'
43 tests = ['a.b'] 24 tests = ['a.b']
44 25
45 def MockedListSwarmingTasksDataByTags(*_): 26 def MockedListSwarmingTasksDataByTags(*_):
46 raise Exception('Fail.') # pragma: no cover. Should never be reached. 27 raise Exception('Fail.') # pragma: no cover. Should never be reached.
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 def MockedTriggerSwarmingTask(new_request, *_): 102 def MockedTriggerSwarmingTask(new_request, *_):
122 new_request_json.update(new_request.Serialize()) 103 new_request_json.update(new_request.Serialize())
123 return 'new_task_id' 104 return 'new_task_id'
124 self.mock(swarming_util, 'TriggerSwarmingTask', MockedTriggerSwarmingTask) 105 self.mock(swarming_util, 'TriggerSwarmingTask', MockedTriggerSwarmingTask)
125 106
126 def MockedGetSwarmingTaskName(*_): 107 def MockedGetSwarmingTaskName(*_):
127 return 'new_task_name' 108 return 'new_task_name'
128 self.mock(trigger_swarming_task_pipeline, '_GetSwarmingTaskName', 109 self.mock(trigger_swarming_task_pipeline, '_GetSwarmingTaskName',
129 MockedGetSwarmingTaskName) 110 MockedGetSwarmingTaskName)
130 111
131 self._MockGetSwarmingSettings()
132
133 master_name = 'm' 112 master_name = 'm'
134 builder_name = 'b' 113 builder_name = 'b'
135 build_number = 234 114 build_number = 234
136 step_name = 'a_tests on platform' 115 step_name = 'a_tests on platform'
137 tests = ['a.b', 'a.c'] 116 tests = ['a.b', 'a.c']
138 117
139 expected_new_request_json = { 118 expected_new_request_json = {
140 'expiration_secs': 3600, 119 'expiration_secs': 3600,
141 'name': 'new_task_name', 120 'name': 'new_task_name',
142 'parent_task_id': '', 121 'parent_task_id': '',
(...skipping 27 matching lines...) Expand all
170 new_task_id = pipeline.run( 149 new_task_id = pipeline.run(
171 master_name, builder_name, build_number, step_name, tests) 150 master_name, builder_name, build_number, step_name, tests)
172 self.assertEqual('new_task_id', new_task_id) 151 self.assertEqual('new_task_id', new_task_id)
173 self.assertEqual(expected_new_request_json, new_request_json) 152 self.assertEqual(expected_new_request_json, new_request_json)
174 153
175 swarming_task = WfSwarmingTask.Get( 154 swarming_task = WfSwarmingTask.Get(
176 master_name, builder_name, build_number, step_name) 155 master_name, builder_name, build_number, step_name)
177 self.assertIsNotNone(swarming_task) 156 self.assertIsNotNone(swarming_task)
178 self.assertEqual('new_task_id', swarming_task.task_id) 157 self.assertEqual('new_task_id', swarming_task.task_id)
179 self.assertEqual(tests, swarming_task.parameters['tests']) 158 self.assertEqual(tests, swarming_task.parameters['tests'])
180 self.assertEqual(_MOCK_SWARMING_SETTINGS['iterations_to_rerun'], 159 self.assertEqual(
181 swarming_task.parameters['iterations_to_rerun']) 160 waterfall_config.GetSwarmingSettings()['iterations_to_rerun'],
182 self.assertEqual('a_tests', swarming_task.parameters['ref_name']) 161 swarming_task.parameters['iterations_to_rerun'])
OLDNEW
« no previous file with comments | « appengine/findit/waterfall/test/swarming_util_test.py ('k') | appengine/findit/waterfall/test/try_job_pipeline_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698