8000 Update datastore regression to use Entity/Key equality. · dhermes/google-cloud-python@1ac2a13 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1ac2a13

Browse files
committed
Update datastore regression to use Entity/Key equality.
Utilizing changes in googleapis#615.
1 parent 9a918cf commit 1ac2a13

File tree

1 file changed

+9
-47
lines changed

1 file changed

+9
-47
lines changed

regression/datastore.py

Lines changed: 9 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,8 @@ def _generic_test_post(self, name=None, key_id=None):
9292
if key_id is not None:
9393
self.assertEqual(entity.key.id, key_id)
9494
retrieved_entity, = datastore.get([entity.key])
95-
# Check the keys are the same.
96-
self.assertEqual(retrieved_entity.key.path, entity.key.path)
97-
self.assertEqual(retrieved_entity.key.namespace, entity.key.namespace)
98-
self.assertTrue(_compare_dataset_ids(
99-
retrieved_entity.key.dataset_id, entity.key.dataset_id))
100-
101-
# Check the data is the same.
102-
retrieved_dict = dict(retrieved_entity.items())
103-
entity_dict = dict(entity.items())
104-
self.assertEqual(retrieved_dict, entity_dict)
95+
# Check the given and retrieved are the the same.
96+
self.assertEqual(retrieved_entity, entity)
10597

10698
def test_post_with_name(self):
10799
self._generic_test_post(name='post1')
@@ -162,12 +154,7 @@ def test_save_key_self_reference(self):
162154
query.add_filter('linkedTo', '=', key)
163155

164156
stored_persons = list(query.fetch(limit=2))
165-
self.assertEqual(len(stored_persons), 1)
166-
167-
stored_person = stored_persons[0]
168-
self.assertEqual(stored_person['fullName'], entity['fullName'])
169-
self.assertEqual(stored_person.key.path, key.path)
170-
self.assertEqual(stored_person.key.namespace, key.namespace)
157+
self.assertEqual(stored_persons, [entity])
171158

172159

173160
class TestDatastoreQuery(TestDatastore):
@@ -258,31 +245,24 @@ def test_projection_query(self):
258245
self.assertEqual(len(entities), expected_matches)
259246

260247
arya_entity = entities[0]
261-
arya_dict = dict(arya_entity.items())
248+
arya_dict = dict(arya_entity)
262249
self.assertEqual(arya_dict, {'name': 'Arya', 'family': 'Stark'})
263250

264251
catelyn_stark_entity = entities[2]
265-
catelyn_stark_dict = dict(catelyn_stark_entity.items())
252+
catelyn_stark_dict = dict(catelyn_stark_entity)
266253
self.assertEqual(catelyn_stark_dict,
267254
{'name': 'Catelyn', 'family': 'Stark'})
268255

269256
catelyn_tully_entity = entities[3]
270-
catelyn_tully_dict = dict(catelyn_tully_entity.items())
257+
catelyn_tully_dict = dict(catelyn_tully_entity)
271258
self.assertEqual(catelyn_tully_dict,
272259
{'name': 'Catelyn', 'family': 'Tully'})
273260

274261
# Check both Catelyn keys are the same.
275-
catelyn_stark_key = catelyn_stark_entity.key
276-
catelyn_tully_key = catelyn_tully_entity.key
277-
self.assertEqual(catelyn_stark_key.path, catelyn_tully_key.path)
278-
self.assertEqual(catelyn_stark_key.namespace,
279-
catelyn_tully_key.namespace)
280-
# Also check the dataset_id since both retrieved from datastore.
281-
self.assertEqual(catelyn_stark_key.dataset_id,
282-
catelyn_tully_key.dataset_id)
262+
self.assertEqual(catelyn_stark_entity.key, catelyn_tully_entity.key)
283263

284264
sansa_entity = entities[8]
285-
sansa_dict = dict(sansa_entity.items())
265+
sansa_dict = dict(sansa_entity)
286266
self.assertEqual(sansa_dict, {'name': 'Sansa', 'family': 'Stark'})
287267

288268
def test_query_paginate_with_offset(self):
@@ -358,22 +338,4 @@ def test_transaction(self):
358338
# This will always return after the transaction.
359339
retrieved_entity, = datastore.get([entity.key])
360340
self.case_entities_to_delete.append(retrieved_entity)
361-
retrieved_dict = dict(retrieved_entity.items())
362-
entity_dict = dict(entity.items())
363-
self.assertEqual(retrieved_dict, entity_dict)
364-
365-
366-
def _compare_dataset_ids(dataset_id1, dataset_id2):
367-
if dataset_id1 == dataset_id2:
368-
return True
369-
370-
if dataset_id1.startswith('s~') or dataset_id1.startswith('e~'):
371-
# If `dataset_id1` is prefixed and not matching, then the only way
372-
# they can match is if `dataset_id2` is unprefixed.
373-
return dataset_id1[2:] == dataset_id2
374-
elif dataset_id2.startswith('s~') or dataset_id2.startswith('e~'):
375-
# Here we know `dataset_id1` is unprefixed and `dataset_id2`
376-
# is prefixed.
377-
return dataset_id1 == dataset_id2[2:]
378-
379-
return False
341+
self.assertEqual(retrieved_entity, entity)

0 commit comments

Comments
 (0)
0