Files
pack/examples/python-latest-psycopg/test.json
T
86314dc9d8 fix: avoid apt package when psycopg-binary is used (#379)
* feat: detect psycopg[binary] and skip apt packages

When using psycopg2-binary or psycopg[binary], the PostgreSQL client
libraries (libpq-dev, libpq5) are not needed because these variants
ship with pre-compiled binaries. This change:

- Adds usesBinaryPsycopg() to detect binary variants
- Updates usesPostgres() to return false when binary variants are used
- Skips libpq-dev (build) and libpq5 (runtime) apt package installation
- Adds comprehensive unit tests for binary psycopg detection

This reduces image size and build time for projects using binary variants.

* test: add psycopg[binary] integration test

Adds a dedicated test example for psycopg[binary] to verify that the
bracket syntax for optional dependencies is correctly detected. This
ensures the binary detection works for both psycopg2-binary and
psycopg[binary] variants.

Test coverage now includes:
- psycopg2-binary (existing python-system-deps example)
- psycopg[binary] (new python-psycopg-binary example)
- psycopg non-binary (existing python-latest-psycopg example)
- psycopg2 non-binary (existing python-django example)

* test: snapshot update

* test: add binary pyscogp test

* test: ensure libpq is installed for pyscog operation

* build: add helper for running the current dir tests

* test: check to make sure the libpg library is not installed when a binary postgres connection is requested

* test: update snapshot

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-01-15 11:32:30 -07:00

14 lines
342 B
JSON

[
{
"expectedOutput": [
"System libpq found",
"Using psycopg3 - libpq is available",
"Successfully connected to PostgreSQL!",
"Test query result: 1 + 1 = 2",
"Connection closed successfully"
],
"envs": {
"DATABASE_URL": "postgresql://test_user:test_password@postgres:5432/test_db"
}
}
]