comparison tests/test_schema.py @ 38:5a2fba996773

Implement a "forbidden" schema field for dicts
author Franz Glasner <f.glasner@feldmann-mg.com>
date Wed, 19 Jul 2023 13:30:55 +0200
parents 271ec3abdfa3
children d2b43423fa4c
comparison
equal deleted inserted replaced
37:ef586378f79a 38:5a2fba996773
1605 1: {"$type": "string"}}, 1605 1: {"$type": "string"}},
1606 "additional-keys": True, 1606 "additional-keys": True,
1607 "key-names": {"$type": "int"}})) 1607 "key-names": {"$type": "int"}}))
1608 self.assertEqual(0, len(pr)) 1608 self.assertEqual(0, len(pr))
1609 1609
1610 def test_d11_forbidden_keys(self):
1611 pr = list(data_schema.validate(
1612 {"key": 1234, "key-2": 5678},
1613 {"$type": "dict",
1614 "additional-keys": True,
1615 "forbidden": ["key"]}))
1616 self.assertEqual(1, len(pr))
1617 self.assertEqual(ERRORS.E10059, pr[0].code)
1618
1610 def test_error_message(self): 1619 def test_error_message(self):
1611 self.assertEqual("dict expected", 1620 self.assertEqual("dict expected",
1612 data_schema.problem_message(ERRORS.E10000)) 1621 data_schema.problem_message(ERRORS.E10000))
1613 pr = data_schema.ValidationProblem(code=ERRORS.E10000) 1622 pr = data_schema.ValidationProblem(code=ERRORS.E10000)
1614 self.assertEqual("dict expected", data_schema.problem_message(pr)) 1623 self.assertEqual("dict expected", data_schema.problem_message(pr))