@@ -55,6 +55,8 @@ def test_allocate_ids(self):
5555
5656class TestDatastoreSave (TestDatastore ):
5757
58+ PARENT = datastore .Key ('Blog' , 'PizzaMan' )
59+
5860 def _get_post (self , id_or_name = None , post_content = None ):
5961 post_content = post_content or {
6062 'title' : u'How to make the perfect pizza in your grill' ,
@@ -66,7 +68,10 @@ def _get_post(self, id_or_name=None, post_content=None):
6668 'rating' : 5.0 ,
6769 }
6870 # Create an entity with the given content.
69- entity = datastore .Entity (key = datastore .Key ('Post' ))
71+ # NOTE: Using a parent to ensure consistency for query
72+ # in `test_empty_kind`.
73+ key = datastore .Key ('Post' , parent = self .PARENT )
74+ entity = datastore .Entity (key = key )
7075 entity .update (post_content )
7176
7277 # Update the entity key.
@@ -77,8 +82,7 @@ def _get_post(self, id_or_name=None, post_content=None):
7782
7883 def _generic_test_post (self , name = None , key_id = None ):
7984 entity = self ._get_post (id_or_name = (name or key_id ))
80- with datastore .Transaction ():
81- datastore .put ([entity ])
85+ datastore .put ([entity ])
8286
8387 # Register entity to be deleted.
8488 self .case_entities_to_delete .append (entity )
@@ -135,23 +139,26 @@ def test_save_multiple(self):
135139
136140 def test_empty_kind (self ):
137141 query = datastore .Query (kind = 'Post' )
142+ query .ancestor = self .PARENT
138143 posts = list (query .fetch (limit = 2 ))
139144 self .assertEqual (posts , [])
140145
141146
142147class TestDatastoreSaveKeys (TestDatastore ):
143148
144149 def test_save_key_self_reference (self ):
145- key = datastore .Key ('Person' , 'name' )
150+ parent_key = datastore .Key ('Residence' , 'NewYork' )
151+ key = datastore .Key ('Person' , 'name' , parent = parent_key )
146152 entity = datastore .Entity (key = key )
147153 entity ['fullName' ] = u'Full name'
148154 entity ['linkedTo' ] = key # Self reference.
149155
150- with datastore .Transaction ():
151- datastore .put ([entity ])
156+ datastore .put ([entity ])
152157 self .case_entities_to_delete .append (entity )
153158
154159 query = datastore .Query (kind = 'Person' )
160+ # Adding ancestor to ensure consistency.
161+ query .ancestor = parent_key
155162 query .add_filter ('linkedTo' , '=' , key )
156163
157164 stored_persons = list (query .fetch (limit = 2 ))
0 commit comments