(output: std::process::Output, expected_message: &str)
| 274 | } |
| 275 | |
| 276 | fn assert_json_parser_error(output: std::process::Output, expected_message: &str) { |
| 277 | assert_eq!(output.status.code(), Some(2)); |
| 278 | assert!(output.stdout.is_empty()); |
| 279 | |
| 280 | let stderr = String::from_utf8_lossy(&output.stderr); |
| 281 | assert!(!stderr.contains("\u{1b}[")); |
| 282 | |
| 283 | let payload: Value = serde_json::from_slice(&output.stderr).unwrap(); |
| 284 | assert_eq!(payload["kind"], "invalid-input"); |
| 285 | assert_eq!(payload["exit_code"], 2); |
| 286 | assert!(payload["message"] |
| 287 | .as_str() |
| 288 | .unwrap() |
| 289 | .contains(expected_message)); |
| 290 | } |
| 291 | |
| 292 | #[test] |
| 293 | #[serial] |
no outgoing calls
no test coverage detected