Uma Aplicação FullStack onde temos como frontend em React JS, backend em Python FastAPI e banco de dados Postgres.
- Pasta
fastapi_crudé o backend da aplicação - E,
frontend-react-produtosé frontend da aplicação
Antes de subir a aplicação, verificar as credenciais, principalmente do BD, no compose.yml e no .env do backend.
docker compose up -d
# caso o FastAPI não suba de imediato
docker restart fastapi_crud
# caso queira verificar o log de execução do microsserviço
docker logs -f fastapi_crudAcessando a Aplicação FrontEnd http://localhost:3000
Agora é so ver as rotas REST disponíveis para testar o backdend direto (Swagger da API): http://127.0.0.1:5000/docs
E opcional tem a monitoração do serviço: http://127.0.0.1:9090
- Makefile
- app/test_api.py
- prometheus.yml
pytest
# ou
pytest --cov=apiUm bom pré-requisito é ter uma boa massa de dados, banco de dados local interessante para o consumo dos Endpoints. Sempre avaliar as Regras de Negócio.
- Sempre TESTE, regra das regras
- Teste os Endpoints com campos vazios, diante às Regras de Negócio (RN)
- Tratamento de Duplicidade em endpoints POST de inserção
- Endpoints de Filtro de Consulta/Pesquisa:
4.1. Aceitar de campos nulos até cada campo para afinar o filtro da query
4.2. Fragmentar a Query a cada campo:
if campo: ... <parte da query filter SQLAlchemy>4.3. De acordo com RN específicas de Filtro, operadoresor_eand_do SQLAlchemy 4.4. Testar todas as possibilidades do Filtro - Retorne status code 400 para condições não atendidas
Augusto Arraes site