summaryrefslogtreecommitdiffhomepage
path: root/mullvad-problem-report/src
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2019-07-04 10:33:19 +0200
committerLinus Färnstrand <linus@mullvad.net>2019-07-04 12:59:18 +0200
commit0edd2904a54f56b41afcb41aef8d5e8fbf485f4e (patch)
tree739a7e7f15e5af7ac0ea3fd4345cd75265435946 /mullvad-problem-report/src
parente034721879f51443da4b7937fbf224c0dd373c23 (diff)
downloadmullvadvpn-0edd2904a54f56b41afcb41aef8d5e8fbf485f4e.tar.xz
mullvadvpn-0edd2904a54f56b41afcb41aef8d5e8fbf485f4e.zip
Add test for ProblemReport::parse_metadata
Diffstat (limited to 'mullvad-problem-report/src')
-rw-r--r--mullvad-problem-report/src/lib.rs33
1 files changed, 32 insertions, 1 deletions
diff --git a/mullvad-problem-report/src/lib.rs b/mullvad-problem-report/src/lib.rs
index 38949bfa36..42a369fbba 100644
--- a/mullvad-problem-report/src/lib.rs
+++ b/mullvad-problem-report/src/lib.rs
@@ -583,7 +583,7 @@ mod tests {
}
#[test]
- fn test_does_not_redact_time() {
+ fn does_not_redact_time() {
assert_does_not_redact("09:47:59");
}
@@ -592,4 +592,35 @@ mod tests {
let res = report.redact(input);
assert_eq!(input, res);
}
+
+ #[test]
+ fn parse_metadata() {
+ let report = ProblemReport::new(Vec::new());
+ let mut report_data = Vec::new();
+ report
+ .write_to(&mut report_data)
+ .expect("Unable to write report to vector");
+
+ let report_string = std::str::from_utf8(&report_data).expect("Report is not correct UTF-8");
+
+ let parsed_metadata = ProblemReport::parse_metadata(report_string)
+ .expect("Unable to parse metadata from report");
+ let expected_metadata = metadata::collect();
+
+ assert_eq!(parsed_metadata.len(), expected_metadata.len());
+ for (key, value) in &expected_metadata {
+ let parsed_value = parsed_metadata
+ .get(key)
+ .expect("Parsed metadata and new one don't match");
+ if key == "id" {
+ assert_ne!(parsed_value, value, "id not supposed to match");
+ } else {
+ assert_eq!(
+ parsed_value, value,
+ "value for key '{}' does not match",
+ key
+ );
+ }
+ }
+ }
}