Skip to content

Commit

Permalink
Configuração para realizar testes usando Docker
Browse files Browse the repository at this point in the history
  • Loading branch information
vnmedeiros committed Feb 22, 2018
1 parent 070da87 commit 3c190b0
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 8 deletions.
13 changes: 12 additions & 1 deletion config_db.sh
@@ -1,9 +1,20 @@
#!/bin/bash
set -e
set -u
echo "Executando config_db.sh..."

#psql -c "CREATE USER mapas"
#createdb --owner mapas mapas
#psql -d mapas -c "CREATE EXTENSION postgis;"

echo "Executando config for database $POSTGRES_DB:"
psql -U mapas -d mapas -c "CREATE EXTENSION unaccent;"
psql -U mapas -f /srv/mapas/db/schema.sql
psql -U mapas -f /srv/mapas/db/initial-data.sql

echo "Executando config for database $POSTGRES_DB_TEST:"
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
DROP DATABASE IF EXISTS $POSTGRES_DB_TEST;
CREATE DATABASE $POSTGRES_DB_TEST;
GRANT ALL PRIVILEGES ON DATABASE $POSTGRES_DB_TEST TO $POSTGRES_USER;
EOSQL
psql -U $POSTGRES_USER -d $POSTGRES_DB_TEST -f /srv/mapas/db/db-test.sql
7 changes: 6 additions & 1 deletion docker-compose.dev.yml
Expand Up @@ -14,15 +14,20 @@ services:
- POSTGRES_PASSWORD=senhaMapas
- POSTGRES_USER=mapas
- POSTGRES_DB=mapas
depends_on:
- db
db:
restart: always
environment:
environment:
- POSTGRES_PASSWORD=senhaMapas
- POSTGRES_USER=mapas
- POSTGRES_DB=mapas
- POSTGRES_DB_TEST=mapasculturais_test
build:
context: .
dockerfile: docker/dev/Dockerfile-db
ports:
- "5432:5432"
volumes:
- 'postgres:/var/lib/postgresql/data'

Expand Down
1 change: 1 addition & 0 deletions docker/dev/Dockerfile
Expand Up @@ -65,6 +65,7 @@ RUN (cd src/protected \
&& mkdir -p src/assets && mkdir -p src/files

COPY src/protected/application/conf/config.docker.php src/protected/application/conf/config.php
COPY src/protected/application/conf/conf-test.docker.php src/protected/application/conf/conf-test-local.php

USER root

Expand Down
17 changes: 16 additions & 1 deletion documentation/docs/mc_developer_tests.md
Expand Up @@ -31,4 +31,19 @@ Os testes também podem serem executados localmente, para isso realize os seguin



### docker
### docker
Os testes utilizando os containers docker apresentam passos similares a execução dos testes localmente, apresentando as seguintes diferenças:

A base de testes, mapasculturais_test é criada ao instanciar um novo container da imagem da base dados do mapas culturais ( arquivo [Dockerfile-db](../../docker/dev/Dockerfile-db)), para mais informações sobre como executar os containers dockers veja o documento [guia do docker](../../docs/mc_developer_tests.md). Dessa forma a criação da base utilizando o comando ```./run-test-local.sh --createdb``` é desnecessário.

Para executar os teste, devemos executar os testes dentro do container, para isso basta executar o seguinte comando:

```
docker exec -it <container (ID ou nome)> <comando>:
docker exec -it mapasculturais_web_1 ./scripts/run-test-local.sh
```


6 changes: 4 additions & 2 deletions scripts/run-test-local.sh
Expand Up @@ -48,14 +48,16 @@ do
esac
done

if [ -f /tmp/mapasculturais-tests-authenticated-user.id ] #FOR TRAVIS-CI?
if [ -f /tmp/mapasculturais-tests-authenticated-user.id ]
then
rm "/tmp/mapasculturais-tests-authenticated-user.id"
fi

echo "BASE TEST: $_NOME_BASE_TEST, USER: $_USER, HOST: $_HOST"

if [ $_CREATE_DB == true ]
then
echo "Password for user $_USER dropdb:\n"
echo "Password for user $_USER dropdb:\n"
dropdb -h $_HOST -p $_PORT -U $_USER --if-exists $_NOME_BASE_TEST
echo "Password for user $_USER createdb:\n"
createdb -h $_HOST -p $_PORT -U $_USER $_NOME_BASE_TEST --owner $_USER
Expand Down
48 changes: 48 additions & 0 deletions src/protected/application/conf/conf-test.docker.php
@@ -0,0 +1,48 @@
<?php
use \Slim\Log;

$config = include 'conf-base.php';
return array_merge($config,
array(
'base.url' => 'http://localhost:8888/',
'site.url' => 'http://localhost:8888/',
'app.log.translations' => false,
'slim.log.level' => Log::DEBUG,
'slim.log.enabled' => true,
// 'app.log.query' => true,
'slim.debug' => true,
'auth.provider' => 'Test',

'auth.config' => array(
'filename' => '/tmp/mapasculturais-tests-authenticated-user.id'
),

// 'app.log.query' => true,
'doctrine.isDev' => true,

'doctrine.database' => array(
'dbname' => 'mapasculturais_test',
'user' => 'mapas',
'password' => 'senhaMapas',
'host' => 'db',

),

'userIds' => array(
'superAdmin' => array(1,2),
// 'admin' => 2,
// 'staff' => 3,
// 'normal' => 4,

'admin' => array(3,4),
'staff' => array(5,6),
'normal' => array(7,8),
),

// disable cache

'app.usePermissionsCache' => false,
'app.chace' => new \Doctrine\Common\Cache\ArrayCache()
// 'app.cache' => function_exists('apc_store') ? new \Doctrine\Common\Cache\ApcCache() : new \Doctrine\Common\Cache\ArrayCache(),
)
);
6 changes: 3 additions & 3 deletions src/protected/application/conf/conf-test.php
Expand Up @@ -22,9 +22,9 @@

'doctrine.database' => array(
'dbname' => 'mapasculturais_test',
'user' => 'mapasculturais_test',
'password' => 'mapasculturais_test',
'host' => 'localhost',
'user' => 'mapas',
'password' => 'senhaMapas',
'host' => 'db',

),

Expand Down

0 comments on commit 3c190b0

Please sign in to comment.