Add instructions to run databases in docker.
This commit is contained in:
parent
28b48aada9
commit
55863b75ba
6 changed files with 51 additions and 3 deletions
|
@ -22,3 +22,25 @@ sudo apt install postgresql
|
||||||
|
|
||||||
Тесты сами запускают базу данных в начале, и останавливают её в конце.
|
Тесты сами запускают базу данных в начале, и останавливают её в конце.
|
||||||
База данных работает от текущего пользователя во временной директории.
|
База данных работает от текущего пользователя во временной директории.
|
||||||
|
|
||||||
|
## Запуск postgres в docker
|
||||||
|
|
||||||
|
Даже если у вас linux (и уж тем более, если нет), вы можете не захотеть ставить postgres в систему.
|
||||||
|
Альтернативный способ — запустить бд в докере.
|
||||||
|
|
||||||
|
Для этого нужно установить docker и docker-compose по инструкции из [dockertest](../dockertest/README.md).
|
||||||
|
Добвиться успешного запуска
|
||||||
|
```
|
||||||
|
go test -v ./dockertest/...
|
||||||
|
```
|
||||||
|
|
||||||
|
Запускать тесты можно будет так:
|
||||||
|
```
|
||||||
|
(cd dao && docker-compose up -d && sleep 1 && env PGCONN="host=127.0.0.1 port=5432 database=shad-go user=gopher password=pass" go test -v ./... -count=1 || true && docker-compose down)
|
||||||
|
```
|
||||||
|
Эта команда стартует docker с postgresql, запускает тесты, передав им DSN через переменную окружения, удаляет контейнеры в конце.
|
||||||
|
|
||||||
|
Как подчистить контейнеры, если что-то пошло не так:
|
||||||
|
```
|
||||||
|
(cd dao && docker-compose down)
|
||||||
|
```
|
||||||
|
|
10
dao/docker-compose.yaml
Normal file
10
dao/docker-compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
pg:
|
||||||
|
image: postgres:latest
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: shad-go
|
||||||
|
POSTGRES_USER: gopher
|
||||||
|
POSTGRES_PASSWORD: pass
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
|
@ -9,8 +9,6 @@
|
||||||
go test -v ./dockertest/... -count=1
|
go test -v ./dockertest/... -count=1
|
||||||
```
|
```
|
||||||
|
|
||||||
Только **после того, как тесты пройдут локально,** можете запушить решение в систему.
|
|
||||||
|
|
||||||
### С чего начать?
|
### С чего начать?
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
|
@ -16,4 +16,4 @@
|
||||||
|
|
||||||
Мы рекомендуем использовать функциональность `SELECT FOR UPDATE`.
|
Мы рекомендуем использовать функциональность `SELECT FOR UPDATE`.
|
||||||
|
|
||||||
Комментарии по запуску postgres смотрите в задаче `dao`.
|
Комментарии по запуску postgres смотрите в задаче [dao](../dao/).
|
||||||
|
|
10
ledger/docker-compose.yaml
Normal file
10
ledger/docker-compose.yaml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
pg:
|
||||||
|
image: postgres:latest
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: shad-go
|
||||||
|
POSTGRES_USER: gopher
|
||||||
|
POSTGRES_PASSWORD: pass
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
|
@ -19,3 +19,11 @@ sudo apt install redis-server
|
||||||
Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.
|
Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.
|
||||||
|
|
||||||
Тесты сами запускают `redis` в начале, и останавливают его в конце.
|
Тесты сами запускают `redis` в начале, и останавливают его в конце.
|
||||||
|
|
||||||
|
## Запуск redis в docker
|
||||||
|
|
||||||
|
Комментарии по запуску бд в docker смотрите в задаче [dao](../dao/).
|
||||||
|
|
||||||
|
```
|
||||||
|
(cd shopfront && docker-compose up -d && sleep 1 && env REDIS="localhost:6379" go test -v ./... -count=1 || true && docker-compose down)
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue