txaws-dev team mailing list archive
-
txaws-dev team
-
Mailing list archive
-
Message #00107
[Merge] lp:~tribaal/txaws/fix-965915 into lp:txaws
Chris Glass has proposed merging lp:~tribaal/txaws/fix-965915 into lp:txaws.
Requested reviews:
txAWS Technical List (txaws-tech)
For more details, see:
https://code.launchpad.net/~tribaal/txaws/fix-965915/+merge/99498
This fixes bug 965915, introduced in the previous commit.
Basically clouddeck expects to receive a specific Exception type (APIError), and the previous change made passing a string to Integer types raise a ValueError instead.
--
https://code.launchpad.net/~tribaal/txaws/fix-965915/+merge/99498
Your team txAWS Technical List is requested to review the proposed merge of lp:~tribaal/txaws/fix-965915 into lp:txaws.
=== modified file 'txaws/server/schema.py'
--- txaws/server/schema.py 2012-03-26 10:02:58 +0000
+++ txaws/server/schema.py 2012-03-27 11:56:30 +0000
@@ -93,8 +93,8 @@
if not self.allow_none:
raise MissingParameterError(self.name)
return self.default
- self._check_range(value)
try:
+ self._check_range(value)
parsed = self.parse(value)
if self.validator and not self.validator(parsed):
raise ValueError(value)
=== modified file 'txaws/server/tests/test_schema.py'
--- txaws/server/tests/test_schema.py 2012-03-26 10:02:58 +0000
+++ txaws/server/tests/test_schema.py 2012-03-27 11:56:30 +0000
@@ -281,6 +281,14 @@
self.assertEqual(400, error.status)
self.assertEqual("InvalidParameterValue", error.code)
+ def test_non_integer_string(self):
+ garbage = "blah"
+ parameter = Integer("Test")
+ error = self.assertRaises(APIError, parameter.coerce, garbage)
+ self.assertEqual(400, error.status)
+ self.assertEqual("InvalidParameterValue", error.code)
+ self.assertIn("Invalid integer value %s" % garbage, error.message)
+
class BoolTestCase(TestCase):