()
| 1215 | |
| 1216 | #[test] |
| 1217 | fn test_obfuscate_error_event() { |
| 1218 | // setup: |
| 1219 | let txt_with_secret = "a txt with secret"; |
| 1220 | let safe_message = "a txt with secret"; |
| 1221 | |
| 1222 | let event_message = EventMessage::new_with_env_vars( |
| 1223 | safe_message.to_string(), |
| 1224 | Some(txt_with_secret.to_string()), |
| 1225 | Some(vec![("my_secret".to_string(), "my_secret_value".to_string())]), |
| 1226 | ); |
| 1227 | |
| 1228 | let event_details = EventDetails { |
| 1229 | provider_kind: Some(Kind::Aws), |
| 1230 | organisation_id: QoveryIdentifier::new(Uuid::new_v4()), |
| 1231 | cluster_id: QoveryIdentifier::new(Uuid::new_v4()), |
| 1232 | execution_id: "ex".to_string(), |
| 1233 | stage: Stage::Environment(EnvironmentStep::BuiltError), |
| 1234 | transmitter: Transmitter::Application(Uuid::new_v4(), "transmitter".to_string()), |
| 1235 | }; |
| 1236 | |
| 1237 | let engine_error = EngineError::new_unknown( |
| 1238 | event_details.clone(), |
| 1239 | txt_with_secret.to_string(), |
| 1240 | Some(CommandError::new( |
| 1241 | safe_message.to_string(), |
| 1242 | Some(txt_with_secret.to_string()), |
| 1243 | Some(vec![("my_secret".to_string(), "my_secret_value".to_string())]), |
| 1244 | )), |
| 1245 | None, |
| 1246 | Some(txt_with_secret.to_string()), |
| 1247 | ); |
| 1248 | |
| 1249 | let mut engine_event = EngineEvent::Error(engine_error.clone(), Some(event_message.clone())); |
| 1250 | |
| 1251 | // execute: |
| 1252 | engine_event.obfuscate(|txt| { |
| 1253 | if txt == *txt_with_secret { |
| 1254 | "xxx".to_string() |
| 1255 | } else { |
| 1256 | txt |
| 1257 | } |
| 1258 | }); |
| 1259 | |
| 1260 | // verify: |
| 1261 | assert!(matches!(engine_event, EngineEvent::Error(_, _))); |
| 1262 | if let EngineEvent::Error(engine_error, Some(event)) = engine_event { |
| 1263 | assert_eq!(event.full_details, Some("xxx".to_string())); |
| 1264 | assert_eq!(event.safe_message, "xxx"); |
| 1265 | |
| 1266 | assert_eq!(engine_error.hint_message().clone().unwrap_or_default(), "xxx".to_string()); |
| 1267 | assert_eq!(engine_error.user_log_message().to_string(), "xxx".to_string()); |
| 1268 | assert_eq!( |
| 1269 | engine_error |
| 1270 | .underlying_error() |
| 1271 | .unwrap() |
| 1272 | .message_raw() |
| 1273 | .unwrap_or_default(), |
| 1274 | "xxx".to_string() |
nothing calls this directly
no test coverage detected