@@ -235,7 +235,7 @@ def test_lookup_single_key_empty_response(self):
235235 request .ParseFromString (cw ['body' ])
236236 keys = list (request .key )
237237 self .assertEqual (len (keys ), 1 )
238- self . assertEqual ( keys [0 ], key_pb )
238+ _compare_key_pb_after_request ( self , key_pb , keys [0 ])
239239
240240 def test_lookup_single_key_empty_response_w_eventual (self ):
241241 from gcloud .datastore .connection import datastore_pb
@@ -261,7 +261,7 @@ def test_lookup_single_key_empty_response_w_eventual(self):
261261 request .ParseFromString (cw ['body' ])
262262 keys = list (request .key )
263263 self .assertEqual (len (keys ), 1 )
264- self . assertEqual ( keys [0 ], key_pb )
264+ _compare_key_pb_after_request ( self , key_pb , keys [0 ])
265265 self .assertEqual (request .read_options .read_consistency ,
266266 datastore_pb .ReadOptions .EVENTUAL )
267267 self .assertEqual (request .read_options .transaction , '' )
@@ -301,7 +301,7 @@ def test_lookup_single_key_empty_response_w_transaction(self):
301301 request .ParseFromString (cw ['body' ])
302302 keys = list (request .key )
303303 self .assertEqual (len (keys ), 1 )
304- self . assertEqual ( keys [0 ], key_pb )
304+ _compare_key_pb_after_request ( self , key_pb , keys [0 ])
305305 self .assertEqual (request .read_options .transaction , TRANSACTION )
306306
307307 def test_lookup_single_key_nonempty_response (self ):
@@ -333,7 +333,7 @@ def test_lookup_single_key_nonempty_response(self):
333333 request .ParseFromString (cw ['body' ])
334334 keys = list (request .key )
335335 self .assertEqual (len (keys ), 1 )
336- self . assertEqual ( keys [0 ], key_pb )
336+ _compare_key_pb_after_request ( self , key_pb , keys [0 ])
337337
338338 def test_lookup_multiple_keys_empty_response (self ):
339339 from gcloud .datastore .connection import datastore_pb
@@ -360,8 +360,8 @@ def test_lookup_multiple_keys_empty_response(self):
360360 request .ParseFromString (cw ['body' ])
361361 keys = list (request .key )
362362 self .assertEqual (len (keys ), 2 )
363- self . assertEqual ( keys [0 ], key_pb1 )
364- self . assertEqual ( keys [1 ], key_pb2 )
363+ _compare_key_pb_after_request ( self , key_pb1 , keys [0 ])
364+ _compare_key_pb_after_request ( self , key_pb2 , keys [1 ])
365365
366366 def test_lookup_multiple_keys_w_missing (self ):
367367 from gcloud .datastore .connection import datastore_pb
@@ -396,8 +396,8 @@ def test_lookup_multiple_keys_w_missing(self):
396396 request .ParseFromString (cw ['body' ])
397397 keys = list (request .key )
398398 self .assertEqual (len (keys ), 2 )
399- self . assertEqual ( keys [0 ], key_pb1 )
400- self . assertEqual ( keys [1 ], key_pb2 )
399+ _compare_key_pb_after_request ( self , key_pb1 , keys [0 ])
400+ _compare_key_pb_after_request ( self , key_pb2 , keys [1 ])
401401
402402 def test_lookup_multiple_keys_w_missing_non_empty (self ):
403403 DATASET_ID = 'DATASET'
@@ -444,8 +444,8 @@ def test_lookup_multiple_keys_w_deferred(self):
444444 request .ParseFromString (cw ['body' ])
445445 keys = list (request .key )
446446 self .assertEqual (len (keys ), 2 )
447- self . assertEqual ( keys [0 ], key_pb1 )
448- self . assertEqual ( keys [1 ], key_pb2 )
447+ _compare_key_pb_after_request ( self , key_pb1 , keys [0 ])
448+ _compare_key_pb_after_request ( self , key_pb2 , keys [1 ])
449449
450450 def test_lookup_multiple_keys_w_deferred_non_empty (self ):
451451 DATASET_ID = 'DATASET'
@@ -500,8 +500,8 @@ def test_lookup_multiple_keys_w_deferred_from_backend_but_not_passed(self):
500500 request .ParseFromString (cw [0 ]['body' ])
501501 keys = list (request .key )
502502 self .assertEqual (len (keys ), 2 )
503- self . assertEqual ( keys [0 ], key_pb1 )
504- self . assertEqual ( keys [1 ], key_pb2 )
503+ _compare_key_pb_after_request ( self , key_pb1 , keys [0 ])
504+ _compare_key_pb_after_request ( self , key_pb2 , keys [1 ])
505505
506506 self ._verifyProtobufCall (cw [1 ], URI , conn )
507507 request .ParseFromString (cw [1 ]['body' ])
@@ -907,7 +907,9 @@ def test_allocate_ids_non_empty(self):
907907 rq_class = datastore_pb .AllocateIdsRequest
908908 request = rq_class ()
909909 request .ParseFromString (cw ['body' ])
910- self .assertEqual (list (request .key ), before_key_pbs )
910+ self .assertEqual (len (request .key ), len (before_key_pbs ))
911+ for key_before , key_after in zip (before_key_pbs , request .key ):
912+ _compare_key_pb_after_request (self , key_before , key_after )
911913
912914 def test_save_entity_wo_transaction_w_upsert (self ):
913915 from gcloud .datastore .connection import datastore_pb
@@ -938,7 +940,7 @@ def test_save_entity_wo_transaction_w_upsert(self):
938940 upserts = list (mutation .upsert )
939941 self .assertEqual (len (upserts ), 1 )
940942 upsert = upserts [0 ]
941- self . assertEqual ( upsert . key , key_pb )
943+ _compare_key_pb_after_request ( self , key_pb , upsert . key )
942944 props = list (upsert .property )
943945 self .assertEqual (len (props ), 1 )
944946 self .assertEqual (props [0 ].name , 'foo' )
@@ -979,7 +981,7 @@ def test_save_entity_w_exclude_from_indexes(self):
979981 upserts = list (mutation .upsert )
980982 self .assertEqual (len (upserts ), 1 )
981983 upsert = upserts [0 ]
982- self . assertEqual ( upsert . key , key_pb )
984+ _compare_key_pb_after_request ( self , key_pb , upsert . key )
983985 props = sorted (upsert .property ,
984986 key = operator .attrgetter ('name' ),
985987 reverse = True )
@@ -1028,7 +1030,7 @@ def test_save_entity_wo_transaction_w_auto_id(self):
10281030 mutation = request .mutation
10291031 inserts = list (mutation .insert_auto_id )
10301032 insert = inserts [0 ]
1031- self . assertEqual ( insert . key , key_pb )
1033+ _compare_key_pb_after_request ( self , key_pb , insert . key )
10321034 props = list (insert .property )
10331035 self .assertEqual (len (props ), 1 )
10341036 self .assertEqual (props [0 ].name , 'foo' )
@@ -1112,7 +1114,7 @@ def test_delete_entities_wo_transaction(self):
11121114 deletes = list (mutation .delete )
11131115 self .assertEqual (len (deletes ), 1 )
11141116 delete = deletes [0 ]
1115- self . assertEqual ( delete , key_pb )
1117+ _compare_key_pb_after_request ( self , key_pb , delete )
11161118 self .assertEqual (request .mode , rq_class .NON_TRANSACTIONAL )
11171119
11181120 def test_delete_entities_w_transaction (self ):
@@ -1168,3 +1170,13 @@ def __init__(self, id):
11681170
11691171 def id (self ):
11701172 return self ._id
1173+
1174+
1175+ def _compare_key_pb_after_request (test , key_before , key_after ):
1176+ test .assertFalse (key_after .partition_id .HasField ('dataset_id' ))
1177+ test .assertEqual (key_before .partition_id .namespace ,
1178+ key_after .partition_id .namespace )
1179+ test .assertEqual (len (key_before .path_element ),
1180+ len (key_after .path_element ))
1181+ for elt1 , elt2 in zip (key_before .path_element , key_after .path_element ):
1182+ test .assertEqual (elt1 , elt2 )
0 commit comments