예제 #1
0
 def test_coerce(self):
     """
     L{Parameter.coerce} coerces a request argument with a single value.
     """
     parameter = Parameter("Test")
     parameter.parse = lambda value: value
     self.assertEqual("foo", parameter.coerce("foo"))
예제 #2
0
 def test_coerce(self):
     """
     L{Parameter.coerce} coerces a request argument with a single value.
     """
     parameter = Parameter("Test")
     parameter.parse = lambda value: value
     self.assertEqual("foo", parameter.coerce("foo"))
예제 #3
0
 def test_validator_valid(self):
     """
     L{Parameter.coerce} returns the correct value if validator returns
     True.
     """
     parameter = Parameter("Test", validator=lambda _: True)
     parameter.parse = lambda value: value
     parameter.kind = "test_parameter"
     self.assertEqual("foo", parameter.coerce("foo"))
예제 #4
0
 def test_validator_valid(self):
     """
     L{Parameter.coerce} returns the correct value if validator returns
     True.
     """
     parameter = Parameter("Test", validator=lambda _: True)
     parameter.parse = lambda value: value
     parameter.kind = "test_parameter"
     self.assertEqual("foo", parameter.coerce("foo"))
예제 #5
0
 def test_validator_invalid(self):
     """
     L{Parameter.coerce} raises an error if the validator returns False.
     """
     parameter = Parameter("Test", validator=lambda _: False)
     parameter.parse = lambda value: value
     parameter.kind = "test_parameter"
     error = self.assertRaises(APIError, parameter.coerce, "foo")
     self.assertEqual(400, error.status)
     self.assertEqual("InvalidParameterValue", error.code)
     self.assertEqual("Invalid test_parameter value foo", error.message)
예제 #6
0
 def test_validator_invalid(self):
     """
     L{Parameter.coerce} raises an error if the validator returns False.
     """
     parameter = Parameter("Test", validator=lambda _: False)
     parameter.parse = lambda value: value
     parameter.kind = "test_parameter"
     error = self.assertRaises(APIError, parameter.coerce, "foo")
     self.assertEqual(400, error.status)
     self.assertEqual("InvalidParameterValue", error.code)
     self.assertEqual("Invalid test_parameter value foo", error.message)
예제 #7
0
 def test_coerce_with_parameter_error_unicode(self):
     """
     L{Parameter.coerce} raises an L{APIError} if an invalid value is
     passed as request argument and parameter value is unicode.
     """
     parameter = Parameter("Test")
     parameter.parse = lambda value: int(value)
     parameter.kind = "integer"
     error = self.assertRaises(APIError, parameter.coerce, "citt\xc3\xa1")
     self.assertEqual(400, error.status)
     self.assertEqual("InvalidParameterValue", error.code)
     self.assertEqual(u"Invalid integer value cittá", error.message)
예제 #8
0
 def test_coerce_with_parameter_error_unicode(self):
     """
     L{Parameter.coerce} raises an L{APIError} if an invalid value is
     passed as request argument and parameter value is unicode.
     """
     parameter = Parameter("Test")
     parameter.parse = lambda value: int(value)
     parameter.kind = "integer"
     error = self.assertRaises(APIError, parameter.coerce, "citt\xc3\xa1")
     self.assertEqual(400, error.status)
     self.assertEqual("InvalidParameterValue", error.code)
     self.assertEqual(u"Invalid integer value cittá", error.message)