def test_key(self): from gcloud.datastore.key import Key _DATASET = 'DATASET' _KIND = 'KIND' _ID = 1234 _PATH = [{'kind': _KIND, 'id': _ID}] key = Key(dataset_id=_DATASET, path=_PATH) name, value = self._callFUT(key) self.assertEqual(name, 'key_value') self.assertEqual(value, key.to_protobuf())
def test_key(self): from gcloud.datastore.key import Key _DATASET = 'DATASET' _KIND = 'KIND' _ID = 1234 _PATH = [{'kind': _KIND, 'id': _ID}] pb = self._makePB() key = Key(dataset_id=_DATASET, path=_PATH) self._callFUT(pb, key) value = pb.key_value self.assertEqual(value, key.to_protobuf())
def test_entity_w_key(self): from gcloud.datastore.entity import Entity from gcloud.datastore.key import Key pb = self._makePB() key = Key(path=[{'kind': 'KIND', 'id': 123}]) entity = Entity().key(key) entity['foo'] = u'Foo' self._callFUT(pb, entity) value = pb.entity_value self.assertEqual(value.key, key.to_protobuf()) props = list(value.property) self.assertEqual(len(props), 1) self.assertEqual(props[0].name, 'foo') self.assertEqual(props[0].value.string_value, u'Foo')
def _makeKey(kind, id): from gcloud.datastore.datastore_v1_pb2 import Key key = Key() elem = key.path_element.add() elem.kind = kind elem.id = id return key
def test_key(self): from gcloud.datastore.datastore_v1_pb2 import Value from gcloud.datastore.key import Key _DATASET = 'DATASET' _KIND = 'KIND' _ID = 1234 _PATH = [{'kind': _KIND, 'id': _ID}] pb = Value() expected = Key(dataset_id=_DATASET, path=_PATH).to_protobuf() pb.key_value.CopyFrom(expected) found = self._callFUT(pb) self.assertEqual(found.to_protobuf(), expected)
def _makePB(self, dataset_id=None, namespace=None, path=()): from gcloud.datastore.datastore_v1_pb2 import Key pb = Key() if dataset_id is not None: pb.partition_id.dataset_id = dataset_id if namespace is not None: pb.partition_id.namespace = namespace for elem in path: added = pb.path_element.add() added.kind = elem['kind'] if 'id' in elem: added.id = elem['id'] if 'name' in elem: added.name = elem['name'] return pb