mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-25 11:16:11 +01:00
chore: improve database docker instructions
- Do not require minio for mariadb docker. - Do not require elasticsearch for mysql. - Fix postgress password parameter. - Add the multistatement query for mysql (this is not optimal but adding Makefile code doesn't seem to work really well either)
This commit is contained in:
parent
ab36ab57e4
commit
f352d6db81
1
Makefile
1
Makefile
|
@ -660,6 +660,7 @@ generate-ini-pgsql:
|
||||||
-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
|
-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
|
||||||
-e 's|{{TEST_LOGGER}}|$(or $(TEST_LOGGER),test$(COMMA)file)|g' \
|
-e 's|{{TEST_LOGGER}}|$(or $(TEST_LOGGER),test$(COMMA)file)|g' \
|
||||||
-e 's|{{TEST_TYPE}}|$(or $(TEST_TYPE),integration)|g' \
|
-e 's|{{TEST_TYPE}}|$(or $(TEST_TYPE),integration)|g' \
|
||||||
|
-e 's|{{TEST_STORAGE_TYPE}}|$(or $(TEST_STORAGE_TYPE),minio)|g' \
|
||||||
tests/pgsql.ini.tmpl > tests/pgsql.ini
|
tests/pgsql.ini.tmpl > tests/pgsql.ini
|
||||||
|
|
||||||
.PHONY: test-pgsql
|
.PHONY: test-pgsql
|
||||||
|
|
|
@ -126,17 +126,16 @@ You can also perform e2e tests using MariaDB/MySQL or PostgreSQL if you want.
|
||||||
|
|
||||||
Setup a MySQL database inside docker
|
Setup a MySQL database inside docker
|
||||||
```
|
```
|
||||||
docker run -e "MYSQL_DATABASE=test" -e "MYSQL_ALLOW_EMPTY_PASSWORD=yes" -p 3306:3306 --rm --name mysql mysql:latest #(just ctrl-c to stop db and clean the container)
|
docker run -e "MYSQL_DATABASE=test" -e "MYSQL_ALLOW_EMPTY_PASSWORD=yes" -p 3306:3306 --rm --name mysql mysql:latest #(Ctrl-c to stop the database)
|
||||||
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --rm --name elasticsearch elasticsearch:7.6.0 #(in a second terminal, just ctrl-c to stop db and clean the container)
|
|
||||||
```
|
```
|
||||||
Start tests based on the database container
|
Start tests based on the database container
|
||||||
```
|
```
|
||||||
TEST_MYSQL_HOST=localhost:3306 TEST_MYSQL_DBNAME=test TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-e2e-mysql
|
TEST_MYSQL_HOST=localhost:3306 TEST_MYSQL_DBNAME=test?multiStatements=true TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-e2e-mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
Setup a pgsql database inside docker
|
Setup a pgsql database inside docker
|
||||||
```
|
```
|
||||||
docker run -e "POSTGRES_DB=test" -p 5432:5432 --rm --name pgsql postgres:latest #(just ctrl-c to stop db and clean the container)
|
docker run -e POSTGRES_DB=test -e POSTGRES_PASSWORD=password -p 5432:5432 --rm --name pgsql postgres:latest #(Ctrl-c to stop the database)
|
||||||
```
|
```
|
||||||
Start tests based on the database container
|
Start tests based on the database container
|
||||||
```
|
```
|
||||||
|
|
|
@ -61,22 +61,21 @@ make test-sqlite
|
||||||
### Run MySQL integration tests
|
### Run MySQL integration tests
|
||||||
Setup a MySQL database inside docker
|
Setup a MySQL database inside docker
|
||||||
```
|
```
|
||||||
docker run -e "MYSQL_DATABASE=test" -e "MYSQL_ALLOW_EMPTY_PASSWORD=yes" -p 3306:3306 --rm --name mysql mysql:latest #(just ctrl-c to stop db and clean the container)
|
docker run -e MYSQL_DATABASE=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 --rm --name mysql mysql:latest #(Ctrl-c to stop the database)
|
||||||
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --rm --name elasticsearch elasticsearch:7.6.0 #(in a second terminal, just ctrl-c to stop db and clean the container)
|
|
||||||
```
|
```
|
||||||
Start tests based on the database container
|
Start tests based on the database container
|
||||||
```
|
```
|
||||||
TEST_MYSQL_HOST=localhost:3306 TEST_MYSQL_DBNAME=test TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-mysql
|
TEST_MYSQL_HOST=localhost:3306 TEST_MYSQL_DBNAME=test?multiStatements=true TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run pgsql integration tests
|
### Run pgsql integration tests
|
||||||
Setup a pgsql database inside docker
|
Setup a pgsql database inside docker
|
||||||
```
|
```
|
||||||
docker run -e "POSTGRES_DB=test" -p 5432:5432 --rm --name pgsql postgres:latest #(just ctrl-c to stop db and clean the container)
|
docker run -e "POSTGRES_DB=test" -e POSTGRES_PASSWORD=postgres -p 5432:5432 --rm --name pgsql postgres:latest #(Ctrl-c to stop the database)
|
||||||
```
|
```
|
||||||
Start tests based on the database container
|
Start tests based on the database container
|
||||||
```
|
```
|
||||||
TEST_PGSQL_HOST=localhost:5432 TEST_PGSQL_DBNAME=test TEST_PGSQL_USERNAME=postgres TEST_PGSQL_PASSWORD=postgres make test-pgsql
|
TEST_STORAGE_TYPE=local TEST_PGSQL_HOST=localhost:5432 TEST_PGSQL_DBNAME=test TEST_PGSQL_USERNAME=postgres TEST_PGSQL_PASSWORD=postgres make test-pgsql
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running individual tests
|
### Running individual tests
|
||||||
|
|
|
@ -112,7 +112,7 @@ MINIO_BASE_PATH = avatars/
|
||||||
MINIO_BASE_PATH = repo-avatars/
|
MINIO_BASE_PATH = repo-avatars/
|
||||||
|
|
||||||
[storage]
|
[storage]
|
||||||
STORAGE_TYPE = minio
|
STORAGE_TYPE = {{TEST_STORAGE_TYPE}}
|
||||||
SERVE_DIRECT = false
|
SERVE_DIRECT = false
|
||||||
MINIO_ENDPOINT = minio:9000
|
MINIO_ENDPOINT = minio:9000
|
||||||
MINIO_ACCESS_KEY_ID = 123456
|
MINIO_ACCESS_KEY_ID = 123456
|
||||||
|
|
Loading…
Reference in a new issue