Example #1
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"))
Example #2
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"))
Example #3
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)
Example #4
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)
Example #5
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)
Example #6
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)
Example #7
0
 def test_coerce_with_required(self):
     """
     L{Parameter.coerce} raises an L{APIError} if the parameter is
     required but not present in the request.
     """
     parameter = Parameter("Test")
     parameter.kind = "testy kind"
     error = self.assertRaises(APIError, parameter.coerce, None)
     self.assertEqual(400, error.status)
     self.assertEqual("MissingParameter", error.code)
     self.assertEqual(
         "The request must contain the parameter Test "
         "(testy kind)", error.message)
Example #8
0
 def test_coerce_with_required(self):
     """
     L{Parameter.coerce} raises an L{APIError} if the parameter is
     required but not present in the request.
     """
     parameter = Parameter("Test")
     parameter.kind = "testy kind"
     error = self.assertRaises(APIError, parameter.coerce, None)
     self.assertEqual(400, error.status)
     self.assertEqual("MissingParameter", error.code)
     self.assertEqual("The request must contain the parameter Test "
                      "(testy kind)",
                      error.message)