def test_pause_bucket(self): config.put_bucket( 'chromium', 'a' * 40, test_util.parse_bucket_cfg('name: "master.foo"'), ) config.put_bucket( 'chromium', 'a' * 40, test_util.parse_bucket_cfg('name: "master.bar"'), ) self.put_many_builds(5, builder=dict(project='chromium', bucket='master.foo')) self.put_many_builds(5, builder=dict(project='chromium', bucket='master.bar')) service.pause('chromium/master.foo', True) builds, _ = service.peek( ['chromium/master.foo', 'chromium/master.bar']) self.assertEqual(len(builds), 5) self.assertTrue( all(b.bucket_id == 'chromium/master.bar' for b in builds))
def test_pause_all_requested_buckets(self): config.put_bucket( 'chromium', 'a' * 40, test_util.parse_bucket_cfg('name: "master.foo"'), ) self.put_many_builds(5, builder=dict(project='chromium', bucket='master.foo')) service.pause('chromium/master.foo', True) builds, _ = service.peek(['chromium/master.foo']) self.assertEqual(len(builds), 0)
def test_pause_then_unpause(self): build = self.classic_build( builder=dict(project='chromium', bucket='try')) build.put() config.put_bucket( 'chromium', 'a' * 40, test_util.parse_bucket_cfg('name: "ci"'), ) service.pause(build.bucket_id, True) service.pause(build.bucket_id, True) # Again, to cover equality case. builds, _ = service.peek([build.bucket_id]) self.assertEqual(len(builds), 0) service.pause(build.bucket_id, False) builds, _ = service.peek([build.bucket_id]) self.assertEqual(len(builds), 1)
def test_pause_luci_bucket(self): with self.assertRaises(errors.InvalidInputError): service.pause('chromium/luci', True)
def test_pause_invalid_bucket(self): config.get_bucket_async.return_value = future((None, None)) with self.assertRaises(errors.InvalidInputError): service.pause('a/#', True)
def test_pause_bucket_auth_error(self): self.mock_cannot(user.Action.PAUSE_BUCKET) with self.assertRaises(auth.AuthorizationError): service.pause('chromium/no.such.bucket', True)
def pause(self, request): """Pauses or unpause a bucket.""" service.pause(request.bucket, request.is_paused) return self.PauseResponse()