def test_put_multi_no_batch_w_partial_key(self): from gcloud.datastore.helpers import _property_tuples from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key from gcloud.datastore.test_batch import _KeyPB entity = _Entity(foo=u'bar') key = entity.key = _Key(self.PROJECT) key._id = None creds = object() client = self._makeOne(credentials=creds) client.connection._commit.append([_KeyPB(key)]) result = client.put_multi([entity]) self.assertTrue(result is None) self.assertEqual(len(client.connection._commit_cw), 1) (project, commit_req, transaction_id) = client.connection._commit_cw[0] self.assertEqual(project, self.PROJECT) inserts = list(commit_req.mutation.insert_auto_id) self.assertEqual(len(inserts), 1) self.assertEqual(inserts[0].key, key.to_protobuf()) prop_list = list(_property_tuples(inserts[0])) self.assertTrue(len(prop_list), 1) name, value_pb = prop_list[0] self.assertEqual(name, 'foo') self.assertEqual(value_pb.string_value, u'bar') self.assertTrue(transaction_id is None)
def test_put_multi_no_batch_w_partial_key(self): from gcloud.datastore.helpers import _property_tuples from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key from gcloud.datastore.test_batch import _KeyPB entity = _Entity(foo=u'bar') key = entity.key = _Key(self.DATASET_ID) key._id = None creds = object() client = self._makeOne(credentials=creds) client.connection._commit.append([_KeyPB(key)]) result = client.put_multi([entity]) self.assertTrue(result is None) self.assertEqual(len(client.connection._commit_cw), 1) (dataset_id, commit_req, transaction_id) = client.connection._commit_cw[0] self.assertEqual(dataset_id, self.DATASET_ID) inserts = list(commit_req.mutation.insert_auto_id) self.assertEqual(len(inserts), 1) self.assertEqual(inserts[0].key, key.to_protobuf()) prop_list = list(_property_tuples(inserts[0])) self.assertTrue(len(prop_list), 1) name, value_pb = prop_list[0] self.assertEqual(name, 'foo') self.assertEqual(value_pb.string_value, u'bar') self.assertTrue(transaction_id is None)
def test_put_multi_no_batch_w_partial_key(self): from gcloud.datastore.helpers import _property_tuples from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key from gcloud.datastore.test_batch import _KeyPB from gcloud.datastore.test_batch import _mutated_pb entity = _Entity(foo=u"bar") key = entity.key = _Key(self.PROJECT) key._id = None creds = object() client = self._makeOne(credentials=creds) client.connection._commit.append([_KeyPB(key)]) result = client.put_multi([entity]) self.assertTrue(result is None) self.assertEqual(len(client.connection._commit_cw), 1) (project, commit_req, transaction_id) = client.connection._commit_cw[0] self.assertEqual(project, self.PROJECT) mutated_entity = _mutated_pb(self, commit_req.mutations, "insert") self.assertEqual(mutated_entity.key, key.to_protobuf()) prop_list = list(_property_tuples(mutated_entity)) self.assertTrue(len(prop_list), 1) name, value_pb = prop_list[0] self.assertEqual(name, "foo") self.assertEqual(value_pb.string_value, u"bar") self.assertTrue(transaction_id is None)
def test_put_multi_no_batch_w_partial_key(self): from gcloud.datastore.test_batch import _CommitResult from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key entity = _Entity(foo=u'bar') key = entity.key = _Key(self.DATASET_ID) key._id = None creds = object() client = self._makeOne(credentials=creds) client.connection._commit.append(_CommitResult(key)) result = client.put_multi([entity]) self.assertTrue(result is None) self.assertEqual(len(client.connection._commit_cw), 1) dataset_id, mutation, transaction_id = client.connection._commit_cw[0] self.assertEqual(dataset_id, self.DATASET_ID) inserts = list(mutation.insert_auto_id) self.assertEqual(len(inserts), 1) self.assertEqual(inserts[0].key, key.to_protobuf()) properties = list(inserts[0].property) self.assertEqual(properties[0].name, 'foo') self.assertEqual(properties[0].value.string_value, u'bar') self.assertTrue(transaction_id is None)
def test_put_multi_existing_batch_w_completed_key(self): from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key creds = object() client = self._makeOne(credentials=creds) entity = _Entity(foo=u'bar') key = entity.key = _Key(self.DATASET_ID) with _NoCommitBatch(client) as CURR_BATCH: result = client.put_multi([entity]) self.assertEqual(result, None) self.assertEqual(len(CURR_BATCH.mutation.insert_auto_id), 0) upserts = list(CURR_BATCH.mutation.upsert) self.assertEqual(len(upserts), 1) self.assertEqual(upserts[0].key, key.to_protobuf()) properties = list(upserts[0].property) self.assertEqual(properties[0].name, 'foo') self.assertEqual(properties[0].value.string_value, u'bar') self.assertEqual(len(CURR_BATCH.mutation.delete), 0)
def test_put_multi_existing_batch_w_completed_key(self): from gcloud.datastore.helpers import _property_tuples from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key from gcloud.datastore.test_batch import _mutated_pb creds = object() client = self._makeOne(credentials=creds) entity = _Entity(foo=u'bar') key = entity.key = _Key(self.PROJECT) with _NoCommitBatch(client) as CURR_BATCH: result = client.put_multi([entity]) self.assertEqual(result, None) mutated_entity = _mutated_pb(self, CURR_BATCH.mutations, 'upsert') self.assertEqual(mutated_entity.key, key.to_protobuf()) prop_list = list(_property_tuples(mutated_entity)) self.assertTrue(len(prop_list), 1) name, value_pb = prop_list[0] self.assertEqual(name, 'foo') self.assertEqual(value_pb.string_value, u'bar')
def test_put_multi_existing_batch_w_completed_key(self): from gcloud.datastore.helpers import _property_tuples from gcloud.datastore.test_batch import _Entity from gcloud.datastore.test_batch import _Key from gcloud.datastore.test_batch import _mutated_pb creds = object() client = self._makeOne(credentials=creds) entity = _Entity(foo=u"bar") key = entity.key = _Key(self.PROJECT) with _NoCommitBatch(client) as CURR_BATCH: result = client.put_multi([entity]) self.assertEqual(result, None) mutated_entity = _mutated_pb(self, CURR_BATCH.mutations, "upsert") self.assertEqual(mutated_entity.key, key.to_protobuf()) prop_list = list(_property_tuples(mutated_entity)) self.assertTrue(len(prop_list), 1) name, value_pb = prop_list[0] self.assertEqual(name, "foo") self.assertEqual(value_pb.string_value, u"bar")
def test_put_multi_no_entities(self): client = self._makeOne(connection=object()) self.assertEqual(client.put_multi([]), None)
def test_put_multi_no_entities(self): creds = object() client = self._makeOne(credentials=creds) self.assertEqual(client.put_multi([]), None)