| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. | 1 // Copyright 2015 The LUCI Authors. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 Revision: "rev1", | 97 Revision: "rev1", |
| 98 Enabled: true, | 98 Enabled: true, |
| 99 Schedule: "*/5 * * * * * *", | 99 Schedule: "*/5 * * * * * *", |
| 100 State: JobState{ | 100 State: JobState{ |
| 101 State: "SCHEDULED", | 101 State: "SCHEDULED", |
| 102 TickNonce: 6278013164014963328, | 102 TickNonce: 6278013164014963328, |
| 103 TickTime: epoch.Add(5 * time.Second), | 103 TickTime: epoch.Add(5 * time.Second), |
| 104 }, | 104 }, |
| 105 }, | 105 }, |
| 106 }) | 106 }) |
| 107 |
| 108 // TODO(tandrii): delete and update above definition after no-AC
L -> ACL transition. |
| 109 // Simulate ACL version roll without change of project config. |
| 110 So(e.UpdateProjectJobs(c, "abc", []catalog.Definition{ |
| 111 { |
| 112 JobID: "abc/1", |
| 113 Revision: "rev1", |
| 114 Schedule: "*/5 * * * * * *", |
| 115 Acls: acl.GrantsByRole{Readers: []string{"gr
oup:r"}, Owners: []string{"groups:o"}}, |
| 116 }}), ShouldBeNil) |
| 117 So(allJobs(c), ShouldResemble, []Job{ |
| 118 { |
| 119 JobID: "abc/1", |
| 120 ProjectID: "abc", |
| 121 Revision: "rev1", |
| 122 Enabled: true, |
| 123 Acls: acl.GrantsByRole{Readers: []string{"g
roup:r"}, Owners: []string{"groups:o"}}, |
| 124 Schedule: "*/5 * * * * * *", |
| 125 State: JobState{ |
| 126 State: "SCHEDULED", |
| 127 TickNonce: 6278013164014963328, |
| 128 TickTime: epoch.Add(5 * time.Second), |
| 129 }, |
| 130 }, |
| 131 }) |
| 132 |
| 107 // Enqueued timer task to launch it. | 133 // Enqueued timer task to launch it. |
| 108 task := ensureOneTask(c, "timers-q") | 134 task := ensureOneTask(c, "timers-q") |
| 109 So(task.Path, ShouldEqual, "/timers") | 135 So(task.Path, ShouldEqual, "/timers") |
| 110 So(task.ETA, ShouldResemble, epoch.Add(5*time.Second)) | 136 So(task.ETA, ShouldResemble, epoch.Add(5*time.Second)) |
| 111 tq.GetTestable(c).ResetTasks() | 137 tq.GetTestable(c).ResetTasks() |
| 112 | 138 |
| 113 // Readding same job in with exact same config revision -> noop. | 139 // Readding same job in with exact same config revision -> noop. |
| 114 So(e.UpdateProjectJobs(c, "abc", []catalog.Definition{ | 140 So(e.UpdateProjectJobs(c, "abc", []catalog.Definition{ |
| 115 { | 141 { |
| 116 JobID: "abc/1", | 142 JobID: "abc/1", |
| (...skipping 1116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1233 | 1259 |
| 1234 func ensureOneTask(c context.Context, q string) *tq.Task { | 1260 func ensureOneTask(c context.Context, q string) *tq.Task { |
| 1235 tqt := tq.GetTestable(c) | 1261 tqt := tq.GetTestable(c) |
| 1236 tasks := tqt.GetScheduledTasks()[q] | 1262 tasks := tqt.GetScheduledTasks()[q] |
| 1237 So(len(tasks), ShouldEqual, 1) | 1263 So(len(tasks), ShouldEqual, 1) |
| 1238 for _, t := range tasks { | 1264 for _, t := range tasks { |
| 1239 return t | 1265 return t |
| 1240 } | 1266 } |
| 1241 return nil | 1267 return nil |
| 1242 } | 1268 } |
| OLD | NEW |