Skip to content

Commit 68ffbe2

Browse files
Merge pull request #66 from theseus-rs/improve-test-coverage
test: improve test coverage
2 parents c996a2c + fd0b57b commit 68ffbe2

File tree

3 files changed

+29
-25
lines changed

3 files changed

+29
-25
lines changed

postgresql_archive/src/error.rs

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ impl From<anyhow::Error> for Error {
9292
mod test {
9393
use super::*;
9494
use anyhow::anyhow;
95+
use std::ops::Add;
9596
use std::path::PathBuf;
9697
use std::str::FromStr;
98+
use std::time::{Duration, SystemTime};
9799

98100
#[test]
99101
fn test_from_regex_error() {
@@ -129,23 +131,30 @@ mod test {
129131

130132
#[test]
131133
fn test_from_parse_int_error() {
132-
let result = u64::from_str("test");
133-
assert!(result.is_err());
134-
if let Err(error) = result {
135-
let error = Error::from(error);
136-
assert_eq!(error.to_string(), "invalid digit found in string");
137-
}
134+
let parse_int_error = u64::from_str("test").expect_err("parse int error");
135+
let error = Error::from(parse_int_error);
136+
assert_eq!(error.to_string(), "invalid digit found in string");
138137
}
139138

140139
#[test]
141140
fn test_from_strip_prefix_error() {
142141
let path = PathBuf::from("test");
143-
let result = path.strip_prefix("foo");
144-
assert!(result.is_err());
145-
if let Err(error) = result {
146-
let error = Error::from(error);
147-
assert_eq!(error.to_string(), "prefix not found");
148-
}
142+
let stip_prefix_error = path.strip_prefix("foo").expect_err("strip prefix error");
143+
let error = Error::from(stip_prefix_error);
144+
assert_eq!(error.to_string(), "prefix not found");
145+
}
146+
147+
#[test]
148+
fn test_from_system_time_error() {
149+
let future_time = SystemTime::now().add(Duration::from_secs(300));
150+
let system_time_error = SystemTime::now()
151+
.duration_since(future_time)
152+
.expect_err("system time error");
153+
let error = Error::from(system_time_error);
154+
assert_eq!(
155+
error.to_string(),
156+
"second time provided was later than self"
157+
);
149158
}
150159

151160
#[test]

postgresql_archive/src/version.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,8 @@ impl FromStr for Version {
102102

103103
fn from_str(version: &str) -> Result<Self, Self::Err> {
104104
let parts: Vec<&str> = version.split('.').collect();
105-
let major: u64 = match parts.first() {
106-
Some(major) => major.parse()?,
107-
None => return Err(InvalidVersion(version.to_string())),
108-
};
105+
let major_str = parts.first().unwrap_or(&"not specified");
106+
let major: u64 = major_str.parse()?;
109107

110108
let minor: Option<u64> = match parts.get(1) {
111109
Some(minor) => Some(minor.parse()?),

postgresql_embedded/src/error.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,11 @@ mod test {
8282
#[test]
8383
fn test_from_utf8_error() {
8484
let invalid_utf8: Vec<u8> = vec![0, 159, 146, 150];
85-
let result = String::from_utf8(invalid_utf8);
86-
assert!(result.is_err());
87-
if let Err(error) = result {
88-
let error = Error::from(error);
89-
assert_eq!(
90-
error.to_string(),
91-
"invalid utf-8 sequence of 1 bytes from index 1"
92-
);
93-
}
85+
let from_utf8_error = String::from_utf8(invalid_utf8).expect_err("from utf8 error");
86+
let error = Error::from(from_utf8_error);
87+
assert_eq!(
88+
error.to_string(),
89+
"invalid utf-8 sequence of 1 bytes from index 1"
90+
);
9491
}
9592
}

0 commit comments

Comments
 (0)