Ctrl K
ComunidadGuías…

tests/test_dataset_dbt_registry.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import json

from dm.datasets.model import Dataset, Tier, _add_dbt


def test_add_dbt_registers_seed_models_and_known_parents(tmp_path, monkeypatch):
    target = tmp_path / "target"
    target.mkdir()
    manifest = {
        "nodes": {
            "seed.project.country_codes": {
                "resource_type": "seed",
                "name": "country_codes",
                "description": "Reference countries",
            },
            "model.project.orders_dwd": {
                "resource_type": "model",
                "name": "orders_dwd",
                "description": "Clean orders",
                "fqn": ["project", "dwd", "orders_dwd"],
            },
        },
        "parent_map": {
            "model.project.orders_dwd": ["source.project.erp.raw_orders", "seed.project.country_codes"]
        },
    }
    (target / "manifest.json").write_text(json.dumps(manifest), encoding="utf-8")
    monkeypatch.setenv("DM_DBT_DIR", str(tmp_path))

    datasets = {"raw_orders": Dataset("raw_orders", Tier.RAW.value, "raw_orders")}
    transforms = {}
    _add_dbt(datasets, transforms)

    assert datasets["country_codes"].tier == Tier.DW.value
    assert datasets["orders_dwd"].transform == "dbt__orders_dwd"
    assert transforms["dbt__orders_dwd"].inputs == ["raw_orders", "country_codes"]
    assert transforms["dbt__orders_dwd"].outputs == ["orders_dwd"]