File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 22import calendar
33from datetime import datetime , timedelta
44
5+ from google .protobuf .internal .type_checkers import Int64ValueChecker
56import pytz
67
78from gcloud .datastore .key import Key
89
910
11+ INT64 = Int64ValueChecker ().CheckValue
12+
13+
1014def get_protobuf_attribute_and_value (val ):
1115 """Given a value, return the protobuf attribute name and proper value.
1216
@@ -53,7 +57,7 @@ def get_protobuf_attribute_and_value(val):
5357 elif isinstance (val , float ):
5458 name , value = 'double' , val
5559 elif isinstance (val , (int , long )):
56- name , value = 'integer' , val
60+ name , value = 'integer' , INT64 ( val )
5761 elif isinstance (val , basestring ):
5862 name , value = 'string' , val
5963
Original file line number Diff line number Diff line change @@ -56,11 +56,19 @@ def test_int(self):
5656 self .assertEqual (value , 42 )
5757
5858 def test_long (self ):
59- must_be_long = 1 << 63
59+ must_be_long = ( 1 << 63 ) - 1
6060 name , value = self ._callFUT (must_be_long )
6161 self .assertEqual (name , 'integer_value' )
6262 self .assertEqual (value , must_be_long )
6363
64+ def test_long_too_small (self ):
65+ too_small = - (1 << 63 ) - 1
66+ self .assertRaises (ValueError , self ._callFUT , too_small )
67+
68+ def test_long_too_large (self ):
69+ too_large = 1 << 63
70+ self .assertRaises (ValueError , self ._callFUT , too_large )
71+
6472 def test_native_str (self ):
6573 name , value = self ._callFUT ('str' )
6674 self .assertEqual (name , 'string_value' )
You can’t perform that action at this time.
0 commit comments