diff --git a/tests/pipeline/test_pipeline.py b/tests/pipeline/test_pipeline.py index 38ba3713bb..c68d4fc438 100644 --- a/tests/pipeline/test_pipeline.py +++ b/tests/pipeline/test_pipeline.py @@ -661,6 +661,28 @@ def with_table_hints(): # check table counts assert_data_table_counts(pipeline, {"table_a": 2, "table_b": 2, "table_c": 1}) +def test_mark_parent_table() -> None: + @dlt.resource() + def my_table(): + yield {"id": 1} + yield dlt.mark.with_hints( + {"id": 10}, + dlt.mark.make_hints( + table_name="my_other_table", + parent_table_name="my_table" + ), + ) + pipeline_name = "pipe_" + uniq_id() + pipeline = dlt.pipeline(pipeline_name=pipeline_name, destination="duckdb") + info = pipeline.run(my_table) + assert_load_info(info) + assert pipeline.last_trace.last_normalize_info.row_counts == { + "_dlt_pipeline_state": 1, + "my_table": 1, + "other_table": 1, + } + # check table counts + assert_data_table_counts(pipeline, {"my_table": 1, "other_table": 1 }) def test_restore_state_on_dummy() -> None: pipeline_name = "pipe_" + uniq_id()