Allow specifying the Postgres database's port when running unit tests with Postgres. (#12376)
parent
efdbcfd6af
commit
708d88b1a2
|
@ -0,0 +1 @@
|
||||||
|
Allow specifying the Postgres database's port when running unit tests with Postgres.
|
|
@ -206,9 +206,10 @@ To do so, [configure Postgres](../postgres.md) and run `trial` with the
|
||||||
following environment variables matching your configuration:
|
following environment variables matching your configuration:
|
||||||
|
|
||||||
- `SYNAPSE_POSTGRES` to anything nonempty
|
- `SYNAPSE_POSTGRES` to anything nonempty
|
||||||
- `SYNAPSE_POSTGRES_HOST`
|
- `SYNAPSE_POSTGRES_HOST` (optional if it's the default: UNIX socket)
|
||||||
- `SYNAPSE_POSTGRES_USER`
|
- `SYNAPSE_POSTGRES_PORT` (optional if it's the default: 5432)
|
||||||
- `SYNAPSE_POSTGRES_PASSWORD`
|
- `SYNAPSE_POSTGRES_USER` (optional if using a UNIX socket)
|
||||||
|
- `SYNAPSE_POSTGRES_PASSWORD` (optional if using a UNIX socket)
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -220,6 +221,13 @@ export SYNAPSE_POSTGRES_PASSWORD=mydevenvpassword
|
||||||
trial
|
trial
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You don't need to specify the host, user, port or password if your Postgres
|
||||||
|
server is set to authenticate you over the UNIX socket (i.e. if the `psql` command
|
||||||
|
works without further arguments).
|
||||||
|
|
||||||
|
Your Postgres account needs to be able to create databases.
|
||||||
|
|
||||||
|
|
||||||
## Run the integration tests ([Sytest](https://github.com/matrix-org/sytest)).
|
## Run the integration tests ([Sytest](https://github.com/matrix-org/sytest)).
|
||||||
|
|
||||||
The integration tests are a more comprehensive suite of tests. They
|
The integration tests are a more comprehensive suite of tests. They
|
||||||
|
|
|
@ -76,6 +76,7 @@ from tests.utils import (
|
||||||
POSTGRES_BASE_DB,
|
POSTGRES_BASE_DB,
|
||||||
POSTGRES_HOST,
|
POSTGRES_HOST,
|
||||||
POSTGRES_PASSWORD,
|
POSTGRES_PASSWORD,
|
||||||
|
POSTGRES_PORT,
|
||||||
POSTGRES_USER,
|
POSTGRES_USER,
|
||||||
SQLITE_PERSIST_DB,
|
SQLITE_PERSIST_DB,
|
||||||
USE_POSTGRES_FOR_TESTS,
|
USE_POSTGRES_FOR_TESTS,
|
||||||
|
@ -747,6 +748,7 @@ def setup_test_homeserver(
|
||||||
"host": POSTGRES_HOST,
|
"host": POSTGRES_HOST,
|
||||||
"password": POSTGRES_PASSWORD,
|
"password": POSTGRES_PASSWORD,
|
||||||
"user": POSTGRES_USER,
|
"user": POSTGRES_USER,
|
||||||
|
"port": POSTGRES_PORT,
|
||||||
"cp_min": 1,
|
"cp_min": 1,
|
||||||
"cp_max": 5,
|
"cp_max": 5,
|
||||||
},
|
},
|
||||||
|
@ -786,6 +788,7 @@ def setup_test_homeserver(
|
||||||
database=POSTGRES_BASE_DB,
|
database=POSTGRES_BASE_DB,
|
||||||
user=POSTGRES_USER,
|
user=POSTGRES_USER,
|
||||||
host=POSTGRES_HOST,
|
host=POSTGRES_HOST,
|
||||||
|
port=POSTGRES_PORT,
|
||||||
password=POSTGRES_PASSWORD,
|
password=POSTGRES_PASSWORD,
|
||||||
)
|
)
|
||||||
db_conn.autocommit = True
|
db_conn.autocommit = True
|
||||||
|
@ -833,6 +836,7 @@ def setup_test_homeserver(
|
||||||
database=POSTGRES_BASE_DB,
|
database=POSTGRES_BASE_DB,
|
||||||
user=POSTGRES_USER,
|
user=POSTGRES_USER,
|
||||||
host=POSTGRES_HOST,
|
host=POSTGRES_HOST,
|
||||||
|
port=POSTGRES_PORT,
|
||||||
password=POSTGRES_PASSWORD,
|
password=POSTGRES_PASSWORD,
|
||||||
)
|
)
|
||||||
db_conn.autocommit = True
|
db_conn.autocommit = True
|
||||||
|
|
|
@ -35,6 +35,11 @@ LEAVE_DB = os.environ.get("SYNAPSE_LEAVE_DB", False)
|
||||||
POSTGRES_USER = os.environ.get("SYNAPSE_POSTGRES_USER", None)
|
POSTGRES_USER = os.environ.get("SYNAPSE_POSTGRES_USER", None)
|
||||||
POSTGRES_HOST = os.environ.get("SYNAPSE_POSTGRES_HOST", None)
|
POSTGRES_HOST = os.environ.get("SYNAPSE_POSTGRES_HOST", None)
|
||||||
POSTGRES_PASSWORD = os.environ.get("SYNAPSE_POSTGRES_PASSWORD", None)
|
POSTGRES_PASSWORD = os.environ.get("SYNAPSE_POSTGRES_PASSWORD", None)
|
||||||
|
POSTGRES_PORT = (
|
||||||
|
int(os.environ["SYNAPSE_POSTGRES_PORT"])
|
||||||
|
if "SYNAPSE_POSTGRES_PORT" in os.environ
|
||||||
|
else None
|
||||||
|
)
|
||||||
POSTGRES_BASE_DB = "_synapse_unit_tests_base_%s" % (os.getpid(),)
|
POSTGRES_BASE_DB = "_synapse_unit_tests_base_%s" % (os.getpid(),)
|
||||||
|
|
||||||
# When debugging a specific test, it's occasionally useful to write the
|
# When debugging a specific test, it's occasionally useful to write the
|
||||||
|
@ -55,6 +60,7 @@ def setupdb():
|
||||||
db_conn = db_engine.module.connect(
|
db_conn = db_engine.module.connect(
|
||||||
user=POSTGRES_USER,
|
user=POSTGRES_USER,
|
||||||
host=POSTGRES_HOST,
|
host=POSTGRES_HOST,
|
||||||
|
port=POSTGRES_PORT,
|
||||||
password=POSTGRES_PASSWORD,
|
password=POSTGRES_PASSWORD,
|
||||||
dbname=POSTGRES_DBNAME_FOR_INITIAL_CREATE,
|
dbname=POSTGRES_DBNAME_FOR_INITIAL_CREATE,
|
||||||
)
|
)
|
||||||
|
@ -73,6 +79,7 @@ def setupdb():
|
||||||
database=POSTGRES_BASE_DB,
|
database=POSTGRES_BASE_DB,
|
||||||
user=POSTGRES_USER,
|
user=POSTGRES_USER,
|
||||||
host=POSTGRES_HOST,
|
host=POSTGRES_HOST,
|
||||||
|
port=POSTGRES_PORT,
|
||||||
password=POSTGRES_PASSWORD,
|
password=POSTGRES_PASSWORD,
|
||||||
)
|
)
|
||||||
db_conn = LoggingDatabaseConnection(db_conn, db_engine, "tests")
|
db_conn = LoggingDatabaseConnection(db_conn, db_engine, "tests")
|
||||||
|
@ -83,6 +90,7 @@ def setupdb():
|
||||||
db_conn = db_engine.module.connect(
|
db_conn = db_engine.module.connect(
|
||||||
user=POSTGRES_USER,
|
user=POSTGRES_USER,
|
||||||
host=POSTGRES_HOST,
|
host=POSTGRES_HOST,
|
||||||
|
port=POSTGRES_PORT,
|
||||||
password=POSTGRES_PASSWORD,
|
password=POSTGRES_PASSWORD,
|
||||||
dbname=POSTGRES_DBNAME_FOR_INITIAL_CREATE,
|
dbname=POSTGRES_DBNAME_FOR_INITIAL_CREATE,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue