diff 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
line wrap: on
line diff
--- a/tests/test_schema.py	Wed Jul 19 13:26:06 2023 +0200
+++ b/tests/test_schema.py	Wed Jul 19 13:30:55 2023 +0200
@@ -1607,6 +1607,15 @@
              "key-names": {"$type": "int"}}))
         self.assertEqual(0, len(pr))
 
+    def test_d11_forbidden_keys(self):
+        pr = list(data_schema.validate(
+            {"key": 1234, "key-2": 5678},
+            {"$type": "dict",
+             "additional-keys": True,
+             "forbidden": ["key"]}))
+        self.assertEqual(1, len(pr))
+        self.assertEqual(ERRORS.E10059, pr[0].code)
+
     def test_error_message(self):
         self.assertEqual("dict expected",
                          data_schema.problem_message(ERRORS.E10000))