diff options
| author | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-10-14 01:11:18 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@yahoo.com> | 2010-10-14 01:11:18 -0700 |
| commit | 1156100be1d358f5ffae58c6d892e0724f4d153c (patch) | |
| tree | 3b3898acdba3b5837cfabb5ad724d1fa4a9c70df | |
| parent | c829e39c5436f2c9f075713ff4b80dbdfb1239ef (diff) | |
| download | nova-1156100be1d358f5ffae58c6d892e0724f4d153c.tar.gz nova-1156100be1d358f5ffae58c6d892e0724f4d153c.tar.xz nova-1156100be1d358f5ffae58c6d892e0724f4d153c.zip | |
unit tests and fix
| -rw-r--r-- | nova/api/ec2/apirequest.py | 6 | ||||
| -rw-r--r-- | nova/tests/api_unittest.py | 17 |
2 files changed, 21 insertions, 2 deletions
diff --git a/nova/api/ec2/apirequest.py b/nova/api/ec2/apirequest.py index 4b3b93124..3c8651582 100644 --- a/nova/api/ec2/apirequest.py +++ b/nova/api/ec2/apirequest.py @@ -52,9 +52,11 @@ def _try_convert(value): return True if value == 'False': return False - if value == '0': - return 0 valueneg = value[1:] if value[0] == '-' else value + if valueneg == '0': + return 0 + if valueneg == '': + return value if valueneg[0] == '0': if valueneg[1] in 'xX': return int(value,16) diff --git a/nova/tests/api_unittest.py b/nova/tests/api_unittest.py index 7ab27e000..e82acb6ff 100644 --- a/nova/tests/api_unittest.py +++ b/nova/tests/api_unittest.py @@ -29,6 +29,7 @@ from nova import flags from nova import test from nova import api from nova.api.ec2 import cloud +from nova.api.ec2 import apirequest from nova.auth import manager @@ -81,6 +82,22 @@ class FakeHttplibConnection(object): pass +class XmlConversionTestCase(test.BaseTestCase): + """Unit test api xml conversion""" + def test_number_conversion(self): + conv = apirequest._try_convert + self.assertEqual(conv('None'), None) + self.assertEqual(conv('True'), True) + self.assertEqual(conv('False'), False) + self.assertEqual(conv('0'), 0) + self.assertEqual(conv('42'), 42) + self.assertEqual(conv('3.14'), 3.14) + self.assertEqual(conv('-57.12'), -57.12) + self.assertEqual(conv('0x57'), 0x57) + self.assertEqual(conv('-0x57'), -0x57) + self.assertEqual(conv('-'), '-') + self.assertEqual(conv('-0'), 0) + class ApiEc2TestCase(test.BaseTestCase): """Unit test for the cloud controller on an EC2 API""" def setUp(self): # pylint: disable-msg=C0103,C0111 |
