From 7d2f79d7365ac594f7f9c84e33baebb378589ca8 Mon Sep 17 00:00:00 2001 From: Jeff Baskin Date: Fri, 14 Feb 2025 18:00:37 -0500 Subject: [PATCH] Added additional response error. --- src/lib.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 4b8f67b..742a690 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -156,6 +156,9 @@ impl Response { self.data.insert(key.to_string(), store); } } else { + if rec.len() != self.data.len() { + return Err("incorrect number of columns".to_string()); + } for (key, value) in rec.iter() { match self.data.get_mut(key) { Some(data) => data.push(value.clone()), @@ -244,6 +247,21 @@ mod responses { Err(_) => {} } } + + #[test] + fn missing_field_error() { + let mut res = Response::new(); + let mut rec1 = Record::new(); + let mut rec2 = Record::new(); + rec1.add("one", "one"); + rec2.add("one", "one"); + rec2.add("two", "two"); + res.add(rec2).unwrap(); + match res.add(rec1) { + Ok(_) => unreachable!("Should not accept additional value"), + Err(_) => {} + } + } } /// Support functions for Messages.