Docs restructure (Core Concepts / Push Data / Pull Data) + homepage design refinements - #178
Docs restructure (Core Concepts / Push Data / Pull Data) + homepage design refinements#178hotdata-automation[bot] wants to merge 1 commit into
Conversation
…esign refinements
|
|
||
| ### Changed | ||
|
|
||
| - Docs restructure (Core Concepts / Push Data / Pull Data) + homepage design refinements |
There was a problem hiding this comment.
This entry describes the change as a docs restructure, but the generated diff removes three entire public API groups and one operation:
hotdata.SecretsApi(hotdata/api/secrets_api.py, all*Secret*models)hotdata.RefreshApi(hotdata/api/refresh_api.py,RefreshRequest/RefreshResponse/SchemaRefreshResult/ConnectionRefreshResult/ConnectionSchemaError/TableRefreshError)hotdata.ConnectionTypesApi(ConnectionTypeSummary/ConnectionTypeDetail/ListConnectionTypesResponse)ConnectionsApi.check_connection_health+ConnectionHealthResponse- one
oneOfvariant dropped fromJobResult
Any caller importing those gets an ImportError/AttributeError on upgrade. This needs a ### Removed section with a **Breaking:** note listing them, matching the format used for the 0.10.0 JWT removal above — otherwise the release notes will silently ship a breaking change as a docs tweak.
There was a problem hiding this comment.
Review
Note on context: the full diff exceeded the GitHub API limit (gh pr diff returns HTTP 406, 300-file cap), so I reviewed by reading the changed files from the checkout at the head SHA, guided by the changed-file list. The ~250 files marked +1/-1 are the OpenAPI version-header bump; I focused on the removals and the files with real deltas (hotdata/__init__.py, hotdata/models/job_result.py, hotdata/api/connections_api.py, CHANGELOG.md) plus every in-repo reference to the removed symbols.
The generated code itself is internally consistent — hotdata/__init__.py, hotdata/api/__init__.py, hotdata/models/__init__.py and docs/ have no dangling references to the deleted modules. The problem is the hand-written integration suite, which was not regenerated and still imports them.
Blocking Issues
1. tests/integration/conftest.py imports three deleted modules — breaks the entire integration suite
tests/integration/conftest.py:17 from hotdata.api.connection_types_api import ConnectionTypesApi
tests/integration/conftest.py:25 from hotdata.api.refresh_api import RefreshApi
tests/integration/conftest.py:27 from hotdata.api.secrets_api import SecretsApi
All three modules are deleted in this PR. A conftest.py that fails to import is a collection error, not a test failure — pytest tests/integration (the Integration Tests / integration job, .github/workflows/integration-tests.yml:99) aborts before any test runs, including on forks where the suite would otherwise skip for missing env vars. The fixtures at lines 155-156, 170-171 and 190-191 need to go with the imports.
2. tests/integration/test_secrets_crud.py tests a removed API
Lines 15-18 import SecretsApi, CreateSecretRequest, UpdateSecretRequest; the whole file exercises endpoints that no longer exist in the SDK. Delete the file (and drop the secrets_crud scenario from the parity manifest, or the scenario-parity job will start reporting it missing).
3. tests/integration/test_connection_types_read.py tests a removed API
Line 9 imports ConnectionTypesApi; same treatment as above.
4. CHANGELOG.md:12 does not record the breaking removals
See the inline comment. Three public API classes, one ConnectionsApi operation and a JobResult variant disappear from the public surface, described only as a docs restructure.
Action Required
- Remove the
ConnectionTypesApi/RefreshApi/SecretsApiimports and fixtures fromtests/integration/conftest.py. - Delete
tests/integration/test_secrets_crud.pyandtests/integration/test_connection_types_read.py, and reconcile the scenario manifest inwww.hotdata.dev/api/test-scenarios.yaml. - Add a
### Removed/**Breaking:**entry to the Unreleased section enumerating the removed symbols. - Worth checking the generator pipeline (
.github/workflows/regenerate.yml): it clearly prunestest/anddocs/, but leaves the hand-writtentests/integration/suite stale on every spec removal. This will recur.
I have not run anything — the CI checks were still queued when this review started, so the collection failure above is read from the code, not from a run.
Non-blocking
- nit:
tests/integration/test_connections_read.py:31callsconnections_api.check_connection_health(...), which this PR removes. The module carries a@pytest.mark.skipat line 15, so it will not raise today, but it is dead code against a gone endpoint and willAttributeErrorthe moment the skip is lifted. (not blocking) - super nit:
README.md:3still listssecretsin the feature blurb. (not blocking)
Auto-generated from the updated HotData OpenAPI spec.
Source: https://github.com/hotdata-dev/www.hotdata.dev/pull/386