test: adiciona testes estruturais e de integridade referencial em emp…#400
Open
renannOgomes wants to merge 1 commit into
Open
test: adiciona testes estruturais e de integridade referencial em emp…#400renannOgomes wants to merge 1 commit into
renannOgomes wants to merge 1 commit into
Conversation
…enhos e teds Adiciona testes no empenhos_ted_dbt (projeto mir): - unique + not_null em programas_ted.id_programa e planos_acao_ted.id_plano_acao (chaves das tabelas TED) - not_null em empenhos_tesouro_ted.ne_ccor (bronze), empenhos_por_plano_acao.ne_ccor (silver) e ted_empenhos_plano_acao.ne_ccor/plano_acao (gold) - relationships planos_acao_ted.id_programa -> programas_ted (integridade referencial dentro do TED) - relationships plano_acao -> planos_acao_ted.id_plano_acao em empenhos_por_plano_acao (silver) e ted_empenhos_plano_acao (gold)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Descrição
Adiciona testes de qualidade de dados (dbt) aos modelos de empenhos e TEDs do projeto
mir, no domínioempenhos_ted_dbt. O objetivo é garantir, de forma automatizada, a unicidade das chaves, a não-nulidade de campos essenciais e a integridade referencial. Antes desta mudança, esses modelos só tinham testes de tipagem (verificacao_tipagem), sem validação estrutural nem de relacionamento.As alterações são apenas nos
schema.yml(bronze, silver e gold) — nenhum modelo SQL foi modificado.Tipo de mudança
Issues relacionadas
Closes #300
Como testar / validar
Ambiente:
dbt 1.7.13(postgres), projetomir, seleção restrita aempenhos_ted_dbtcom
--indirect-selection cautiouse--exclude test_name:verificacao_tipagem.Cada teste dbt compila para um
SELECTde violações: 0 linhas = PASS, ≥1 linha = FAIL.1) Camada BRONZE
1a) Dados válidos → todos passam
1b) Com violações → testes detectam (FAIL)
Violações inseridas:
id_programaduplicado;id_plano_acaonulo;id_programa = 999inexistente em
programas_ted;ne_ccornulo.2) Camadas SILVER e GOLD
2a) Dados válidos → todos passam
Cadeia materializada:
empenhos_tesouro_ted→nc_tesouro_mir→num_transf_n_plano_acao→
empenhos_por_plano_acao(silver) →ted_empenhos_plano_acao(gold).2b) Com plano órfão → integridade referencial detecta (FAIL)
Inserido um
transfere_gov.notas_de_creditoapontando paraid_plano_acao = 999(inexistente em
planos_acao_ted), ligado vianc_tesouro_mira um empenho(
ne_ccor_descricao = 'TED 200002'). Oplano_acao = 999resultante é órfão.Como replicar
Pré-requisito: ambiente local no ar (
docker compose up -d) com o containerairflow(tem dbt).Todos os comandos rodam a partir da raiz do projeto, dentro do WSL.
setup_valid.sql(dados sintéticos consistentes)setup_fail.sql(injeta violações)Evidências
Print do log do dbt passando nos testes

Checklist
upstream/mainouorigin/main