Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • baobaxia-mucua baobaxia-mucua
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 16
    • Issues 16
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • NPDD
  • baobaxia-mucuabaobaxia-mucua
  • Merge requests
  • !20

Closed
Created Mar 29, 2024 by Saci Pererê@saciperere💬Owner
  • Report abuse
Report abuse

ci: Remodelagem dos testes

  • Overview 0
  • Commits 2
  • Pipelines 1
  • Changes 39

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.
  • 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

⚡ Passos para reprodução

Rodar pytest:

make test
poetry run pytest
Edited Mar 29, 2024 by Saci Pererê
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: saci-reescreve-testes-entrypoint

Data Center Comunitário Livre - DCCL