@@ -88,7 +88,6 @@ def test_from_protobuf(self):
8888 def test_reload_no_key (self ):
8989 from gcloud .datastore .entity import NoKey
9090
91- dataset = _Dataset ()
9291 entity = self ._makeOne (None , None )
9392 entity ['foo' ] = 'Foo'
9493 self .assertRaises (NoKey , entity .reload )
@@ -116,7 +115,6 @@ def test_reload_hit(self):
116115 def test_save_no_key (self ):
117116 from gcloud .datastore .entity import NoKey
118117
119- dataset = _Dataset ()
120118 entity = self ._makeOne (None , None )
121119 entity ['foo' ] = 'Foo'
122120 self .assertRaises (NoKey , entity .save )
@@ -186,7 +184,6 @@ def test_save_w_returned_key(self):
186184 def test_delete_no_key (self ):
187185 from gcloud .datastore .entity import NoKey
188186
189- dataset = _Dataset ()
190187 entity = self ._makeOne (None , None )
191188 entity ['foo' ] = 'Foo'
192189 self .assertRaises (NoKey , entity .delete )
@@ -201,8 +198,23 @@ def test_delete(self):
201198 self .assertTrue (entity .delete () is None )
202199 self .assertEqual (connection ._deleted , (_DATASET_ID , 'KEY' ))
203200
201+ def test___repr___no_key_empty (self ):
202+ entity = self ._makeOne (None , None )
203+ self .assertEqual (repr (entity ), '<Entity {}>' )
204+
205+ def test___repr___w_key_non_empty (self ):
206+ connection = _Connection ()
207+ dataset = _Dataset (connection )
208+ key = _Key (dataset )
209+ key .path ('/bar/baz' )
210+ entity = self ._makeOne ()
211+ entity .key (key )
212+ entity ['foo' ] = 'Foo'
213+ self .assertEqual (repr (entity ), "<Entity/bar/baz {'foo': 'Foo'}>" )
214+
204215
205216class _Key (object ):
217+ _MARKER = object ()
206218 _key = 'KEY'
207219 _partial = False
208220 _path = None
@@ -219,7 +231,9 @@ def to_protobuf(self):
219231 def is_partial (self ):
220232 return self ._partial
221233
222- def path (self , path ):
234+ def path (self , path = _MARKER ):
235+ if path is self ._MARKER :
236+ return self ._path
223237 self ._path = path
224238
225239
0 commit comments