⚠ Em elaboração
Este broker ainda não foi implementado. Esta documentação será escrita assim que a implementação estiver disponível.
Visão geral¶
| Item | Valor |
|---|---|
| Plugin Moodle | tool_sga |
| Endpoint Moodle | /local/tool_sga/api/index.php |
| Broker (classe) | Sga2ToolSgaBroker (src/integrador/brokers/sga2tool_sga/) |
| Status | Não implementado — métodos levantam NotImplementedError |
Propósito¶
Este broker receberá payloads no padrão SGA genérico (adequado para qualquer sistema
acadêmico: SIGAA, qAcadêmico, etc.) e os enviará diretamente ao plugin Moodle tool_sga.
Será a estratégia mais flexível, permitindo que qualquer SGA se integre ao Moodle desde que
a instituição adapte o payload ao padrão SGA esperado.
Compartilhamento com suap2tool_sga¶
Como ambos os brokers (suap2tool_sga e sga2tool_sga) utilizam o mesmo plugin Moodle
(tool_sga) e o mesmo endpoint, compartilham o mock ToolSgaHTTPMock e a classe de teste
ToolSgaHTTPMockTestCase.
Quando este broker for implementado, considere separar as classes de teste por broker.
Mock HTTP¶
O ToolSgaHTTPMock já existe e retorna 501 para qualquer chamada autenticada.
from integrador.moodle_mock import ToolSgaHTTPMock
mock = ToolSgaHTTPMock()
response = mock.post(
"https://moodle.test/local/tool_sga/api/index.php?qualquer_servico",
jsonbody={},
headers={"Authentication": f"Token {ToolSgaHTTPMock.TOKEN}"},
)
assert response.status_code == 501
Documentação do mock: docs/tests/moodle_mock.md