Cobre o caminho completo sem depender da VPS estar no ar: cifra com uma chave de teste descartavel, troca a chave do app por monkeypatch e exercita a rota. 8 casos: recusa sem token e com token errado; caminho feliz; envelope adulterado (o GCM tem que estourar, nao passar); cifrado com outra chave; payload fora do contrato (422, nao 200 nem 500); e dois travando o contrato com a API da VPS — se o PayloadCompras dos dois lados divergir, quebra aqui em vez de em producao. Fixtures em tests/fixtures/: par de chaves so pra teste, o payload real do Holmes e o payload ja tratado. O .gitignore abre excecao estreita pra tests/fixtures/*.pem — chave real continua barrada. Tambem: - 422 passa a usar HTTP_422_UNPROCESSABLE_CONTENT (o _ENTITY deprecou) - app/services/holmes.py removido: o conector nao fala com o Holmes - app/utils/cesar.py entra como veio Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
18 lines
330 B
Text
18 lines
330 B
Text
.venv/
|
|
.ruff_cache
|
|
__pycache__/
|
|
*.pyc
|
|
.env
|
|
logs/
|
|
configs.json
|
|
certs/
|
|
|
|
# Backups de config e chaves — contem segredo, nunca versionar
|
|
configs.json.*
|
|
*.bak-*
|
|
*.pem
|
|
*.key
|
|
|
|
# Excecao: chaves descartaveis de teste. Geradas so pro pytest, nunca
|
|
# usadas em runtime. As reais continuam barradas pela regra acima.
|
|
!tests/fixtures/*.pem
|