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}