Skip to content

Commit 2db4b5d

Browse files
committed
1 parent b9db057 commit 2db4b5d

File tree

1 file changed

+31
-107
lines changed

1 file changed

+31
-107
lines changed

gcloud/datastore/test_connection.py

Lines changed: 31 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ def _getTargetClass(self):
2525
def _makeOne(self, *args, **kw):
2626
return self._getTargetClass()(*args, **kw)
2727

28+
def _verifyProtobufCall(self, called_with, URI, conn):
29+
self.assertEqual(called_with['uri'], URI)
30+
self.assertEqual(called_with['method'], 'POST')
31+
self.assertEqual(called_with['headers']['Content-Type'],
32+
'application/x-protobuf')
33+
self.assertEqual(called_with['headers']['User-Agent'],
34+
conn.USER_AGENT)
35+
2836
def test_ctor_defaults(self):
2937
conn = self._makeOne()
3038
self.assertEqual(conn.credentials, None)
@@ -75,12 +83,7 @@ def test__request_w_200(self):
7583
])
7684
http = conn._http = Http({'status': '200'}, 'CONTENT')
7785
self.assertEqual(conn._request(DATASET_ID, METHOD, DATA), 'CONTENT')
78-
self.assertEqual(http._called_with['uri'], URI)
79-
self.assertEqual(http._called_with['method'], 'POST')
80-
self.assertEqual(http._called_with['headers']['Content-Type'],
81-
'application/x-protobuf')
82-
self.assertEqual(http._called_with['headers']['User-Agent'],
83-
conn.USER_AGENT)
86+
self._verifyProtobufCall(http._called_with, URI, conn)
8487
self.assertEqual(http._called_with['body'], DATA)
8588

8689
def test__request_not_200(self):
@@ -126,12 +129,7 @@ def FromString(cls, pb):
126129
response = conn._rpc(DATASET_ID, METHOD, ReqPB(), RspPB)
127130
self.assertTrue(isinstance(response, RspPB))
128131
self.assertEqual(response._pb, 'CONTENT')
129-
self.assertEqual(http._called_with['uri'], URI)
130-
self.assertEqual(http._called_with['method'], 'POST')
131-
self.assertEqual(http._called_with['headers']['Content-Type'],
132-
'application/x-protobuf')
133-
self.assertEqual(http._called_with['headers']['User-Agent'],
134-
conn.USER_AGENT)
132+
self._verifyProtobufCall(http._called_with, URI, conn)
135133
self.assertEqual(http._called_with['body'], REQPB)
136134

137135
def test_build_api_url_w_default_base_version(self):
@@ -225,11 +223,7 @@ def test_lookup_single_key_empty_response(self):
225223
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
226224
self.assertEqual(conn.lookup(DATASET_ID, key_pb), None)
227225
cw = http._called_with
228-
self.assertEqual(cw['uri'], URI)
229-
self.assertEqual(cw['method'], 'POST')
230-
self.assertEqual(cw['headers']['Content-Type'],
231-
'application/x-protobuf')
232-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
226+
self._verifyProtobufCall(cw, URI, conn)
233227
rq_class = datastore_pb.LookupRequest
234228
request = rq_class()
235229
request.ParseFromString(cw['body'])
@@ -261,11 +255,7 @@ def test_lookup_single_key_nonempty_response(self):
261255
self.assertEqual(found.key.path_element[0].kind, 'Kind')
262256
self.assertEqual(found.key.path_element[0].id, 1234)
263257
cw = http._called_with
264-
self.assertEqual(cw['uri'], URI)
265-
self.assertEqual(cw['method'], 'POST')
266-
self.assertEqual(cw['headers']['Content-Type'],
267-
'application/x-protobuf')
268-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
258+
self._verifyProtobufCall(cw, URI, conn)
269259
rq_class = datastore_pb.LookupRequest
270260
request = rq_class()
271261
request.ParseFromString(cw['body'])
@@ -293,11 +283,7 @@ def test_lookup_multiple_keys_empty_response(self):
293283
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
294284
self.assertEqual(conn.lookup(DATASET_ID, [key_pb1, key_pb2]), [])
295285
cw = http._called_with
296-
self.assertEqual(cw['uri'], URI)
297-
self.assertEqual(cw['method'], 'POST')
298-
self.assertEqual(cw['headers']['Content-Type'],
299-
'application/x-protobuf')
300-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
286+
self._verifyProtobufCall(cw, URI, conn)
301287
rq_class = datastore_pb.LookupRequest
302288
request = rq_class()
303289
request.ParseFromString(cw['body'])
@@ -334,11 +320,7 @@ def test_lookup_multiple_keys_w_missing(self):
334320
self.assertEqual([missed.key for missed in missing],
335321
[key_pb1, key_pb2])
336322
cw = http._called_with
337-
self.assertEqual(cw['uri'], URI)
338-
self.assertEqual(cw['method'], 'POST')
339-
self.assertEqual(cw['headers']['Content-Type'],
340-
'application/x-protobuf')
341-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
323+
self._verifyProtobufCall(cw, URI, conn)
342324
rq_class = datastore_pb.LookupRequest
343325
request = rq_class()
344326
request.ParseFromString(cw['body'])
@@ -372,6 +354,7 @@ def test_lookup_multiple_keys_w_deferred(self):
372354
self.assertEqual(result, [])
373355
self.assertEqual([def_key for def_key in deferred], [key_pb1, key_pb2])
374356
cw = http._called_with
357+
self._verifyProtobufCall(cw, URI, conn)
375358
self.assertEqual(cw['uri'], URI)
376359
self.assertEqual(cw['method'], 'POST')
377360
self.assertEqual(cw['headers']['Content-Type'],
@@ -424,22 +407,15 @@ def test_lookup_multiple_keys_w_deferred_from_backend_but_not_passed(self):
424407
rq_class = datastore_pb.LookupRequest
425408
request = rq_class()
426409
self.assertEqual(len(cw), 2)
427-
self.assertEqual(cw[0]['uri'], URI)
428-
self.assertEqual(cw[0]['method'], 'POST')
429-
self.assertEqual(cw[0]['headers']['Content-Type'],
430-
'application/x-protobuf')
431-
self.assertEqual(cw[0]['headers']['User-Agent'], conn.USER_AGENT)
410+
411+
self._verifyProtobufCall(cw[0], URI, conn)
432412
request.ParseFromString(cw[0]['body'])
433413
keys = list(request.key)
434414
self.assertEqual(len(keys), 2)
435415
self.assertEqual(keys[0], key_pb1)
436416
self.assertEqual(keys[1], key_pb2)
437417

438-
self.assertEqual(cw[1]['uri'], URI)
439-
self.assertEqual(cw[1]['method'], 'POST')
440-
self.assertEqual(cw[1]['headers']['Content-Type'],
441-
'application/x-protobuf')
442-
self.assertEqual(cw[1]['headers']['User-Agent'], conn.USER_AGENT)
418+
self._verifyProtobufCall(cw[1], URI, conn)
443419
request.ParseFromString(cw[1]['body'])
444420
keys = list(request.key)
445421
self.assertEqual(len(keys), 1)
@@ -469,11 +445,7 @@ def test_run_query_wo_namespace_empty_result(self):
469445
self.assertTrue(more)
470446
self.assertEqual(skipped, 0)
471447
cw = http._called_with
472-
self.assertEqual(cw['uri'], URI)
473-
self.assertEqual(cw['method'], 'POST')
474-
self.assertEqual(cw['headers']['Content-Type'],
475-
'application/x-protobuf')
476-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
448+
self._verifyProtobufCall(cw, URI, conn)
477449
rq_class = datastore_pb.RunQueryRequest
478450
request = rq_class()
479451
request.ParseFromString(cw['body'])
@@ -505,11 +477,7 @@ def test_run_query_w_namespace_nonempty_result(self):
505477
pbs = conn.run_query(DATASET_ID, q_pb, 'NS')[0]
506478
self.assertEqual(len(pbs), 1)
507479
cw = http._called_with
508-
self.assertEqual(cw['uri'], URI)
509-
self.assertEqual(cw['method'], 'POST')
510-
self.assertEqual(cw['headers']['Content-Type'],
511-
'application/x-protobuf')
512-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
480+
self._verifyProtobufCall(cw, URI, conn)
513481
rq_class = datastore_pb.RunQueryRequest
514482
request = rq_class()
515483
request.ParseFromString(cw['body'])
@@ -541,11 +509,7 @@ def test_begin_transaction_default_serialize(self):
541509
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
542510
self.assertEqual(conn.begin_transaction(DATASET_ID), TRANSACTION)
543511
cw = http._called_with
544-
self.assertEqual(cw['uri'], URI)
545-
self.assertEqual(cw['method'], 'POST')
546-
self.assertEqual(cw['headers']['Content-Type'],
547-
'application/x-protobuf')
548-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
512+
self._verifyProtobufCall(cw, URI, conn)
549513
rq_class = datastore_pb.BeginTransactionRequest
550514
request = rq_class()
551515
request.ParseFromString(cw['body'])
@@ -570,11 +534,7 @@ def test_begin_transaction_explicit_serialize(self):
570534
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
571535
self.assertEqual(conn.begin_transaction(DATASET_ID, True), TRANSACTION)
572536
cw = http._called_with
573-
self.assertEqual(cw['uri'], URI)
574-
self.assertEqual(cw['method'], 'POST')
575-
self.assertEqual(cw['headers']['Content-Type'],
576-
'application/x-protobuf')
577-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
537+
self._verifyProtobufCall(cw, URI, conn)
578538
rq_class = datastore_pb.BeginTransactionRequest
579539
request = rq_class()
580540
request.ParseFromString(cw['body'])
@@ -607,11 +567,7 @@ def test_commit_wo_transaction(self):
607567
self.assertEqual(result.index_updates, 0)
608568
self.assertEqual(list(result.insert_auto_id_key), [])
609569
cw = http._called_with
610-
self.assertEqual(cw['uri'], URI)
611-
self.assertEqual(cw['method'], 'POST')
612-
self.assertEqual(cw['headers']['Content-Type'],
613-
'application/x-protobuf')
614-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
570+
self._verifyProtobufCall(cw, URI, conn)
615571
rq_class = datastore_pb.CommitRequest
616572
request = rq_class()
617573
request.ParseFromString(cw['body'])
@@ -650,11 +606,7 @@ def id(self):
650606
self.assertEqual(result.index_updates, 0)
651607
self.assertEqual(list(result.insert_auto_id_key), [])
652608
cw = http._called_with
653-
self.assertEqual(cw['uri'], URI)
654-
self.assertEqual(cw['method'], 'POST')
655-
self.assertEqual(cw['headers']['Content-Type'],
656-
'application/x-protobuf')
657-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
609+
self._verifyProtobufCall(cw, URI, conn)
658610
rq_class = datastore_pb.CommitRequest
659611
request = rq_class()
660612
request.ParseFromString(cw['body'])
@@ -703,11 +655,7 @@ def id(self):
703655
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
704656
self.assertEqual(conn.rollback(DATASET_ID), None)
705657
cw = http._called_with
706-
self.assertEqual(cw['uri'], URI)
707-
self.assertEqual(cw['method'], 'POST')
708-
self.assertEqual(cw['headers']['Content-Type'],
709-
'application/x-protobuf')
710-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
658+
self._verifyProtobufCall(cw, URI, conn)
711659
rq_class = datastore_pb.RollbackRequest
712660
request = rq_class()
713661
request.ParseFromString(cw['body'])
@@ -730,11 +678,7 @@ def test_allocate_ids_empty(self):
730678
http = conn._http = Http({'status': '200'}, rsp_pb.SerializeToString())
731679
self.assertEqual(conn.allocate_ids(DATASET_ID, []), [])
732680
cw = http._called_with
733-
self.assertEqual(cw['uri'], URI)
734-
self.assertEqual(cw['method'], 'POST')
735-
self.assertEqual(cw['headers']['Content-Type'],
736-
'application/x-protobuf')
737-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
681+
self._verifyProtobufCall(cw, URI, conn)
738682
rq_class = datastore_pb.AllocateIdsRequest
739683
request = rq_class()
740684
request.ParseFromString(cw['body'])
@@ -769,11 +713,7 @@ def test_allocate_ids_non_empty(self):
769713
self.assertEqual(conn.allocate_ids(DATASET_ID, before_key_pbs),
770714
after_key_pbs)
771715
cw = http._called_with
772-
self.assertEqual(cw['uri'], URI)
773-
self.assertEqual(cw['method'], 'POST')
774-
self.assertEqual(cw['headers']['Content-Type'],
775-
'application/x-protobuf')
776-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
716+
self._verifyProtobufCall(cw, URI, conn)
777717
rq_class = datastore_pb.AllocateIdsRequest
778718
request = rq_class()
779719
request.ParseFromString(cw['body'])
@@ -799,11 +739,7 @@ def test_save_entity_wo_transaction_w_upsert(self):
799739
result = conn.save_entity(DATASET_ID, key_pb, {'foo': u'Foo'})
800740
self.assertEqual(result, True)
801741
cw = http._called_with
802-
self.assertEqual(cw['uri'], URI)
803-
self.assertEqual(cw['method'], 'POST')
804-
self.assertEqual(cw['headers']['Content-Type'],
805-
'application/x-protobuf')
806-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
742+
self._verifyProtobufCall(cw, URI, conn)
807743
rq_class = datastore_pb.CommitRequest
808744
request = rq_class()
809745
request.ParseFromString(cw['body'])
@@ -845,11 +781,7 @@ def test_save_entity_w_exclude_from_indexes(self):
845781
exclude_from_indexes=['foo', 'bar'])
846782
self.assertEqual(result, True)
847783
cw = http._called_with
848-
self.assertEqual(cw['uri'], URI)
849-
self.assertEqual(cw['method'], 'POST')
850-
self.assertEqual(cw['headers']['Content-Type'],
851-
'application/x-protobuf')
852-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
784+
self._verifyProtobufCall(cw, URI, conn)
853785
rq_class = datastore_pb.CommitRequest
854786
request = rq_class()
855787
request.ParseFromString(cw['body'])
@@ -901,11 +833,7 @@ def test_save_entity_wo_transaction_w_auto_id(self):
901833
result = conn.save_entity(DATASET_ID, key_pb, {'foo': u'Foo'})
902834
self.assertEqual(result, updated_key_pb)
903835
cw = http._called_with
904-
self.assertEqual(cw['uri'], URI)
905-
self.assertEqual(cw['method'], 'POST')
906-
self.assertEqual(cw['headers']['Content-Type'],
907-
'application/x-protobuf')
908-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
836+
self._verifyProtobufCall(cw, URI, conn)
909837
rq_class = datastore_pb.CommitRequest
910838
request = rq_class()
911839
request.ParseFromString(cw['body'])
@@ -989,11 +917,7 @@ def test_delete_entities_wo_transaction(self):
989917
result = conn.delete_entities(DATASET_ID, [key_pb])
990918
self.assertEqual(result, True)
991919
cw = http._called_with
992-
self.assertEqual(cw['uri'], URI)
993-
self.assertEqual(cw['method'], 'POST')
994-
self.assertEqual(cw['headers']['Content-Type'],
995-
'application/x-protobuf')
996-
self.assertEqual(cw['headers']['User-Agent'], conn.USER_AGENT)
920+
self._verifyProtobufCall(cw, URI, conn)
997921
rq_class = datastore_pb.CommitRequest
998922
request = rq_class()
999923
request.ParseFromString(cw['body'])

0 commit comments

Comments
 (0)