expect_json/
testing.rs

1use crate::expect_json_eq;
2use assert_json_diff::assert_json_matches_no_panic;
3use assert_json_diff::Config;
4use pretty_assertions::assert_eq;
5use serde_json::Value;
6
7pub fn assert_json_err(received: &Value, expected: &Value, err_message: &str) {
8    let output = expect_json_eq(&received, &expected)
9        .unwrap_err()
10        .to_string();
11
12    let diff_err = assert_json_matches_no_panic(
13        &received,
14        &expected,
15        Config::new(assert_json_diff::CompareMode::Strict),
16    )
17    .unwrap_err();
18    println!(
19        r#"
20
21# With
22json_eq(
23    received = {received:#?},
24    expected = {expected:#?},
25)
26>>>>>>>>>
27{diff_err}
28------------
29{err_message}
30<<<<<<<<<<
31
32"#
33    );
34    assert_eq!(output, err_message);
35}