djangoapp-integrador_ava

Integrador tests

Models

Utils

Decorators (8 decorators testados)

Middleware

Brokers

Management Commands

Integration & Edge Cases

Os testes cobrem todos os aspectos críticos da integração entre SUAP e Moodle, incluindo autenticação via token, validação de JSON, seleção de ambiente baseada em regras, tratamento de erros, e comunicação HTTP com o AVA.

Receitas rápidas (QA)

1) Rodar suíte completa (fluxo padrão)

No workspace:

cd ~/projetos/IFRN/sas/workspace
./ava test integrador

2) Rodar apenas os testes do mock de Moodle

cd ~/projetos/IFRN/sas/workspace
./ava test integrador \
 integrador.tests.LocalSuapHTTPMockTestCase \
 integrador.tests.ToolSgaHTTPMockTestCase \
 integrador.tests.Suap2LocalSuapBrokerTestCase

3) Rodar integração sem Moodle real (forçando mock)

Quando quiser garantir execução sem dependência externa:

cd ~/projetos/IFRN/sas/workspace
docker compose run --rm \
 -e MOODLE_HTTP_MOCK_ENABLED=true \
 integrador \
 coverage run manage.py test --verbosity 1 integrador.tests

4) Subir ambiente para teste de interface com mock em background

No docker-compose.yml do workspace, manter no serviço integrador:

Depois subir normalmente:

cd ~/projetos/IFRN/sas/workspace
./ava launch integrador

Assim, chamadas para /local/suap/api/index.php são atendidas pelo mock, facilitando teste de tela e fluxo sem carga de dados no Moodle.

5) Quando desabilitar o mock

Use Moodle real para validar contrato fim a fim:

cd ~/projetos/IFRN/sas/workspace
docker compose run --rm \
 -e MOODLE_HTTP_MOCK_ENABLED=false \
 integrador \
 python manage.py test --verbosity 1 integrador.tests.Suap2LocalSuapBrokerTestCase

Referência

Detalhes completos de arquitetura e troubleshooting do mock em: