summaryrefslogtreecommitdiff
path: root/lang/python/python-referencing/test.sh
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2023-10-14 02:27:02 +0800
committerTianling Shen <cnsztl@gmail.com>2023-11-30 12:57:27 +0800
commit728aac31bb205bab208142d116b1c1d3e0f62a14 (patch)
tree38a70ecfb3b0d70525bf8e17e7252ed758dbb2ab /lang/python/python-referencing/test.sh
parent06231ce8cbf82f39f93cc2fa216fc8aa3cd3271c (diff)
python-referencing: Add new package
From the README: An implementation-agnostic implementation of JSON reference resolution. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Diffstat (limited to 'lang/python/python-referencing/test.sh')
-rw-r--r--lang/python/python-referencing/test.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/lang/python/python-referencing/test.sh b/lang/python/python-referencing/test.sh
new file mode 100644
index 000000000..0517ba168
--- /dev/null
+++ b/lang/python/python-referencing/test.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+[ "$1" = python3-referencing ] || exit 0
+
+python3 - << 'EOF'
+
+from referencing import Registry, Resource
+import referencing.jsonschema
+
+schema = Resource.from_contents( # Parse some contents into a 2020-12 JSON Schema
+ {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "urn:example:a-202012-schema",
+ "$defs": {
+ "nonNegativeInteger": {
+ "$anchor": "nonNegativeInteger",
+ "type": "integer",
+ "minimum": 0,
+ },
+ },
+ }
+)
+registry = schema @ Registry() # Add the resource to a new registry
+
+# From here forward, this would usually be done within a library wrapping this one,
+# like a JSON Schema implementation
+resolver = registry.resolver()
+resolved = resolver.lookup("urn:example:a-202012-schema#nonNegativeInteger")
+assert resolved.contents == {
+ "$anchor": "nonNegativeInteger",
+ "type": "integer",
+ "minimum": 0,
+}
+
+EOF