Skip to content

feat: adiciona teste unitario ClienteTransfereGov com 100% de convergencia#345

Open
luisa12ll wants to merge 552 commits into
GovHub-br:mainfrom
luisa12ll:feat/tests-cliente-transfere-gov
Open

feat: adiciona teste unitario ClienteTransfereGov com 100% de convergencia#345
luisa12ll wants to merge 552 commits into
GovHub-br:mainfrom
luisa12ll:feat/tests-cliente-transfere-gov

Conversation

@luisa12ll

Copy link
Copy Markdown
Collaborator

Resumo

Adiciona testes unitários para airflow_lappis/plugins/cliente_transferegov_emendas.py, cobrindo todos os métodos de ingestão de dados de emendas e transferências especiais do governo federal, com mock completo das chamadas à API pública do TransfereGov.

O que mudou

  • Adiciona tests/test_plugins/test_cliente_transfere_gov.py com 95 testes unitários para a classe ClienteTransfereGov.
  • Importa airflow_lappis/plugins/cliente_transferegov_emendas.py a partir da branch upstream/feat/camada-bronze-siconv.

Motivação

A classe ClienteTransfereGov realiza chamadas à API pública api.transferegov.gestao.gov.br para ingestão de dados de transferências especiais. Sem testes, qualquer regressão nos métodos de paginação ou no tratamento de erros passaria despercebida. Este PR garante cobertura completa do módulo antes que ele seja integrado à branch principal.

Testes adicionados

Foram adicionados testes para todos os recursos da API, cobrindo os seguintes cenários por método:

  • Retorno com sucesso (lista populada).
  • Parâmetros corretos passados ao request (order, limit, offset).
  • Retorno None em erro HTTP.
  • Retorno None quando data não é lista.
  • Paginação automática com múltiplas páginas.
  • Parada correta quando a API retorna lista vazia ou None.
  • Incremento correto do offset entre páginas.

Recursos cobertos:

  • Programas especiais
  • Planos de ação especiais por programa
  • Executores especiais
  • Empenhos especiais (global e por plano de ação)
  • Documentos hábeis especiais (global e por empenho)
  • Metas especiais
  • Finalidades especiais
  • Ordens bancárias especiais
  • Relatórios de gestão especial e novo
  • Planos de trabalho especiais
  • Histórico de pagamentos especiais

Decisões de implementação

O método request herdado de ClienteBase é substituído por um MagicMock direto na instância via fixture do pytest, sem necessidade de patch de módulo externo. Isso mantém os testes isolados da rede e do ambiente do Airflow, seguindo o mesmo padrão já adotado em test_cliente_base.py.

Os dados mockados simulam o formato real da API (listas de dicts com os campos esperados por cada endpoint), garantindo que os testes reflitam o comportamento de produção.

Resultado esperado

Cobertura de 100% em cliente_transferegov_emendas.py (407/407 linhas), com todos os 95 testes passando tanto no ambiente local quanto no CI.

airflow_lappis/plugins/cliente_transferegov_emendas.py    407      0   100%

mat054 and others added 30 commits October 27, 2025 15:40
Quebra dos schemas para modularização
Co-authored-by: Mateus Castro <mateus.castro3@gmail.com>
…s-e-plano-acao-transferegov

feat(airflow): ingestao de programas e plano de acao transferegov
…late-de-commit

feat(docs): adiciona template de mensagem de commit
* feat/cliente github

* feat(airflow): ingestao de programas e plano de acao transferegov

Co-authored-by: Mateus Castro <mateus.castro3@gmail.com>

* feat(dags): renomeia pasta do transferegov e esquema de inserção

* feat(dags): padroniza transferegov

* feat(docs): adiciona template de mensagem de commit

Closes GovHub-br#36

* feat:adiciona modelos dbt e atualiza cliente dag

* fix/mypy

* delete/dashboard-readme

* refactor: refatora modelos dbt

* feat: dbt seed para estados

---------

Co-authored-by: Mateus Castro <mateus.castro3@gmail.com>
Co-authored-by: GabrielaTiago <gabrielatiagodearaujo@outlook.com>
…vars

feat(schedule): paramentização da periodicidade das dags usando variáveis do Airflow
…b-br#45)

* feat(transferegov): adiciona métodos para buscar empenhos especiais

* feat(transferegov): adiciona DAG de ingestão de empenhos especiais

---------

Co-authored-by: leonardo.bonetti <leonardo.bonetti@dataprev.gov.br>
* feat(dag): adiciona dag para ingestão de executor especial

Adiciona uma nova DAG para a ingestão de dados de 'executor especial'
da API TransfereGov.

Co-authored-by: Gxaite <gabrielscheidt2000@gmail.com>

* feat(api): adiciona busca de executores por plano de ação

Implementa o método
no cliente da API TransfereGov.

Co-authored-by: Gxaite <gabrielscheidt2000@gmail.com>

* refactor: adiciona anotações de tipo para corrigir erro do mypy

---------

Co-authored-by: Gxaite <gabrielscheidt2000@gmail.com>
Co-authored-by: Davi de Aguiar Vieira <143732704+davi-aguiar-vieira@users.noreply.github.com>
* fix(clientes emendas): corrigindo erro no cliente transfere gov emendas

* feat(cliente): metodo para buscar relatorio de gestao api transfere gov

* feat(dag): dag de relatorio gestao do cliente transfere gov emendas

* feat(cliente pncp): Criação do cliente pncp

* feat(dag): dag principal para coleta dos dados do pncp relacionados ao ipea e suas contratacoes publicas

* feat(dag): dag para coletas dos demais dados das contratacoes, incluindo itens e resultados dos itens de contratacao

* feat(helper): Criação do helper safe request para tratar resultados de requisições que não eram tratados pelos demais helpers

* fix(dag): correcao na dag de ingestao de relatorio de gestao

* fix(cliente): retirando parte desnecessario do cliente postgres
TiagoSBittencourt and others added 24 commits May 19, 2026 12:51
…mendas

feat: adiciona localizador de gasto e região PT nas camadas de emendas MIR
…e_contribuicao

revert: desfaz CONTRIBUTING.md adicionado incorretamente
…convenio

feat: cruzamento das tabelas de proposta e convenio
…s domicílios (GovHub-br#287)

* feat(ibge): pipeline FTP Censo 2022 quilombolas alfabetização e domicílios

* fix(ibge): corrige ReDoS no parser quilombolas e PK/upsert no Postgres
Co-authored-by: Letícia Hladczuk <leticia.cassia.hr@gmail.com>
…icao

fix: Correção do guia de contribuição
…#329)

* feat(tests): adiciona teste para plugin cliente_base

* feat(make): automatiza geração do arquivo de cobertura dos testes

* fix: altera protocolo http para htpps no teste do cliente_base

* chore: atualiza nome da pasta e arquivo do teste de plugins e cliente base

* fix(tests): inclui helpers no sys.path do conftest

---------

Co-authored-by: Davi de Aguiar Vieira <143732704+davi-aguiar-vieira@users.noreply.github.com>
fix(pessoas_dbt): corrige chave do join com dados_uorg de sigla para cpf
feat: adequações de modelos DBT conforme apontamentos do CEAG
…no-acao

feat: tabela gold de empenhos por plano de ação TED
…ncia

Co-authored-by: Camila Silva <camilacsc08@gmail.com>
@sonarqubecloud

sonarqubecloud Bot commented Jun 9, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

Diagnóstico de rebase do PR #345

PR: feat: adiciona teste unitario ClienteTransfereGov com 100% de convergencia

Campo Valor
Autor luisa12ll
Origem luisa12ll:feat/tests-cliente-transfere-gov
Fork true
Allow edits from maintainers true
HEAD 587fa944c343fddfc44e0c70191921fd35ab829c
Merge-base com main atual da1ccb90a8e2b4ebfbc8f52ecf9c3c85f0f882e8
Divergência origin/main...PR 624 552
Base antiga detectada 666ccb8dfabae50f50dea9b6489ef5e24d5a5b1e
Commits em base_antiga..HEAD 1
Merge commits nesse intervalo 0
Classificação linear

Commits candidatos

587fa94 feat: adiciona teste unitario ClienteTransfereGov com 100% de covergencia Co-authored-by: Camila Silva <camilacsc08@gmail.com>

Receita sugerida

Este PR parece linear: o intervalo 666ccb8dfabae50f50dea9b6489ef5e24d5a5b1e..HEAD tem 1 commit(s) e 0 merge commit(s). A correção recomendada é git rebase --onto.

git remote add upstream git@github.com:GovHub-br/data-application-gov-hub.git 2>/dev/null || true
git fetch upstream main
git fetch origin feat/tests-cliente-transfere-gov
git switch feat/tests-cliente-transfere-gov
git rebase --onto upstream/main 666ccb8dfabae50f50dea9b6489ef5e24d5a5b1e feat/tests-cliente-transfere-gov
git rev-list --left-right --count upstream/main...feat/tests-cliente-transfere-gov

Resultado esperado:

0 1

Se a contagem estiver correta, publique a branch reescrita:

git push --force-with-lease origin feat/tests-cliente-transfere-gov

Este diagnóstico trata commits e diffs como dados. Ele não executa código do PR.

@MilenaFRocha MilenaFRocha mentioned this pull request Jul 1, 2026
21 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.