Testes¶
Stack de testes¶
pytesthttpx- FastAPI
TestClient
As dependencias de teste sao definidas em pyproject.toml em
[project.optional-dependencies] -> test.
Instale com:
bash
uv sync --extra test --group dev
Executar testes¶
bash
pytest
Para o caminho especifico de geracao de schema e helpers tipados:
bash
pytest tests/test_pydantic_generator_models.py tests/test_session_and_helpers.py
Para a superficie atual de rotas e contratos de docs:
bash
pytest tests/test_generated_proxmox_routes.py tests/test_proxmox_codegen_docs.py tests/test_api_routes.py tests/test_stub_routes.py tests/test_admin_logs.py
Testes direcionados de endpoints¶
O arquivo proxbox_api/test_endpoint_crud.py cobre:
- Ciclo completo de CRUD de endpoint Proxmox.
- Regras de validacao de autenticacao de endpoint Proxmox.
- Regra singleton para endpoint NetBox.
Executar apenas este arquivo:
bash
pytest proxbox_api/test_endpoint_crud.py
Verificacao de compilacao¶
bash
python -m compileall proxbox_api
Checks recomendados antes de PR¶
pytestpython -m compileall proxbox_apimkdocs build --strict(quando docs mudarem)
Checks de contrato Proxmox gerado¶
Ao alterar proxbox_api/proxmox_codegen/ ou a camada de servico Proxmox voltada para sync:
- Regenere
proxbox_api/generated/proxmox/*/pydantic_models.pya partir dos artefatosopenapi.jsonversionados. - Confirme que respostas array-de-objetos continuam emitindo schemas concretos
...ResponseItem. - Confirme que rotas com helpers continuam retornando payloads compativeis com o codigo de sync existente.