xmpp.chapril.org-ejabberd/test/docker/README.md

59 lines
1.6 KiB
Markdown
Raw Normal View History

# Docker database images to run ejabberd tests
2019-07-18 17:14:20 +02:00
## Starting databases
You can start the Docker environment with Docker Compose, from ejabberd repository root.
The following command will launch MySQL, MSSQL, PostgreSQL, Redis and keep the console
attached to it.
```
mkdir test/docker/db/mysql/data
mkdir test/docker/db/postgres/data
(cd test/docker; docker-compose up)
```
You can stop all the databases with CTRL-C.
## Creating database for MSSQL
The following commands will create the necessary login, user and database, will grant rights on the database in MSSQL and create the ejabberd schema:
```
docker cp test/docker/db/mssql/initdb/initdb_mssql.sql ejabberd-mssql:/
docker exec ejabberd-mssql /opt/mssql-tools/bin/sqlcmd -U SA -P ejabberd_Test1 -S localhost -i /initdb_mssql.sql
docker cp sql/mssql.sql ejabberd-mssql:/
docker exec ejabberd-mssql /opt/mssql-tools/bin/sqlcmd -U SA -P ejabberd_Test1 -S localhost -i /mssql.sql
```
2019-07-18 17:14:20 +02:00
## Running tests
Before running the test, you can ensure there is no running instance of Erlang common test tool. You can run the following
command, especially if all test are skipped with an `eaddrinuse` error:
```
pkill -9 ct_run
```
2019-07-18 17:14:20 +02:00
You can run tests with (from ejabberd repository root):
```
make test
```
## Cleaning up the test environment
You can fully clean up the environment with:
```
(cd test/docker; docker-compose down)
```
2019-05-24 10:31:51 +02:00
If you want to clean the data, you can remove the data directories after the `docker-compose down` command:
2019-05-24 10:31:51 +02:00
```
2019-07-18 17:05:50 +02:00
rm -rf test/docker/db/mysql/data
rm -rf test/docker/db/postgres/data
docker volume rm docker_mssqldata
2019-07-18 17:05:50 +02:00
```