@@ -617,7 +617,7 @@ def test_miss(self):
617617 self .assertTrue (result is None )
618618
619619
620- class Test_put_function (unittest2 .TestCase ):
620+ class Test_put_multi_function (unittest2 .TestCase ):
621621
622622 def setUp (self ):
623623 from gcloud .datastore ._testing import _setup_defaults
@@ -628,8 +628,9 @@ def tearDown(self):
628628 _tear_down_defaults (self )
629629
630630 def _callFUT (self , entities , connection = None , dataset_id = None ):
631- from gcloud .datastore .api import put
632- return put (entities , connection = connection , dataset_id = dataset_id )
631+ from gcloud .datastore .api import put_multi
632+ return put_multi (entities , connection = connection ,
633+ dataset_id = dataset_id )
633634
634635 def test_no_connection (self ):
635636 from gcloud .datastore import _implicit_environ
@@ -762,7 +763,50 @@ def test_implicit_connection(self):
762763 self .assertEqual (len (CURR_BATCH .mutation .delete ), 0 )
763764
764765
765- class Test_delete_function (unittest2 .TestCase ):
766+ class Test_put_function (unittest2 .TestCase ):
767+
768+ def setUp (self ):
769+ from gcloud .datastore ._testing import _setup_defaults
770+ _setup_defaults (self )
771+
772+ def tearDown (self ):
773+ from gcloud .datastore ._testing import _tear_down_defaults
774+ _tear_down_defaults (self )
775+
776+ def _callFUT (self , entity , connection = None , dataset_id = None ):
777+ from gcloud .datastore .api import put
778+ return put (entity , connection = connection , dataset_id = dataset_id )
779+
780+ def test_implicit_connection (self ):
781+ from gcloud .datastore ._testing import _monkey_defaults
782+ from gcloud .datastore .test_batch import _Connection
783+ from gcloud .datastore .test_batch import _Entity
784+ from gcloud .datastore .test_batch import _Key
785+
786+ # Build basic mocks needed to delete.
787+ _DATASET = 'DATASET'
788+ connection = _Connection ()
789+ entity = _Entity (foo = u'bar' )
790+ key = entity .key = _Key (_DATASET )
791+
792+ with _monkey_defaults (connection = connection ):
793+ # Set up Batch on stack so we can check it is used.
794+ with _NoCommitBatch (_DATASET , connection ) as CURR_BATCH :
795+ result = self ._callFUT (entity )
796+
797+ self .assertEqual (result , None )
798+ self .assertEqual (len (CURR_BATCH .mutation .insert_auto_id ), 0 )
799+ self .assertEqual (len (CURR_BATCH .mutation .upsert ), 1 )
800+ upserts = list (CURR_BATCH .mutation .upsert )
801+ self .assertEqual (len (upserts ), 1 )
802+ self .assertEqual (upserts [0 ].key , key .to_protobuf ())
803+ properties = list (upserts [0 ].property )
804+ self .assertEqual (properties [0 ].name , 'foo' )
805+ self .assertEqual (properties [0 ].value .string_value , u'bar' )
806+ self .assertEqual (len (CURR_BATCH .mutation .delete ), 0 )
807+
808+
809+ class Test_delete_multi_function (unittest2 .TestCase ):
766810
767811 def setUp (self ):
768812 from gcloud .datastore ._testing import _setup_defaults
@@ -773,8 +817,8 @@ def tearDown(self):
773817 _tear_down_defaults (self )
774818
775819 def _callFUT (self , keys , connection = None , dataset_id = None ):
776- from gcloud .datastore .api import delete
777- return delete (keys , connection = connection , dataset_id = dataset_id )
820+ from gcloud .datastore .api import delete_multi
821+ return delete_multi (keys , connection = connection , dataset_id = dataset_id )
778822
779823 def test_no_connection (self ):
780824 from gcloud .datastore import _implicit_environ
@@ -918,6 +962,38 @@ def test_implicit_connection_and_dataset_id(self):
918962 self .assertEqual (len (connection ._committed ), 0 )
919963
920964
965+ class Test_delete_function (unittest2 .TestCase ):
966+
967+ def setUp (self ):
968+ from gcloud .datastore ._testing import _setup_defaults
969+ _setup_defaults (self )
970+
971+ def tearDown (self ):
972+ from gcloud .datastore ._testing import _tear_down_defaults
973+ _tear_down_defaults (self )
974+
975+ def _callFUT (self , key , connection = None , dataset_id = None ):
976+ from gcloud .datastore .api import delete
977+ return delete (key , connection = connection , dataset_id = dataset_id )
978+
979+ def test_no_batch (self ):
980+ from gcloud .datastore .test_batch import _Connection
981+ from gcloud .datastore .test_batch import _Key
982+
983+ # Build basic mocks needed to delete.
984+ _DATASET = 'DATASET'
985+ connection = _Connection ()
986+ key = _Key (_DATASET )
987+
988+ result = self ._callFUT (key , connection = connection ,
989+ dataset_id = _DATASET )
990+ self .assertEqual (result , None )
991+ self .assertEqual (len (connection ._committed ), 1 )
992+ dataset_id , mutation = connection ._committed [0 ]
993+ self .assertEqual (dataset_id , _DATASET )
994+ self .assertEqual (list (mutation .delete ), [key .to_protobuf ()])
995+
996+
921997class Test_allocate_ids_function (unittest2 .TestCase ):
922998
923999 def _callFUT (self , incomplete_key , num_ids , connection = None ):
0 commit comments