def test_pattern_properties(self): validator = validators._SchemaValidator( self.schema_with_pattern).validator instance = {'foo': '1'} gen = validators._soft_validate_additional_properties( validator, False, instance, self.schema_with_pattern) self.assertRaises(StopIteration, next, gen)
def test_not_strip_extra_properties_out_with_allow_extra_props(self): validator = validators._SchemaValidator(self.schema_allow).validator instance = {'foo': '1', 'extra_foo': 'extra'} gen = validators._soft_validate_additional_properties( validator, True, instance, self.schema_allow) self.assertRaises(StopIteration, next, gen) self.assertEqual({'foo': '1', 'extra_foo': 'extra'}, instance)
def test_strip_extra_properties_out_without_extra_props(self): validator = validators._SchemaValidator(self.schema).validator instance = {'foo': '1'} gen = validators._soft_validate_additional_properties( validator, False, instance, self.schema) self.assertRaises(StopIteration, next, gen) self.assertEqual({'foo': '1'}, instance)
def test_pattern_properties_with_multiple_invalid_properties(self): validator = validators._SchemaValidator(self.schema_with_pattern).validator instance = {"foo": "1", "b" * 300: "extra", "c" * 300: "extra"} gen = validators._soft_validate_additional_properties(validator, False, instance, self.schema_with_pattern) exc = next(gen) self.assertIsInstance(exc, jsonschema_exc.ValidationError) self.assertIn("were", exc.message)
def test_pattern_properties_with_invalid_property_and_allow_extra_props( self): validator = validators._SchemaValidator( self.schema_with_pattern).validator instance = {'foo': '1', 'b' * 300: 'extra'} gen = validators._soft_validate_additional_properties( validator, True, instance, self.schema_with_pattern) self.assertRaises(StopIteration, next, gen)
def test_pattern_properties_with_multiple_invalid_properties(self): validator = validators._SchemaValidator( self.schema_with_pattern).validator instance = {'foo': '1', 'b' * 300: 'extra', 'c' * 300: 'extra'} gen = validators._soft_validate_additional_properties( validator, False, instance, self.schema_with_pattern) exc = next(gen) self.assertIsInstance(exc, jsonschema_exc.ValidationError) self.assertIn('were', exc.message)