diff --git a/src/messaging/mod.rs b/src/messaging/mod.rs index aca0f1f..ba26566 100644 --- a/src/messaging/mod.rs +++ b/src/messaging/mod.rs @@ -41,24 +41,20 @@ pub async fn send_messages( } } -pub fn parse_numbers(filepath: &str) -> Vec { +pub fn parse_numbers(filepath: &str) -> Result, std::io::Error> { match std::fs::File::open(filepath) { Ok(file) => { let reader = std::io::BufReader::new(file); let contacts: Vec = match serde_json::from_reader(reader) { - Ok(va) => { - va - } + Ok(va) => va, Err(err) => { - Vec::new() + return Err(std::io::Error::other(err.to_string())); } }; - contacts - } - Err(err) => { - Vec::new() + Ok(contacts) } + Err(err) => Err(err), } } @@ -69,9 +65,7 @@ pub fn parse_message(filepath: &str) -> Result { let message: Message = serde_json::from_reader(reader)?; Ok(message) } - Err(err) => { - Err(err) - } + Err(err) => Err(err), } } @@ -93,7 +87,13 @@ mod tests { #[test] fn test_parse_numbers() { let numbers_path = String::from("tests/numbers-0.json"); - let contacts = super::parse_numbers(&numbers_path); - assert_eq!(false, contacts.is_empty(), "Should not be empty"); + match super::parse_numbers(&numbers_path) { + Ok(contacts) => { + assert_eq!(false, contacts.is_empty(), "Should not be empty"); + } + Err(err) => { + assert!(false, "Error: {err:?}"); + } + }; } }