Title: Getting PointerToNowhere when migrating from RefResolver to referencing · Issue #203 · python-openapi/openapi-schema-validator · GitHub
Open Graph Title: Getting PointerToNowhere when migrating from RefResolver to referencing · Issue #203 · python-openapi/openapi-schema-validator
X Title: Getting PointerToNowhere when migrating from RefResolver to referencing · Issue #203 · python-openapi/openapi-schema-validator
Description: Dear team, I've been trying my best to migrate my schema validation from RefResolver to the newer referencing library, but with no avail. I would really appreciate some help or tips to point me in the right direction. What is working for...
Open Graph Description: Dear team, I've been trying my best to migrate my schema validation from RefResolver to the newer referencing library, but with no avail. I would really appreciate some help or tips to point me in ...
X Description: Dear team, I've been trying my best to migrate my schema validation from RefResolver to the newer referencing library, but with no avail. I would really appreciate some help or tips to point me...
Opengraph URL: https://github.com/python-openapi/openapi-schema-validator/issues/203
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Getting PointerToNowhere when migrating from RefResolver to referencing","articleBody":"Dear team,\r\nI've been trying my best to migrate my schema validation from RefResolver to the newer referencing library, but with no avail.\r\nI would really appreciate some help or tips to point me in the right direction.\r\n\r\nWhat is working for me, with RefResolver, is the following code:\r\n```py\r\ndef validate_schema(\r\n instance: dict[str, Any],\r\n schema: dict[str, Any],\r\n *,\r\n path: str,\r\n method: str,\r\n response: str,\r\n content: str = \"application/json\",\r\n) -\u003e None:\r\n try:\r\n _methods = schema[\"paths\"][path]\r\n\r\n except KeyError: # pragma: no cover (should never happen)\r\n msg = f\"Path {path} not found in schema\"\r\n raise ValueError(msg) from None\r\n\r\n try:\r\n _responses = _methods[method]\r\n\r\n except KeyError: # pragma: no cover (should never happen)\r\n msg = f\"Method {method} not found in schema\"\r\n raise ValueError(msg) from None\r\n\r\n try:\r\n _content = _responses[\"responses\"][response][\"content\"]\r\n\r\n except KeyError: # pragma: no cover (should never happen)\r\n msg = f\"Response {response} not found in schema\"\r\n raise ValueError(msg) from None\r\n\r\n try:\r\n _schema = _content[content][\"schema\"]\r\n\r\n except KeyError: # pragma: no cover (should never happen)\r\n msg = f\"Content {content} not found in schema\"\r\n raise ValueError(msg) from None\r\n\r\n openapi_schema_validator.validate(\r\n instance,\r\n _schema,\r\n cls=OAS30Validator,\r\n resolver=RefResolver.from_schema(schema), # TODO: migrate to referencing lib\r\n )\r\n```\r\nI then tried to migrate to the referencing lib as mentioned [here](https://openapi-schema-validator.readthedocs.io/en/latest/references.html):\r\n```py\r\nresource = Resource.from_contents(schema, default_specification=DRAFT202012)\r\nregistry = Registry().with_resource(\"\", resource)\r\nopenapi_schema_validator.validate(instance, _schema, registry=registry)\r\n```\r\nBut with no success, as all I get are errors like:\r\n`jsonschema.exceptions._WrappedReferencingError: PointerToNowhere: '/components/schemas/Foo' does not exist within {'$ref': '#/components/schemas/Foo'}`\r\n\r\nWhat am I missing? Thank you for the help.","author":{"url":"https://github.com/stefanofusai","@type":"Person","name":"stefanofusai"},"datePublished":"2024-10-02T16:35:18.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/203/openapi-schema-validator/issues/203"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:1bf65441-2e07-3bf2-5a74-48709789700d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C2B2:26CD15:31F7855:4508335:6977C20F |
| html-safe-nonce | 14ba3305bd688065996384a1610cfe5bbe4c89ed4604ed094bdd8c07a4d3c2bc |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMkIyOjI2Q0QxNTozMUY3ODU1OjQ1MDgzMzU6Njk3N0MyMEYiLCJ2aXNpdG9yX2lkIjoiNjE2NzYyMzE2MTA5MzgwMDQ2MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | ba8057ad51e4fb6173fd262f8a2a340647dcbce7a70c0d2a3c1129799808b4cc |
| hovercard-subject-tag | issue:2562146975 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python-openapi/openapi-schema-validator/203/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b07296a7edb36c05befc889a26a429dbe02955b670a6bb8b6bf6c337c0351ace/python-openapi/openapi-schema-validator/issues/203 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b07296a7edb36c05befc889a26a429dbe02955b670a6bb8b6bf6c337c0351ace/python-openapi/openapi-schema-validator/issues/203 |
| og:image:alt | Dear team, I've been trying my best to migrate my schema validation from RefResolver to the newer referencing library, but with no avail. I would really appreciate some help or tips to point me in ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | stefanofusai |
| hostname | github.com |
| expected-hostname | github.com |
| None | dd7783bd9901db88bac6bc215af7f020bc205a04ebc67e6c7def882ef2859ecd |
| turbo-cache-control | no-preview |
| go-import | github.com/python-openapi/openapi-schema-validator git https://github.com/python-openapi/openapi-schema-validator.git |
| octolytics-dimension-user_id | 126442889 |
| octolytics-dimension-user_login | python-openapi |
| octolytics-dimension-repository_id | 245119225 |
| octolytics-dimension-repository_nwo | python-openapi/openapi-schema-validator |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 245119225 |
| octolytics-dimension-repository_network_root_nwo | python-openapi/openapi-schema-validator |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 5d30081a77a5d66860584073cb38fd98fd7f9388 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width