Skip to content

Conversation

@SeanTAllen
Copy link
Member

Adds integration tests that exercise SSL connections against real PostgreSQL instances, replacing mock-only coverage for SSL behavior.

Two Docker containers are now started by make start-pg-containers: a plain PostgreSQL on port 5432 and an SSL-enabled one on port 5433. The SSL container reuses the existing test certificates from assets/, with an entrypoint wrapper to fix key file permissions (PostgreSQL requires 0600 on the private key).

Four new integration tests:

  • SSL/Connect: verify successful SSL connection
  • SSL/Authenticate: verify MD5 auth over SSL
  • SSL/Query: execute and verify query results over SSL
  • SSL/Refused: verify SSLRequired fails against non-SSL server

Closes #80

@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Feb 11, 2026
Adds integration tests that exercise SSL connections against real
PostgreSQL instances, replacing mock-only coverage for SSL behavior.

Locally, `make start-pg-containers` now starts two PostgreSQL
containers — one plain on port 5432 and one with SSL on port 5433.
The SSL container reuses the existing test certificates from assets/,
with an entrypoint wrapper to fix key file permissions.

In CI, a pre-built GHCR image (ghcr.io/ponylang/postgres-ci-pg-ssl)
provides the SSL-enabled PostgreSQL as a service container, since
GitHub Actions service containers start before checkout and can't
mount repo files. A build-ci-image.yml workflow rebuilds the image
on demand.

Four new integration tests:
- SSL/Connect: verify successful SSL connection
- SSL/Authenticate: verify MD5 auth over SSL
- SSL/Query: execute and verify query results over SSL
- SSL/Refused: verify SSLRequired fails against non-SSL server

Closes #80
@SeanTAllen SeanTAllen force-pushed the ssl-integration-tests branch from f898bf5 to 406c29a Compare February 11, 2026 01:49
@SeanTAllen SeanTAllen merged commit f41ad7e into main Feb 11, 2026
8 checks passed
@SeanTAllen SeanTAllen deleted the ssl-integration-tests branch February 11, 2026 01:51
@ponylang-main ponylang-main removed the discuss during sync Should be discussed during an upcoming sync label Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add SSL integration tests

2 participants