def test_deconstruct(self): messages = {"missing_keys": "Foobar"} validator = KeysValidator(keys=["a", "b"], strict=True, messages=messages) path, args, kwargs = validator.deconstruct() self.assertEqual(path, "django.contrib.postgres.validators.KeysValidator") self.assertEqual(args, ()) self.assertEqual(kwargs, {"keys": ["a", "b"], "strict": True, "messages": messages})
def test_deconstruct(self): messages = { 'missing_keys': 'Foobar', } validator = KeysValidator(keys=['a', 'b'], strict=True, messages=messages) path, args, kwargs = validator.deconstruct() self.assertEqual(path, 'django.contrib.postgres.validators.KeysValidator') self.assertEqual(args, ()) self.assertEqual(kwargs, {'keys': ['a', 'b'], 'strict': True, 'messages': messages})
def test_deconstruct(self): messages = { "missing_keys": "Foobar", } validator = KeysValidator(keys=["a", "b"], strict=True, messages=messages) path, args, kwargs = validator.deconstruct() self.assertEqual(path, "django.contrib.postgres.validators.KeysValidator") self.assertEqual(args, ()) self.assertEqual( kwargs, {"keys": ["a", "b"], "strict": True, "messages": messages} )
def test_extra_keys(self): validator = KeysValidator(keys=['a', 'b'], strict=True) with self.assertRaises(exceptions.ValidationError) as cm: validator({'a': 'foo', 'b': 'bar', 'c': 'baz'}) self.assertEqual(cm.exception.messages[0], 'Some unknown keys were provided: c') self.assertEqual(cm.exception.code, 'extra_keys')
def test_custom_messages(self): messages = { 'missing_keys': 'Foobar', } validator = KeysValidator(keys=['a', 'b'], strict=True, messages=messages) with self.assertRaises(exceptions.ValidationError) as cm: validator({'a': 'foo', 'c': 'baz'}) self.assertEqual(cm.exception.messages[0], 'Foobar') self.assertEqual(cm.exception.code, 'missing_keys') with self.assertRaises(exceptions.ValidationError) as cm: validator({'a': 'foo', 'b': 'bar', 'c': 'baz'}) self.assertEqual(cm.exception.messages[0], 'Some unknown keys were provided: c') self.assertEqual(cm.exception.code, 'extra_keys')
def test_custom_messages(self): messages = { "missing_keys": "Foobar", } validator = KeysValidator(keys=["a", "b"], strict=True, messages=messages) with self.assertRaises(exceptions.ValidationError) as cm: validator({"a": "foo", "c": "baz"}) self.assertEqual(cm.exception.messages[0], "Foobar") self.assertEqual(cm.exception.code, "missing_keys") with self.assertRaises(exceptions.ValidationError) as cm: validator({"a": "foo", "b": "bar", "c": "baz"}) self.assertEqual(cm.exception.messages[0], "Some unknown keys were provided: c") self.assertEqual(cm.exception.code, "extra_keys")
def test_strict_valid(self): validator = KeysValidator(keys=['a', 'b'], strict=True) validator({'a': 'foo', 'b': 'bar'})
def test_missing_keys(self): validator = KeysValidator(keys=['a', 'b']) with self.assertRaises(exceptions.ValidationError) as cm: validator({'a': 'foo', 'c': 'baz'}) self.assertEqual(cm.exception.messages[0], 'Some keys were missing: b') self.assertEqual(cm.exception.code, 'missing_keys')
def test_simple_valid(self): validator = KeysValidator(keys=['a', 'b']) validator({'a': 'foo', 'b': 'bar', 'c': 'baz'})
def test_extra_keys(self): validator = KeysValidator(keys=["a", "b"], strict=True) with self.assertRaises(exceptions.ValidationError) as cm: validator({"a": "foo", "b": "bar", "c": "baz"}) self.assertEqual(cm.exception.messages[0], "Some unknown keys were provided: c") self.assertEqual(cm.exception.code, "extra_keys")
def test_strict_valid(self): validator = KeysValidator(keys=["a", "b"], strict=True) validator({"a": "foo", "b": "bar"})
def test_missing_keys(self): validator = KeysValidator(keys=["a", "b"]) with self.assertRaises(exceptions.ValidationError) as cm: validator({"a": "foo", "c": "baz"}) self.assertEqual(cm.exception.messages[0], "Some keys were missing: b") self.assertEqual(cm.exception.code, "missing_keys")
def test_simple_valid(self): validator = KeysValidator(keys=["a", "b"]) validator({"a": "foo", "b": "bar", "c": "baz"})
def clean(self): KeysValidator( keys=self.product.attributes, strict=True, )(self.attributes)