Skip to content

Commit 0840187

Browse files
committed
test: Added exception with stacktrace test
1 parent f89814d commit 0840187

File tree

1 file changed

+41
-8
lines changed

1 file changed

+41
-8
lines changed

tests/test_protocol_v7.rs

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,19 @@ fn test_fingerprint() {
9595
);
9696
}
9797

98+
#[test]
99+
fn test_basic_message_event() {
100+
let mut event: v7::Event = Default::default();
101+
event.level = v7::Level::Warning;
102+
event.message = Some("Hello World!".into());
103+
event.logger = Some("root".into());
104+
let json = serde_json::to_string(&event).unwrap();
105+
assert_eq!(
106+
&json,
107+
"{\"level\":\"warning\",\"message\":\"Hello World!\",\"logger\":\"root\"}"
108+
);
109+
}
110+
98111
#[test]
99112
fn test_message_basics() {
100113
let event = v7::Event {
@@ -334,14 +347,34 @@ fn test_multi_exception_list() {
334347
}
335348

336349
#[test]
337-
fn test_basic_message_event() {
338-
let mut event: v7::Event = Default::default();
339-
event.level = v7::Level::Warning;
340-
event.message = Some("Hello World!".into());
341-
event.logger = Some("root".into());
342-
let json = serde_json::to_string(&event).unwrap();
350+
fn test_minimal_exception_stacktrace() {
351+
let event: v7::Event = v7::Event {
352+
exceptions: vec![v7::Exception {
353+
ty: "DivisionByZero".into(),
354+
value: Some("integer division or modulo by zero".into()),
355+
stacktrace: Some(v7::Stacktrace {
356+
frames: vec![
357+
v7::Frame {
358+
function: Some("main".into()),
359+
location: v7::FileLocation {
360+
filename: Some("hello.py".into()),
361+
line: Some(1),
362+
..Default::default()
363+
},
364+
..Default::default()
365+
}
366+
],
367+
..Default::default()
368+
}),
369+
}],
370+
..Default::default()
371+
};
372+
343373
assert_eq!(
344-
&json,
345-
"{\"level\":\"warning\",\"message\":\"Hello World!\",\"logger\":\"root\"}"
374+
serde_json::to_string(&event).unwrap(),
375+
"{\"exception\":{\"values\":[{\"type\":\"DivisionByZero\",\
376+
\"value\":\"integer division or modulo by zero\",\"stacktrace\":\
377+
{\"frames\":[{\"function\":\"main\",\"filename\":\"hello.py\",\
378+
\"lineno\":1}]}}]}}"
346379
);
347380
}

0 commit comments

Comments
 (0)