Stop depending on Postgres get echoing credentials#307
Conversation
The Managed Postgres API stops returning the superuser password and connectionString outside the create and password-reset responses on July 31, 2026. Source credentials from the create response instead: - postgres_cdc_test: capture username/password and parse port/database from the create response's connection string, connect to Postgres from discrete parts (get's hostname + saved credentials), and drop the get-response connection-string assertion. - integration_postgres_test: assert credentials on the create response and drop the connection-string assertion on the polled get. - CLI `postgres get`: stop printing the echoed connection string. Both test changes are safe against the old and new API behavior. Model changes to PostgresService land later with the standard drift remediation once the upstream spec is published. Part of #306 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 8fdf24e. Configure here.
Addresses Bugbot review: pg_port/pg_database silently fell back to defaults if the create response's connection string was empty. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Addressed the Bugbot finding in 414367f: the CDC test now asserts the create response's connection string is non-empty before parsing port/database from it, so a missing value fails at provision time instead of silently falling back to The Cloud integration tests failure is not caused by this PR: ClickPipe creation returned |
|
The re-run on 414367f reproduced the same failure: ClickPipe create → |

Summary
The Managed Postgres API stops returning the superuser
passwordandconnectionStringoutside the create and password-reset responses on July 31, 2026. This PR removes our dependence on the get endpoint echoing credentials, ahead of the 0.4.0 release — covering steps 1 and 2 of #306. Step 3 (model/snapshot updates) waits for the updated upstream spec and follows the standard drift-remediation flow.Changes
postgres_cdc_test.rs: captureusername/passwordfrom the create response (the only surface guaranteed to keep returning them), parse port/database from the create response's connection string (default 5432/postgres), and connect to Postgres from discrete parts (hostnamefrom the polled get + saved credentials) instead of the get-echoed connection string. Dropped the get-response connection-string assertion; added create-response credential assertions.integration_postgres_test.rs: assertusername/password/connectionStringare non-empty on the create response, and drop the connection-string assertion on the polled get (which inverts on July 31).postgres get: no longer prints the echoed connection string (it was already guarded by an is-empty check, so it would have silently disappeared; hostname and username remain in the rendered output). Credentials are available frompostgres createandpostgres reset-password.Both test changes are safe against the old and new API behavior.
Testing
cargo test --workspace— all pass (live-cloud integration tests remain#[ignore]d but compile).cargo clippy --workspace --all-targets -- -D warnings— clean.cargo fmt --all --check— clean.Part of #306
🤖 Generated with Claude Code