Skip to content

Commit 93c904b

Browse files
committed
fix(dbt): keep the message of warn and error-level dbt results
A warn or error-level dbt result event now carries its own message on the streamed row, so test, seed and batch rows keep lines such as FAIL 3.
1 parent 1a28b01 commit 93c904b

2 files changed

Lines changed: 27 additions & 4 deletions

File tree

‎crates/sqlbuild-core/src/dbt_events/main/consume_dbt_event.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ pub fn consume_dbt_event(
5555
.pending_messages
5656
.remove(&result.unique_id)
5757
.unwrap_or_default();
58+
result.messages.extend(node_message(event));
5859
if !state.recorded_unique_ids.insert(result.unique_id.clone()) {
5960
return (state, None);
6061
}

‎crates/sqlbuild-core/src/dbt_events/tests/test_dbt_events.rs‎

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,35 @@ fn given_dbt_events_when_consuming_then_reports_starts_and_first_results() {
6969
finished(
7070
"model.a.payments",
7171
("ERROR", 1),
72-
vec![DbtNodeMessage {
73-
level: "error".to_owned(),
74-
message: "relation missing".to_owned(),
75-
}],
72+
vec![
73+
DbtNodeMessage {
74+
level: "error".to_owned(),
75+
message: "relation missing".to_owned(),
76+
},
77+
DbtNodeMessage {
78+
level: "error".to_owned(),
79+
message: "1 of 2 ERROR creating table model payments".to_owned(),
80+
},
81+
],
7682
),
7783
],
7884
},
85+
StreamTestCase {
86+
description: "a warn-level test result keeps its own message",
87+
events: vec![DbtEvent {
88+
level: Some("warn".to_owned()),
89+
info_msg: Some("FAIL 3 not_null_orders_id".to_owned()),
90+
..result_event("LogTestResult", "test.a.not_null_orders_id", "fail")
91+
}],
92+
expected_updates: vec![finished(
93+
"test.a.not_null_orders_id",
94+
("fail", 1),
95+
vec![DbtNodeMessage {
96+
level: "warn".to_owned(),
97+
message: "FAIL 3 not_null_orders_id".to_owned(),
98+
}],
99+
)],
100+
},
79101
];
80102

81103
for test_case in test_cases {

0 commit comments

Comments
 (0)