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

Side by Side Diff: appengine/cr-buildbucket/test/service_test.py

Issue 1877083003: buildbucket: add retry API. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: add retry_of tag 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 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 contextlib 5 import contextlib
6 import datetime 6 import datetime
7 7
8 from components import auth 8 from components import auth
9 from components import utils 9 from components import utils
10 from google.appengine.ext import ndb 10 from google.appengine.ext import ndb
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 102
103 def test_add_with_auth_error(self): 103 def test_add_with_auth_error(self):
104 self.mock_cannot(acl.Action.ADD_BUILD) 104 self.mock_cannot(acl.Action.ADD_BUILD)
105 with self.assertRaises(auth.AuthorizationError): 105 with self.assertRaises(auth.AuthorizationError):
106 service.add(self.test_build.bucket) 106 service.add(self.test_build.bucket)
107 107
108 def test_add_with_bad_parameters(self): 108 def test_add_with_bad_parameters(self):
109 with self.assertRaises(errors.InvalidInputError): 109 with self.assertRaises(errors.InvalidInputError):
110 service.add('bucket', parameters=[]) 110 service.add('bucket', parameters=[])
111 111
112 ################################### RETRY ####################################
113
114 def test_retry(self):
115 self.test_build.put()
116 build = service.retry(self.test_build.key.id())
117 self.assertIsNotNone(build)
118 self.assertIsNotNone(build.key)
119 self.assertNotEqual(build.key.id(), self.test_build.key.id())
120 self.assertEqual(build.bucket, self.test_build.bucket)
121 self.assertEqual(build.parameters, self.test_build.parameters)
122 self.assertIn('retry_of:%s' % self.test_build.key.id(), build.tags)
123
124 def test_retry_not_found(self):
125 with self.assertRaises(errors.BuildNotFoundError):
126 service.retry(2)
127
112 #################################### GET ##################################### 128 #################################### GET #####################################
113 129
114 def test_get(self): 130 def test_get(self):
115 self.test_build.put() 131 self.test_build.put()
116 build = service.get(self.test_build.key.id()) 132 build = service.get(self.test_build.key.id())
117 self.assertEqual(build, self.test_build) 133 self.assertEqual(build, self.test_build)
118 134
119 def test_get_nonexistent_build(self): 135 def test_get_nonexistent_build(self):
120 self.assertIsNone(service.get(42)) 136 self.assertIsNone(service.get(42))
121 137
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 self.test_build.bucket, model.BuildStatus.SCHEDULED) 784 self.test_build.bucket, model.BuildStatus.SCHEDULED)
769 785
770 def test_delete_many_builds_schedule_task(self): 786 def test_delete_many_builds_schedule_task(self):
771 service.delete_many_builds( 787 service.delete_many_builds(
772 self.test_build.bucket, model.BuildStatus.SCHEDULED) 788 self.test_build.bucket, model.BuildStatus.SCHEDULED)
773 789
774 def test_delete_many_completed_builds(self): 790 def test_delete_many_completed_builds(self):
775 with self.assertRaises(errors.InvalidInputError): 791 with self.assertRaises(errors.InvalidInputError):
776 service.delete_many_builds( 792 service.delete_many_builds(
777 self.test_build.bucket, model.BuildStatus.COMPLETED) 793 self.test_build.bucket, model.BuildStatus.COMPLETED)
OLDNEW
« appengine/cr-buildbucket/service.py ('K') | « appengine/cr-buildbucket/test/api_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698