예제 #1
0
    def test_schema(self):
        schema = Schema(schemas.index)
        with self.assertRaises(SchemaError):
            raise schema.make_error('Dummy error')

        data = schema.validate_request({'name': TEST_NAME})
        self.assertEqual(data, {'name': TEST_NAME})

        timestamp = time.time()
        response = schema.make_response({'name': TEST_NAME, 'time': timestamp})
        self.assertEqual(response, {'name': TEST_NAME, 'time': timestamp})
예제 #2
0
    def test_schema_custom_error_class(self):
        schema = Schema(schemas.index, error_class=CustomError)

        with self.assertRaises(CustomError):
            raise schema.make_error('Custom Error')

        self.assertRaises(CustomError, schema.validate_request, {})
        schema.validate_request({'name': TEST_NAME})

        self.assertRaises(CustomError, schema.make_response, {})
        schema.make_response({'name': TEST_NAME, 'time': time.time()})
예제 #3
0
    def test_schema(self):
        schema = Schema(schemas.index)
        with self.assertRaises(SchemaError):
            raise schema.make_error('Dummy error')

        data = schema.validate_request({'name': TEST_NAME})
        self.assertEqual(data, {'name': TEST_NAME})

        timestamp = time.time()
        response = schema.make_response({'name': TEST_NAME, 'time': timestamp})
        self.assertEqual(response, {'name': TEST_NAME, 'time': timestamp})
예제 #4
0
    def test_schema_custom_error_class(self):
        schema = Schema(schemas.index, error_class=CustomError)

        with self.assertRaises(CustomError):
            raise schema.make_error('Custom Error')

        self.assertRaises(CustomError, schema.validate_request, {})
        schema.validate_request({'name': TEST_NAME})

        self.assertRaises(CustomError, schema.make_response, {})
        schema.make_response({'name': TEST_NAME, 'time': time.time()})
예제 #5
0
    def test_fastjsonschema(self):
        error_class = fastjsonschema.JsonSchemaException
        schema = Schema(FastSchemas(), validate_func=fast_validate, validation_error_class=error_class)

        # Default error
        with self.assertRaises(SchemaError):
            raise schema.make_error("Dummy error")

        # Validation error propagated
        self.assertRaises(error_class, schema.validate_request, {"name": "Something"})

        # Proper request
        data = schema.validate_request({"name": TEST_NAME})
        self.assertEqual(data, {"name": TEST_NAME})

        # Proper response
        # NOTE: fastjsonschema expects number as an int, not float
        timestamp = int(time.time())
        response = schema.make_response({"name": TEST_NAME, "time": timestamp})
        self.assertEqual(response, {"name": TEST_NAME, "time": timestamp})
예제 #6
0
 def test_shema_make_error_custom_error_class(self):
     schema = Schema(schemas.index)
     schema.validate_request({'name': 'Igor'})
     with self.assertRaisesRegexp(CustomError, 'Something'):
         raise schema.make_error('Something', error_class=CustomError)
예제 #7
0
 def test_shema_make_error_custom_error_class(self):
     schema = Schema(schemas.index)
     schema.validate_request({'name': 'Igor'})
     with self.assertRaisesRegexp(CustomError, 'Something'):
         raise schema.make_error('Something', error_class=CustomError)
예제 #8
0
 def test_shema_make_error_custom_error_class(self):
     schema = Schema(schemas.index)
     schema.validate_request({"name": "Igor"})
     with self.assertRaisesRegexp(CustomError, "Something"):
         raise schema.make_error("Something", error_class=CustomError)