Skip to content

Commit a208132

Browse files
committed
fix the helper function and test case while checking null value
1 parent 014b658 commit a208132

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

gcloud/datastore/helpers.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,7 @@ def _set_protobuf_value(value_pb, val):
223223
:param val: The value to be assigned.
224224
"""
225225
if val is None:
226-
value_pb.ClearField('boolean_value')
227-
value_pb.ClearField('integer_value')
228-
value_pb.ClearField('double_value')
229-
value_pb.ClearField('timestamp_microseconds_value')
230-
value_pb.ClearField('key_value')
231-
value_pb.ClearField('blob_key_value')
232-
value_pb.ClearField('string_value')
233-
value_pb.ClearField('blob_value')
234-
value_pb.ClearField('entity_value')
226+
value_pb.Clear()
235227
return
236228

237229
attr, val = _get_protobuf_attribute_and_value(val)

gcloud/datastore/test_helpers.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -362,18 +362,23 @@ def test_key(self):
362362
self.assertEqual(value, key.to_protobuf())
363363

364364
def test_none(self):
365+
from gcloud.datastore.entity import Entity
366+
367+
entity = Entity()
365368
pb = self._makePB()
369+
370+
self._callFUT(pb, False)
371+
self._callFUT(pb, 3.1415926)
372+
self._callFUT(pb, 42)
373+
self._callFUT(pb, (1 << 63) - 1)
374+
self._callFUT(pb, 'str')
375+
self._callFUT(pb, b'str')
376+
self._callFUT(pb, u'str')
377+
self._callFUT(pb, entity)
378+
self._callFUT(pb, [u'a', 0, 3.14])
379+
366380
self._callFUT(pb, None)
367-
self.assertEqual(pb.HasField('boolean_value'), False)
368-
self.assertEqual(pb.HasField('integer_value'), False)
369-
self.assertEqual(pb.HasField('double_value'), False)
370-
self.assertEqual(pb.HasField('timestamp_microseconds_value'), False)
371-
self.assertEqual(pb.HasField('key_value'), False)
372-
self.assertEqual(pb.HasField('blob_key_value'), False)
373-
self.assertEqual(pb.HasField('string_value'), False)
374-
self.assertEqual(pb.HasField('blob_value'), False)
375-
self.assertEqual(pb.HasField('entity_value'), False)
376-
self.assertEqual(len(pb.list_value), 0)
381+
self.assertEqual(len(pb.ListFields()), 0)
377382

378383
def test_bool(self):
379384
pb = self._makePB()

0 commit comments

Comments
 (0)