test: close gaps found in the post-merge reviews of #797, #803 and #804 - #816
Merged
Merged
Conversation
keboola-pr-reviewer-bot
approved these changes
Sep 30, 2026
keboola-pr-reviewer-bot
left a comment
There was a problem hiding this comment.
Verdict: auto_approve (risk 1/5) · profile _default
Test-only PR plus one inert docstring edit — safe to auto-approve.
This was referenced Sep 30, 2026
Closed
Merged
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.
What was wrong
Reviews of three merged PRs found tests that pass although the behavior that they guard is broken.
check_error_codes.pytests call only the scanner. No test callsmain(), whichmake check-error-codesand CI run. Amain()that scans no files or never returns 1 passes all tests.GET /apps, or thesync pulltype lookup through a paged response. Thelist_appsdocstring says that the endpoint has nobranchIdparameter, but sandboxes-service acceptscomponentId,typeandbranchId.runIdor an alias table passes.project statuspasses when each project hasstatus: "error", and a list command exits 0 when a project call fails.config listandstorage tablesdo not compare the query, so a change toincludepasses.job listcompares the raw query, so a different parameter order fails.CONTRIBUTING.mdsays that the 1-vs-10 case proves that the count does not grow per item.What changed
tests/test_integration.py: new tests runmain()with a planted literal and with a doc that has no row for one enum member, and check thatSRC_ROOTis the source tree. The module docstring says which tests need credentials.tests/test_permissions_cli.py: thepermissions setrefusal test also checks the refusal text.tests/test_data_app_service.py: new tests for the page-cap warning, a 503 on page 2 after the retries, andload_data_app_typeswith the data app on page 2.data_science_client.py: thelist_appsdocstring names the filters of the endpoint and says that the method sends none of them. The request does not change.tests/helpers.py:assert_api_callscompares the query parsed and sorted.include_token=Trueadds theX-StorageApi-Tokenof each call.tests/test_api_call_counts.py:runId,resultandendTime. Tables are plain, alias and shared. No expected call list changed.project statuschecksstatus == "ok", and list commands check thaterrorsis empty.config listandstorage tablespin the query.KBAGENT_AUTO_UPDATE=false. The module docstring says that the telemetry event is not counted, because the tests callappand notrun().CONTRIBUTING.md: the call-count bullet says what the 1-vs-10 case catches and what it does not catch, and that fixtures must look like real API payloads.Not changed
The stop rule of
list_appsstays. It stops on a page shorter thanlimit=500, and sandboxes-service has accepted alimitof up to 500 since its first commit.Tests
if False:in place ofif found_any:inmain(),list_appswith one request, a per-config call only for transformations, a per-job call only for jobs withrunId, both fan-out calls with one token,include=configuration,rows.job liststill passes.make checkpasses.tyreports only the existinghatchlingimport warning inscripts/hatch_build.py.Tests and one docstring only. No version bump, no changelog entry.