Skip to content

UnbFeelings/unb-feelings-api

Repository files navigation

UnbFeelings_api

Verificação Badge
Testes Master pipeline status
Testes Develop pipeline status
Cobertura Master Coverage Master Status
Cobertura Develop Coverage Develop Status

Para subir os ambientes do UnB Feelings API, primeiramente é necessário instalar o docker e o docker-compose em seu computador.

Ambiente de Desenvolvimento

  • Para clonar o repositório execute o comando:
git clone https://github.com/UnbFeelings/unb-feelings-api.git
  • Para subir o ambiente basta fazer:
sudo docker-compose build
sudo docker-compose run dev python manage.py migrate
sudo docker-compose run dev python3 manage.py populatedb
sudo docker-compose run dev python manage.py shell < api/fixtures/scripts/load_dev_data.py
  • Esse primeiro passo só é necessário uma vez. Mas você precisará executar uma nova build(apenas o passo de build) sempre que um novo pacote pip for adicionado aos requirements.

E para executar:

sudo docker-compose up
  • Após executar o ultimo comando, o servidor estará rodando na url 0.0.0.0:8000.

Lembrando que sempre que uma model for alterada, será necessário atualizar/criar a sua devida migração.

sudo docker-compose run dev python manage.py makemigrations

E realizar essa migração no banco:

sudo docker-compose run dev python manage.py migrate
  • Para entrar no terminal do container utilize o seguinte comando
docker exec -it <nome_do_container> bash
  • Com isso você estará dentro do terminal do container e poderá criar um super usuário via shell. O python manage.py createsuperuser não está funcionando devido ao usuário precisar de um curso, então para criar um usuário é necessário entrar via shell pegar(ou criar) um curso e usa-lo na criação do usuário. Mas dentro do "load_dev_data.py"(comando na parte de build) um usuário para curso é criado, ficando:

  • Com isso você pode modificar os arquivos localmente em sua máquina que ele serão automaticamente modificados dentro do container, possibilitando assim ter um ambiente de desenvolvimento sem a necessidade de muita configuração do ambiente.

Ambiente de Testes

  • Para rodar os testes, execute o seguinte comando para subir o ambiente de teste
sudo docker-compose run dev python manage.py test

Também é possível executar os testes pelo mesmo docker do CI:

sudo docker-compose -f compose/test/docker-compose.test.yml build
sudo docker-compose -f compose/test/docker-compose.test.yml run unbfeelings-test python manage.py test

Mas nesse caso, é mais fácil simplismente fazer um push para a sua branch no github que logo o CI irá automaticamente executar os testes.

Agora caso queira ver a cobertura de testes:

sudo docker-compose run dev coverage run --source='.' manage.py test
sudo docker-compose run dev coverage report

Caso queira uma analise mais detalhada da cobertura, basta olhar o submit da cobertura pelo CI para o coveralls, ou, em vez de coverage report executar coverage html e uma pasta de nome htmlcov será criada com a cobertura em HTML.