Check endpoints: script rewrite + CI workflow#162
Open
nstillman-te wants to merge 1 commit intolichess-org:masterfrom
Open
Check endpoints: script rewrite + CI workflow#162nstillman-te wants to merge 1 commit intolichess-org:masterfrom
nstillman-te wants to merge 1 commit intolichess-org:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refactors the existing
check-endpoints.pyscript into a CI-friendly spec-vs-implementation checker, and adds a workflow that keeps a single auto-updated issue listing missing API endpoints and query params (tied to issue #6 / rolling CI). The current list in #6 was produced by the old script and is stale/inaccurate. Also adds a small dev-only test suite for the checker.check-endpoints.py
GETvsPOSTon the same URL).(path, method)pairs and their query params fromberserk/clients.--json, a JSON report with:missing_endpoints(spec(path, method)pairs not implemented by the client),missing_params(query params present in the spec but not passed by the client, including the client method location).FALSE_POSITIVES:/oauth(intentionally not implemented in the client), and variant/tablebase-style paths like/standard,/atomic,/antichessthat are effectively covered but don’t map cleanly in the checker’s spec-vs-AST logic.CI workflow (
.github/workflows/check-endpoints.yml)lichess.org, runscheck-endpoints.py, and:Spec vs implementation: missing endpoints or params (auto-updated)with a rendered list of missing endpoints/params, orDev tests (
dev_tests/)dev_tests/test_check_endpoints.pyplus fixtures underdev_tests/fixtures/(not run bymake test; run manually withuv run pytest dev_tests/test_check_endpoints.py -v).request(...),path=keyword, params via aparamsvariable, and false-positive paths).