Fix failing tests and increase timeouts#168
Draft
tkilias wants to merge 22 commits into
Draft
Conversation
This was referenced Jun 27, 2026
|
ckunki
requested changes
Jun 29, 2026
| # actually list[ExasolDatabase] | ||
| dbs = ensure_type(list, resp, "Failed to list databases") | ||
| return (db.id for db in dbs) | ||
| active_database_ids = [ |
| @@ -0,0 +1,265 @@ | |||
| from __future__ import annotations | |||
Collaborator
There was a problem hiding this comment.
Suggested change
| from __future__ import annotations | |
| {# | |
| This file has been copied from | |
| https://github.com/openapi-generators/openapi-python-client/blob/v0.29.0/openapi_python_client/templates/model.py.jinja | |
| See also https://github.com/openapi-generators/openapi-python-client#using-custom-templates. | |
| Custom instructions have been added for processing ApiError, | |
| changes are highlighted by comments below. | |
| ``noxfile.py`` passes this file to API generator via CLI option ``--custom-template-path``. | |
| #} | |
| from __future__ import annotations |
| d = dict(src_dict) | ||
| {% for property in model.required_properties + model.optional_properties %} | ||
| {% if property.required %} | ||
| {% if class_name == "ApiError" %} |
Collaborator
There was a problem hiding this comment.
Suggested change
| {% if class_name == "ApiError" %} | |
| {# Begin of custom instructions #} | |
| {% if class_name == "ApiError" %} |
| {% else %} | ||
| {% set property_source = 'd.pop("' + property.name + '")' %} | ||
| {% endif %} | ||
| {% else %} |
Collaborator
There was a problem hiding this comment.
Suggested change
| {% else %} | |
| {# End of custom instructions #} | |
| {% else %} |
| def wait_until_deleted( | ||
| self, | ||
| database_id: str, | ||
| timeout: timedelta = timedelta(seconds=1), |
Collaborator
There was a problem hiding this comment.
See sonar errors.
Proposal:
- Move result handling from function
verify_deleted()to new global functionverify_deleted() - Rename function
verify_deleted()toverify_deleted_with_retry() - Call global function
verify_deleted()inside
ckunki
requested changes
Jun 29, 2026
| by environment variable ``CI``, see | ||
| https://docs.github.com/en/actions/learn-github-actions/variables. | ||
| #default-environment-variables. | ||
| """ |
Collaborator
There was a problem hiding this comment.
Suggested change
| CLI option ``--custom-template-path`` is used to pass a custom template. | |
| See the comments in file ``openapi_templates/model.py.jinja`` for details. | |
| """ |
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 changed
This PR collects the stability and robustness fixes needed to make the failing lifecycle checks reviewable on their own.
It includes:
ApiErrorparsing so malformed backend error payloads do not crash error handlingWhy it changed
The original branch mixed test-stability work, workflow changes, feature work, and refactoring. This PR isolates the behavioral fixes that address flaky deletion and allowed-IP polling, plus the API error hardening that supports those flows.
Impact
This should make the handwritten access helpers and their related tests more resilient to transitional backend states and malformed error responses.
Validation
poetry run pytest -q test/unit/test_api_access.py test/unit/test_ensure_type.pypoetry run nox -s format:checkpoetry run nox -s lint:typingIntegration tests requiring SaaS credentials were not run locally in this publish step.