ci: Remodelagem dos testes
Testes utilizam Mucua localizada nas fixtures
-
Quando realizavamos a importação direta da aplicação para rodar um cliente nos testes. Esta vinha com a chamada padrão da Baobáxia
Baobaxia()
, a qual é configurada com parâmetro presentes no diretório do usuário do SO. -
Desta forma não teríamos como utilizar cenário reprodutíveis nos testes.
-
Principais modificações:
- A classe BaobaxiaAPI foi transformada em uma dependência e reescrita
durante os testes utilizando a função
app.dependency_overrides
- A classe BaobaxiaAPI torna-se chamável
__call__
para possibilitar mantermos o padrão Singleton garantido pelo import de um objeto definido em um módulo. De outra forma seria necessário retornar através de funções, o que iria quebrar o padrão Singleton. E consequentemente as sessoes. - A classe BaobaxiaAPI pode receber um objeto da classe Baobaxia como parâmetro, permitindo variação das configurações da aplicação.
- A classe BaobaxiaAPI foi transformada em uma dependência e reescrita
durante os testes utilizando a função
-
Modificações adicionais:
- Cria opção para pular a configuração do instalador
- SaberConfig é agora um BaseSetting (pydantic)
- Cria configuração global da aplicação
- Add pydantic-settings
- Uso da biblioteca Loguru
- Update dependencies
- Permite que
main.py
seja executável diretamente
Rodar pytest:
make test
poetry run pytest