blob: 3982ac99ba220bcb3eff100245cf7771084bac0e [file] [log] [blame]
Don Garrettbe3608b2018-06-05 17:10:09 -07001# -*- coding: utf-8 -*-
2# Copyright 2018 The Chromium OS Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6"""Test gen_luci_scheduler."""
7from __future__ import print_function
8
Mike Frysinger74a6cc82020-02-14 14:16:22 -05009import sys
10
Don Garrett8dace272018-07-19 14:07:42 -070011from chromite.config import chromeos_config
Don Garrettbe3608b2018-06-05 17:10:09 -070012from chromite.lib import cros_test_lib
13from chromite.lib import config_lib
14from chromite.lib import config_lib_unittest
15from chromite.scripts import gen_luci_scheduler
16
Mike Frysinger74a6cc82020-02-14 14:16:22 -050017
18assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
19
20
Don Garrettbe3608b2018-06-05 17:10:09 -070021# It's reasonable for unittests to look at internals.
22# pylint: disable=protected-access
23
24
25class GenLuciSchedulerTest(cros_test_lib.MockTestCase):
26 """Tests for cbuildbot_launch script."""
27 def testSanityAgainstProd(self):
28 """Test we can generate a luci scheduler config with live data."""
29 # If it runs without crashing, we pass.
Don Garrett8dace272018-07-19 14:07:42 -070030 gen_luci_scheduler.genLuciSchedulerConfig(
31 config_lib.GetConfig(), chromeos_config.BranchScheduleConfig())
Don Garrettbe3608b2018-06-05 17:10:09 -070032
33 def testGenSchedulerJob(self):
34 """Test the job creation helper."""
35 build_config = config_lib_unittest.MockBuildConfig().apply(
36 schedule='funky schedule'
37 )
38
Mike Frysinger80de5012019-08-01 14:10:53 -040039 expected = """
Don Garrettbe3608b2018-06-05 17:10:09 -070040job {
Mike Nichols9e47e842020-08-11 15:23:56 -060041 id: "amd64-generic-release"
Vadim Shtayura6398e002021-01-11 12:02:11 -080042 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -070043 acl_sets: "default"
44 schedule: "funky schedule"
45 buildbucket: {
46 server: "cr-buildbucket.appspot.com"
47 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -060048 builder: "LegacyRelease"
Mike Frysinger62a02452021-03-16 03:48:34 -040049 tags: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -060050 tags: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -070051 tags: "cbb_display_label:MockLabel"
Mike Frysinger62a02452021-03-16 03:48:34 -040052 properties: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -060053 properties: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -070054 properties: "cbb_display_label:MockLabel"
Don Garrettbe3608b2018-06-05 17:10:09 -070055 properties: "cbb_extra_args:[\\"--buildbot\\"]"
56 }
57}
Mike Frysinger80de5012019-08-01 14:10:53 -040058"""
Don Garrettbe3608b2018-06-05 17:10:09 -070059
60 result = gen_luci_scheduler.genSchedulerJob(build_config)
61 self.assertEqual(result, expected)
62
63 def testGenSchedulerTriggerSimple(self):
64 """Test the trigger creation helper."""
65 trigger_name = 'simple'
66 repo = 'url://repo'
67 refs = ['refs/path']
David Burgercba0d272020-06-24 16:21:26 -060068 path_regexps = ['path/regexps']
Don Garrettbe3608b2018-06-05 17:10:09 -070069 builds = ['test_build']
70
Mike Frysinger80de5012019-08-01 14:10:53 -040071 expected = """
Don Garrettbe3608b2018-06-05 17:10:09 -070072trigger {
73 id: "simple"
Vadim Shtayura6398e002021-01-11 12:02:11 -080074 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -070075 acl_sets: "default"
76 schedule: "with 5m interval"
77 gitiles: {
78 repo: "url://repo"
79 refs: "refs/path"
David Burgercba0d272020-06-24 16:21:26 -060080 path_regexps: "path/regexps"
Don Garrettbe3608b2018-06-05 17:10:09 -070081 }
82 triggers: "test_build"
83}
Mike Frysinger80de5012019-08-01 14:10:53 -040084"""
Don Garrettbe3608b2018-06-05 17:10:09 -070085
86 result = gen_luci_scheduler.genSchedulerTrigger(
David Burgercba0d272020-06-24 16:21:26 -060087 trigger_name, repo, refs, path_regexps, builds)
Don Garrettbe3608b2018-06-05 17:10:09 -070088
89 self.assertEqual(result, expected)
90
91 def testGenSchedulerTriggerComplex(self):
92 """Test the trigger creation helper."""
93 trigger_name = 'complex'
94 repo = 'url://repo'
95 refs = ['refs/path', 'refs/other_path']
96 builds = ['test_build_a', 'test_build_b']
97
Mike Frysinger80de5012019-08-01 14:10:53 -040098 expected = """
Don Garrettbe3608b2018-06-05 17:10:09 -070099trigger {
100 id: "complex"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800101 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700102 acl_sets: "default"
103 schedule: "with 5m interval"
104 gitiles: {
105 repo: "url://repo"
106 refs: "refs/path"
107 refs: "refs/other_path"
108 }
109 triggers: "test_build_a"
110 triggers: "test_build_b"
111}
Mike Frysinger80de5012019-08-01 14:10:53 -0400112"""
Don Garrettbe3608b2018-06-05 17:10:09 -0700113
114 result = gen_luci_scheduler.genSchedulerTrigger(
David Burgercba0d272020-06-24 16:21:26 -0600115 trigger_name, repo, refs, None, builds)
Don Garrettbe3608b2018-06-05 17:10:09 -0700116
117 self.assertEqual(result, expected)
118
Don Garrett8dace272018-07-19 14:07:42 -0700119
120 def testGenSchedulerBranched(self):
121 """Test the job creation helper."""
122 build_config = config_lib_unittest.MockBuildConfig().apply(
123 schedule_branch='mock_branch',
124 schedule='funky schedule',
125 )
126
Mike Frysinger80de5012019-08-01 14:10:53 -0400127 expected = """
Don Garrett8dace272018-07-19 14:07:42 -0700128job {
Mike Nichols9e47e842020-08-11 15:23:56 -0600129 id: "mock_branch-amd64-generic-release"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800130 realm: "cbb-jobs"
Don Garrett8dace272018-07-19 14:07:42 -0700131 acl_sets: "default"
132 schedule: "funky schedule"
133 buildbucket: {
134 server: "cr-buildbucket.appspot.com"
135 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -0600136 builder: "LegacyRelease"
Don Garrett8dace272018-07-19 14:07:42 -0700137 tags: "cbb_branch:mock_branch"
Mike Nichols9e47e842020-08-11 15:23:56 -0600138 tags: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -0700139 tags: "cbb_display_label:MockLabel"
Don Garrett8dace272018-07-19 14:07:42 -0700140 properties: "cbb_branch:mock_branch"
Mike Nichols9e47e842020-08-11 15:23:56 -0600141 properties: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -0700142 properties: "cbb_display_label:MockLabel"
143 properties: "cbb_extra_args:[\\"--buildbot\\"]"
144 }
145}
Mike Frysinger80de5012019-08-01 14:10:53 -0400146"""
Don Garrett73148e52018-08-17 16:54:46 -0700147
148 result = gen_luci_scheduler.genSchedulerJob(build_config)
149 self.assertEqual(result, expected)
150
151 def testGenSchedulerWorkspaceBranch(self):
152 """Test the job creation helper."""
153 build_config = config_lib_unittest.MockBuildConfig().apply(
154 workspace_branch='work_branch',
155 schedule='funky schedule',
156 )
157
Mike Frysinger80de5012019-08-01 14:10:53 -0400158 expected = """
Don Garrett73148e52018-08-17 16:54:46 -0700159job {
Mike Nichols9e47e842020-08-11 15:23:56 -0600160 id: "amd64-generic-release"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800161 realm: "cbb-jobs"
Don Garrett73148e52018-08-17 16:54:46 -0700162 acl_sets: "default"
163 schedule: "funky schedule"
164 buildbucket: {
165 server: "cr-buildbucket.appspot.com"
166 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -0600167 builder: "LegacyRelease"
Mike Frysinger62a02452021-03-16 03:48:34 -0400168 tags: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -0600169 tags: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -0700170 tags: "cbb_display_label:MockLabel"
171 tags: "cbb_workspace_branch:work_branch"
Mike Frysinger62a02452021-03-16 03:48:34 -0400172 properties: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -0600173 properties: "cbb_config:amd64-generic-release"
Don Garrett73148e52018-08-17 16:54:46 -0700174 properties: "cbb_display_label:MockLabel"
175 properties: "cbb_workspace_branch:work_branch"
Don Garrett8dace272018-07-19 14:07:42 -0700176 properties: "cbb_extra_args:[\\"--buildbot\\"]"
177 }
178}
Mike Frysinger80de5012019-08-01 14:10:53 -0400179"""
Don Garrett8dace272018-07-19 14:07:42 -0700180
181 result = gen_luci_scheduler.genSchedulerJob(build_config)
182 self.assertEqual(result, expected)
183
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900184 def testGenSchedulerGomaClientType(self):
185 """Test the job creation helper."""
186 build_config = config_lib_unittest.MockBuildConfig().apply(
187 goma_client_type='client_type',
188 schedule='funky schedule',
189 )
190
Mike Frysinger80de5012019-08-01 14:10:53 -0400191 expected = """
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900192job {
Mike Nichols9e47e842020-08-11 15:23:56 -0600193 id: "amd64-generic-release"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800194 realm: "cbb-jobs"
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900195 acl_sets: "default"
196 schedule: "funky schedule"
197 buildbucket: {
198 server: "cr-buildbucket.appspot.com"
199 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -0600200 builder: "LegacyRelease"
Mike Frysinger62a02452021-03-16 03:48:34 -0400201 tags: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -0600202 tags: "cbb_config:amd64-generic-release"
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900203 tags: "cbb_display_label:MockLabel"
204 tags: "cbb_goma_client_type:client_type"
Mike Frysinger62a02452021-03-16 03:48:34 -0400205 properties: "cbb_branch:main"
Mike Nichols9e47e842020-08-11 15:23:56 -0600206 properties: "cbb_config:amd64-generic-release"
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900207 properties: "cbb_display_label:MockLabel"
208 properties: "cbb_goma_client_type:client_type"
209 properties: "cbb_extra_args:[\\"--buildbot\\"]"
210 }
211}
Mike Frysinger80de5012019-08-01 14:10:53 -0400212"""
Yoshisato Yanagisawa16285b42018-09-19 14:00:58 +0900213
214 result = gen_luci_scheduler.genSchedulerJob(build_config)
215 self.assertEqual(result, expected)
216
Don Garrettbe3608b2018-06-05 17:10:09 -0700217 def testGenLuciSchedulerConfig(self):
218 """Test a full LUCI Scheduler config file."""
219 site_config = config_lib.SiteConfig()
220
221 site_config.Add(
222 'not_scheduled',
Mike Nichols9e47e842020-08-11 15:23:56 -0600223 luci_builder='ReleaseBuilder',
Don Garrettbe3608b2018-06-05 17:10:09 -0700224 display_label='MockLabel',
225 )
226
227 site_config.Add(
228 'build_prod',
Mike Nichols9e47e842020-08-11 15:23:56 -0600229 luci_builder='ReleaseBuilder',
Don Garrettbe3608b2018-06-05 17:10:09 -0700230 display_label='MockLabel',
231 schedule='run once in a while',
232 )
233
234 site_config.Add(
235 'build_tester',
236 luci_builder='TestBuilder',
237 display_label='TestLabel',
238 schedule='run daily',
239 )
240
241 site_config.Add(
242 'build_triggered_a',
Mike Nichols9e47e842020-08-11 15:23:56 -0600243 luci_builder='ReleaseBuilder',
Don Garrettbe3608b2018-06-05 17:10:09 -0700244 display_label='MockLabel',
245 schedule='triggered',
246 triggered_gitiles=[[
247 'gitiles_url_a',
248 ['ref_a', 'ref_b'],
249 ], [
250 'gitiles_url_b',
251 ['ref_c'],
252 ]],
253 )
254
255 site_config.Add(
256 'build_triggered_b',
257 luci_builder='ProdBuilder',
258 display_label='MockLabel',
259 schedule='triggered',
260 triggered_gitiles=[[
261 'gitiles_url_b',
262 ['ref_c'],
263 ]],
264 )
265
Don Garrett8dace272018-07-19 14:07:42 -0700266 default_config = config_lib.GetConfig().GetDefault()
267
268 branch_configs = [
269 default_config.derive(
270 name='branch_tester',
271 luci_builder='TestBuilder',
272 display_label='TestLabel',
273 schedule='run daily',
274 schedule_branch='test-branch',
275 ),
Don Garrett9a0d90c2018-10-30 12:47:14 -0700276 default_config.derive(
277 name='branch_tester_triggered',
278 luci_builder='TestBuilder',
279 display_label='TestLabel',
280 schedule='run daily',
281 schedule_branch='test-branch',
282 triggered_gitiles=[[
283 'gitiles_url_a',
284 ['ref_a', 'ref_b'],
285 ]],
286 ),
Don Garrett8dace272018-07-19 14:07:42 -0700287 ]
288
Mike Frysinger80de5012019-08-01 14:10:53 -0400289 expected = """# Defines buckets on luci-scheduler.appspot.com.
Don Garrettbe3608b2018-06-05 17:10:09 -0700290#
291# For schema of this file and documentation see ProjectConfig message in
Mike Frysinger92dc6492021-02-17 16:01:09 -0500292# https://github.com/luci/luci-go/blob/HEAD/scheduler/appengine/messages/config.proto
Don Garrettbe3608b2018-06-05 17:10:09 -0700293
294# Generated with chromite/scripts/gen_luci_scheduler
295
Don Garrettff45f4b2018-10-04 09:08:01 -0700296# Autodeployed with:
297# http://cros-goldeneye/chromeos/legoland/builderHistory?buildConfig=luci-scheduler-updater
298
Don Garrettbe3608b2018-06-05 17:10:09 -0700299acl_sets {
300 name: "default"
301 acls {
302 role: READER
303 granted_to: "group:googlers"
304 }
305 acls {
306 role: OWNER
307 granted_to: "group:project-chromeos-admins"
308 }
Jason D. Clintona9e374a2018-10-18 18:41:00 -0600309 acls {
310 role: TRIGGERER
311 granted_to: "group:mdb/chromeos-build-access"
LaMont Jones48ddfd92020-09-16 13:46:41 -0600312 }
313 acls {
314 role: TRIGGERER
LaMont Jonesd1bb0002020-09-16 09:35:10 -0600315 granted_to: "group:project-chromeos-buildbucket-schedulers"
Jason D. Clintona9e374a2018-10-18 18:41:00 -0600316 }
Don Garrettbe3608b2018-06-05 17:10:09 -0700317}
318
319trigger {
320 id: "trigger_0"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800321 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700322 acl_sets: "default"
323 schedule: "with 5m interval"
324 gitiles: {
325 repo: "gitiles_url_a"
326 refs: "ref_a"
327 refs: "ref_b"
328 }
329 triggers: "build_triggered_a"
Don Garrett9a0d90c2018-10-30 12:47:14 -0700330 triggers: "test-branch-branch_tester_triggered"
Don Garrettbe3608b2018-06-05 17:10:09 -0700331}
332
333trigger {
334 id: "trigger_1"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800335 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700336 acl_sets: "default"
337 schedule: "with 5m interval"
338 gitiles: {
339 repo: "gitiles_url_b"
340 refs: "ref_c"
341 }
342 triggers: "build_triggered_a"
343 triggers: "build_triggered_b"
344}
345
346job {
347 id: "build_prod"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800348 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700349 acl_sets: "default"
350 schedule: "run once in a while"
351 buildbucket: {
352 server: "cr-buildbucket.appspot.com"
353 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -0600354 builder: "ReleaseBuilder"
Mike Frysinger62a02452021-03-16 03:48:34 -0400355 tags: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700356 tags: "cbb_config:build_prod"
Don Garrett73148e52018-08-17 16:54:46 -0700357 tags: "cbb_display_label:MockLabel"
Mike Frysinger62a02452021-03-16 03:48:34 -0400358 properties: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700359 properties: "cbb_config:build_prod"
Don Garrett73148e52018-08-17 16:54:46 -0700360 properties: "cbb_display_label:MockLabel"
Don Garrettbe3608b2018-06-05 17:10:09 -0700361 properties: "cbb_extra_args:[\\"--buildbot\\"]"
362 }
363}
364
365job {
366 id: "build_tester"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800367 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700368 acl_sets: "default"
369 schedule: "run daily"
370 buildbucket: {
371 server: "cr-buildbucket.appspot.com"
372 bucket: "luci.chromeos.general"
373 builder: "TestBuilder"
Mike Frysinger62a02452021-03-16 03:48:34 -0400374 tags: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700375 tags: "cbb_config:build_tester"
Don Garrett73148e52018-08-17 16:54:46 -0700376 tags: "cbb_display_label:TestLabel"
Mike Frysinger62a02452021-03-16 03:48:34 -0400377 properties: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700378 properties: "cbb_config:build_tester"
Don Garrett73148e52018-08-17 16:54:46 -0700379 properties: "cbb_display_label:TestLabel"
Don Garrettbe3608b2018-06-05 17:10:09 -0700380 properties: "cbb_extra_args:[\\"--buildbot\\"]"
381 }
382}
383
384job {
385 id: "build_triggered_a"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800386 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700387 acl_sets: "default"
388 schedule: "triggered"
389 buildbucket: {
390 server: "cr-buildbucket.appspot.com"
391 bucket: "luci.chromeos.general"
Mike Nichols9e47e842020-08-11 15:23:56 -0600392 builder: "ReleaseBuilder"
Mike Frysinger62a02452021-03-16 03:48:34 -0400393 tags: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700394 tags: "cbb_config:build_triggered_a"
Don Garrett73148e52018-08-17 16:54:46 -0700395 tags: "cbb_display_label:MockLabel"
Mike Frysinger62a02452021-03-16 03:48:34 -0400396 properties: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700397 properties: "cbb_config:build_triggered_a"
Don Garrett73148e52018-08-17 16:54:46 -0700398 properties: "cbb_display_label:MockLabel"
Don Garrettbe3608b2018-06-05 17:10:09 -0700399 properties: "cbb_extra_args:[\\"--buildbot\\"]"
400 }
401}
402
403job {
404 id: "build_triggered_b"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800405 realm: "cbb-jobs"
Don Garrettbe3608b2018-06-05 17:10:09 -0700406 acl_sets: "default"
407 schedule: "triggered"
408 buildbucket: {
409 server: "cr-buildbucket.appspot.com"
410 bucket: "luci.chromeos.general"
411 builder: "ProdBuilder"
Mike Frysinger62a02452021-03-16 03:48:34 -0400412 tags: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700413 tags: "cbb_config:build_triggered_b"
Don Garrett73148e52018-08-17 16:54:46 -0700414 tags: "cbb_display_label:MockLabel"
Mike Frysinger62a02452021-03-16 03:48:34 -0400415 properties: "cbb_branch:main"
Don Garrettbe3608b2018-06-05 17:10:09 -0700416 properties: "cbb_config:build_triggered_b"
Don Garrett73148e52018-08-17 16:54:46 -0700417 properties: "cbb_display_label:MockLabel"
Don Garrettbe3608b2018-06-05 17:10:09 -0700418 properties: "cbb_extra_args:[\\"--buildbot\\"]"
419 }
420}
Don Garrett8dace272018-07-19 14:07:42 -0700421
422job {
423 id: "test-branch-branch_tester"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800424 realm: "cbb-jobs"
Don Garrett8dace272018-07-19 14:07:42 -0700425 acl_sets: "default"
426 schedule: "run daily"
427 buildbucket: {
428 server: "cr-buildbucket.appspot.com"
429 bucket: "luci.chromeos.general"
430 builder: "TestBuilder"
431 tags: "cbb_branch:test-branch"
Don Garrett8dace272018-07-19 14:07:42 -0700432 tags: "cbb_config:branch_tester"
Don Garrett73148e52018-08-17 16:54:46 -0700433 tags: "cbb_display_label:TestLabel"
Don Garrett8dace272018-07-19 14:07:42 -0700434 properties: "cbb_branch:test-branch"
Don Garrett8dace272018-07-19 14:07:42 -0700435 properties: "cbb_config:branch_tester"
Don Garrett73148e52018-08-17 16:54:46 -0700436 properties: "cbb_display_label:TestLabel"
Don Garrett8dace272018-07-19 14:07:42 -0700437 properties: "cbb_extra_args:[\\"--buildbot\\"]"
438 }
439}
Don Garrett9a0d90c2018-10-30 12:47:14 -0700440
441job {
442 id: "test-branch-branch_tester_triggered"
Vadim Shtayura6398e002021-01-11 12:02:11 -0800443 realm: "cbb-jobs"
Don Garrett9a0d90c2018-10-30 12:47:14 -0700444 acl_sets: "default"
445 schedule: "run daily"
446 buildbucket: {
447 server: "cr-buildbucket.appspot.com"
448 bucket: "luci.chromeos.general"
449 builder: "TestBuilder"
450 tags: "cbb_branch:test-branch"
451 tags: "cbb_config:branch_tester_triggered"
452 tags: "cbb_display_label:TestLabel"
453 properties: "cbb_branch:test-branch"
454 properties: "cbb_config:branch_tester_triggered"
455 properties: "cbb_display_label:TestLabel"
456 properties: "cbb_extra_args:[\\"--buildbot\\"]"
457 }
458}
Mike Frysinger80de5012019-08-01 14:10:53 -0400459"""
Don Garrett8dace272018-07-19 14:07:42 -0700460 result = gen_luci_scheduler.genLuciSchedulerConfig(
461 site_config, branch_configs)
Don Garrettbe3608b2018-06-05 17:10:09 -0700462
463 self.assertEqual(result, expected)