diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2019-07-04 10:33:19 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2019-07-04 12:59:18 +0200 |
| commit | 0edd2904a54f56b41afcb41aef8d5e8fbf485f4e (patch) | |
| tree | 739a7e7f15e5af7ac0ea3fd4345cd75265435946 /mullvad-problem-report/src | |
| parent | e034721879f51443da4b7937fbf224c0dd373c23 (diff) | |
| download | mullvadvpn-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.rs | 33 |
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 + ); + } + } + } } |
