@@ -672,6 +672,7 @@ def test_save_entity_wo_transaction_w_upsert(self):
672672 def test_save_entity_w_exclude_from_indexes (self ):
673673 from gcloud .datastore .connection import datastore_pb
674674 from gcloud .datastore .key import Key
675+ import operator
675676
676677 DATASET_ID = 'DATASET'
677678 key_pb = Key (path = [{'kind' : 'Kind' , 'id' : 1234 }]).to_protobuf ()
@@ -686,8 +687,9 @@ def test_save_entity_w_exclude_from_indexes(self):
686687 'commit' ,
687688 ])
688689 http = conn ._http = Http ({'status' : '200' }, rsp_pb .SerializeToString ())
689- result = conn .save_entity (DATASET_ID , key_pb , {'foo' : u'Foo' },
690- exclude_from_indexes = ['foo' ])
690+ result = conn .save_entity (DATASET_ID , key_pb ,
691+ {'foo' : u'Foo' , 'bar' : [u'bar1' , u'bar2' ]},
692+ exclude_from_indexes = ['foo' , 'bar' ])
691693 self .assertEqual (result , True )
692694 cw = http ._called_with
693695 self .assertEqual (cw ['uri' ], URI )
@@ -705,11 +707,19 @@ def test_save_entity_w_exclude_from_indexes(self):
705707 self .assertEqual (len (upserts ), 1 )
706708 upsert = upserts [0 ]
707709 self .assertEqual (upsert .key , key_pb )
708- props = list (upsert .property )
709- self .assertEqual (len (props ), 1 )
710+ props = sorted (upsert .property ,
711+ key = operator .attrgetter ('name' ),
712+ reverse = True )
713+ self .assertEqual (len (props ), 2 )
710714 self .assertEqual (props [0 ].name , 'foo' )
711715 self .assertEqual (props [0 ].value .string_value , u'Foo' )
712716 self .assertEqual (props [0 ].value .indexed , False )
717+ self .assertEqual (props [1 ].name , 'bar' )
718+ self .assertEqual (props [1 ].value .list_value [0 ].string_value , 'bar1' )
719+ self .assertEqual (props [1 ].value .list_value [1 ].string_value , 'bar2' )
720+ self .assertEqual (props [1 ].value .HasField ('indexed' ), False )
721+ self .assertEqual (props [1 ].value .list_value [0 ].indexed , False )
722+ self .assertEqual (props [1 ].value .list_value [1 ].indexed , False )
713723 self .assertEqual (len (mutation .delete ), 0 )
714724 self .assertEqual (request .mode , rq_class .NON_TRANSACTIONAL )
715725
0 commit comments