Testes Automatizados¶
conftest.py — Fixtures Globais (autouse=True)¶
| Fixture | O que faz |
|---|---|
set_dummy_env_vars |
Define variáveis de ambiente ficticias para que as funções de configuração não falhem por "chave faltando". |
mock_supabase_global |
Faz patch de supabase.create_client, retornando MagicMock com toda a cadeia de chamadas. |
mock_gemini_global |
Faz patch de google.genai.Client, retornando mock com respostas pre-definidas. |
9.2 test_database_functions.py — Testes Unitarios do Banco¶
salvar_sessao: verifica se a tabela correta (sessions) foi chamada com osession_idcorreto.salvar_erro: verifica se oerror_ide valido e se a mensagem foi passada corretamente.salvar_report: verifica retornoTruee a chamada a tabelauser_reports.get_categorias_erro: verifica se retorna a lista de categorias mockada.buscar_referencias_db: verifica se a RPCmatch_knowledge_basee chamada com os parâmetros corretos.recuperar_contexto_inteligente: testa estratégia mista (2 tópicos diferentes) verificando se o contexto contem ambas as descrições e a fonte e "Tópicos mistos".
9.3 test_gemini_integration.py¶
Teste de integração REAL com a API Gemini. Busca a chave em secrets.toml ou variáveis de ambiente. Se não encontrar: pytest.skip.
ATENÇÃO: Este teste faz chamadas reais a API e consome cota do Gemini. Não deve rodar em CI sem credenciais configuradas.
9.4 test_supabase_connection.py¶
Teste de integração REAL com Supabase. Pulado automaticamente se as credenciais não forem encontradas. Testa fazendo SELECT na tabela report_categories.
9.5 test_security_check.py¶
Cobre o modulo security_check.py: sanitização de segredos, comportamentos com diferentes respostas da IA e falha aberta em caso de exceção da API.