Adiciona testes do conector com fixtures offline
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>
This commit is contained in:
parent
f902ccbecb
commit
7a9b0f8aa5
9 changed files with 283 additions and 705 deletions
21
tests/fixtures/payload_tratado.json
vendored
Normal file
21
tests/fixtures/payload_tratado.json
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"id_processo": "6a6a59266f8555a6725125a7",
|
||||
"protocolo": "protocolo",
|
||||
"cnpj": "28482230000153",
|
||||
"pedido_linx": "345",
|
||||
"fornecedor": "ACIMAQ EQUIPAMENTOS INDUSTRIAIS E COMERCIAIS LTDA",
|
||||
"tipo": "COMPRA INTERNA - DESPESAS",
|
||||
"nf_entrada": null,
|
||||
"aprovador": "Acrisio Dos Santos",
|
||||
"valor_total": 202340.52,
|
||||
"parcelas": {
|
||||
"1": {
|
||||
"valor": 100.0,
|
||||
"vencimento": null
|
||||
},
|
||||
"2": {
|
||||
"valor": 100.0,
|
||||
"vencimento": null
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue