diff --git a/goblin/properties.py b/goblin/properties.py index f803052436129bda510455fe566010699c857be1..912bb20c1787e0551d0ec2ac7cb0673468974762 100644 --- a/goblin/properties.py +++ b/goblin/properties.py @@ -172,6 +172,8 @@ class Integer(abc.DataType): def validate(self, val): if val is not None: try: + if isinstance(val, long): + return long(val) return int(val) except (ValueError, TypeError) as e: raise exception.ValidationError( diff --git a/tests/test_properties.py b/tests/test_properties.py index bb7a6204cbd305c7eb3f81b023ef4d4555212e1f..c264e5a1d581afbd040b16cb2ed085b4da3bac46 100644 --- a/tests/test_properties.py +++ b/tests/test_properties.py @@ -144,6 +144,10 @@ def test_set_change_set_card_vertex_property(place): def test_set_card_union(place): place.important_numbers = set([1, 2, 3]) place.important_numbers = place.important_numbers.union({3, 4, 5}) + +def test_set_card_64bit_integer(place): + place.important_numbers = set([long(1), long(2), long(3)]) + assert all(isinstance(i.value, long) for i in place.important_numbers) def test_set_card_validation_vertex_property(place): with pytest.raises(exception.ValidationError):