Mercurial > hgrepos > Python > libs > data-schema
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)) |
