@@ -11,6 +11,10 @@ help: ## Mostra esta mensagem de ajuda
1111 @echo " "
1212 @grep -E ' ^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | sort | awk ' BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-15s$(NC) %s\n", $$1, $$2}'
1313
14+ install : # # Instala dependências com Poetry
15+ @echo " $( YELLOW) Instalando dependências...$( NC) "
16+ poetry install
17+
1418build : # # Constrói as imagens Docker
1519 @echo " $( YELLOW) Construindo imagens Docker...$( NC) "
1620 docker-compose build
@@ -26,6 +30,19 @@ down: ## Para os serviços
2630logs : # # Mostra os logs dos serviços
2731 docker-compose logs -f pynews-api
2832
33+ restart : # # Reinicia os serviços
34+ @echo " $( YELLOW) Reiniciando serviços...$( NC) "
35+ docker-compose restart
36+
37+ dev : build up # # Ambiente de desenvolvimento completo
38+ @echo " $( GREEN) Ambiente de desenvolvimento iniciado!$( NC) "
39+ @echo " API: http://localhost:8000"
40+ @echo " Docs: http://localhost:8000/docs"
41+
42+ prod : # # Inicia em modo produção
43+ @echo " $( YELLOW) Iniciando em modo produção...$( NC) "
44+ docker-compose -f docker-compose.yaml up -d
45+
2946test : # # Executa os testes
3047 @echo " $( YELLOW) Executando testes...$( NC) "
3148 poetry run pytest
@@ -34,6 +51,12 @@ test-cov: ## Executa os testes com coverage
3451 @echo " $( YELLOW) Executando testes com coverage...$( NC) "
3552 poetry run pytest --cov=app --cov-report=html
3653
54+ docker-test :
55+ docker exec -e PYTHONPATH=/app $(API_CONTAINER_NAME ) pytest -s --cov-report=term-missing --cov-report html --cov-report=xml --cov=app tests/
56+
57+ scanapi-test : # Executa testes com scanapi e gera report acessado na porta 8080 no path {url}/scanapi-report.html
58+ docker-compose run --rm scanapi-tests
59+
3760lint : # # Verifica o código com ruff
3861 @echo " $( YELLOW) Verificando código...$( NC) "
3962 poetry run ruff check .
@@ -42,24 +65,6 @@ format: ## Formata o código
4265 @echo " $( YELLOW) Formatando código...$( NC) "
4366 poetry run ruff format .
4467
45- clean : # # Remove containers, volumes e imagens
46- @echo " $( YELLOW) Limpando containers e volumes...$( NC) "
47- docker-compose down -v --remove-orphans
48- docker system prune -f
49-
50- dev : build up # # Ambiente de desenvolvimento completo
51- @echo " $( GREEN) Ambiente de desenvolvimento iniciado!$( NC) "
52- @echo " API: http://localhost:8000"
53- @echo " Docs: http://localhost:8000/docs"
54-
55- prod : # # Inicia em modo produção
56- @echo " $( YELLOW) Iniciando em modo produção...$( NC) "
57- docker-compose -f docker-compose.yaml up -d
58-
59- restart : # # Reinicia os serviços
60- @echo " $( YELLOW) Reiniciando serviços...$( NC) "
61- docker-compose restart
62-
6368health : # # Verifica o health check da API
6469 @echo " $( YELLOW) Verificando saúde da API...$( NC) "
6570 curl -f http://localhost:8000/api/healthcheck || echo " API não está respondendo"
@@ -110,6 +115,11 @@ install: ## Instala dependências com Poetry
110115shell : # # Entra no shell do container
111116 docker-compose exec pynews-api bash
112117
118+ clean : # # Remove containers, volumes e imagens
119+ @echo " $( YELLOW) Limpando containers e volumes...$( NC) "
120+ docker-compose down -v --remove-orphans
121+ docker system prune -f
122+
113123setup : install build up # # Setup completo do projeto
114124 @echo " $( GREEN) Setup completo realizado!$( NC) "
115125 @echo " $( GREEN) Acesse: http://localhost:8000/docs$( NC) "
0 commit comments