Index: appengine/cr-buildbucket/test/service_test.py |
diff --git a/appengine/cr-buildbucket/test/service_test.py b/appengine/cr-buildbucket/test/service_test.py |
index bdef6d14099d94b6ed668559bb8a992e4c8cf794..129e9320deb26d594d70913a74938484f5e177d2 100644 |
--- a/appengine/cr-buildbucket/test/service_test.py |
+++ b/appengine/cr-buildbucket/test/service_test.py |
@@ -8,6 +8,7 @@ import json |
from components import auth |
from components import utils |
+from google.appengine.datastore import datastore_stub_util |
from google.appengine.ext import testbed |
from testing_utils import testing |
import mock |
@@ -29,6 +30,11 @@ class BuildBucketServiceTest(testing.AppengineTestCase): |
self.mock(acl, 'can', can) |
def setUp(self): |
+ # Create a consistency policy that will simulate the High Replication |
+ # consistency model. |
+ self.consistency_policy = ( |
+ datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=1.0)) |
+ |
super(BuildBucketServiceTest, self).setUp() |
self.service = service.BuildBucketService() |
self.test_build = model.Build( |
@@ -86,6 +92,30 @@ class BuildBucketServiceTest(testing.AppengineTestCase): |
with self.assertRaises(auth.AuthorizationError): |
self.service.add(self.test_build.bucket) |
+ ################################# ADD_BATCH ################################## |
+ |
+ def test_add_batch(self): |
+ builds = self.service.add_batch([{'bucket': 'chromium'}, {'bucket': 'v8'}]) |
+ self.assertEqual(len(builds), 2) |
+ |
+ self.assertIsNotNone(builds[0].key) |
+ self.assertIsNotNone(builds[0].key.id()) |
+ self.assertEqual(builds[0].bucket, 'chromium') |
+ |
+ self.assertIsNotNone(builds[1].key) |
+ self.assertIsNotNone(builds[1].key.id()) |
+ self.assertEqual(builds[1].bucket, 'v8') |
+ |
+ def test_add_batch_too_many(self): |
+ build_reqs = [{'bucket': 'chromium'}] * 30 |
+ with self.assertRaises(errors.InvalidInputError): |
+ self.service.add_batch(build_reqs) |
+ |
+ def test_add_batch_with_bad_build(self): |
+ with self.assertRaises(errors.InvalidInputError): |
+ self.service.add_batch([{'bucket': 'chromium'}, {'bucket': 2}]) |
+ self.assertFalse(model.Build.query().fetch()) |
+ |
#################################### GET ##################################### |
def test_get(self): |