Browse Source

test: improve timereader unit tests

pull/2/head
JuanLeon Lahoz 5 years ago
parent
commit
8db67c98c6
  1. 170
      src/read/times.rs

170
src/read/times.rs

@ -103,26 +103,22 @@ mod tests {
let mut builder = TimeReaderBuilder::default();
builder.regex(Regex::new("f.o").unwrap());
let reader = builder.build().unwrap();
match NamedTempFile::new() {
Ok(ref mut file) => {
writeln!(file, "[2021-04-15T06:25:31+00:00] foobar").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] bar").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foobar").unwrap();
writeln!(file, "[2021-04-15T06:28:31+00:00] foobar").unwrap();
writeln!(file, "none").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 3);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[2],
DateTime::parse_from_rfc3339("2021-04-15T06:28:31+00:00").unwrap()
);
}
Err(_) => assert!(false, "Could not create temp file"),
}
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "[2021-04-15T06:25:31+00:00] foobar").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] bar").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foobar").unwrap();
writeln!(file, "[2021-04-15T06:28:31+00:00] foobar").unwrap();
writeln!(file, "none").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 3);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[2],
DateTime::parse_from_rfc3339("2021-04-15T06:28:31+00:00").unwrap()
);
}
#[test]
@ -130,26 +126,22 @@ mod tests {
let mut builder = TimeReaderBuilder::default();
builder.ts_format(String::from("%Y_%m_%d %H:%M"));
let reader = builder.build().unwrap();
match NamedTempFile::new() {
Ok(ref mut file) => {
writeln!(file, "_2021_04_15 06:25] foobar").unwrap();
writeln!(file, "_2021_04_15 06:26] bar").unwrap();
writeln!(file, "_2021_04_15 06:27] foobar").unwrap();
writeln!(file, "_2021_04_15 06:28] foobar").unwrap();
writeln!(file, "none").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 4);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:00+00:00").unwrap()
);
assert_eq!(
ts[3],
DateTime::parse_from_rfc3339("2021-04-15T06:28:00+00:00").unwrap()
);
}
Err(_) => assert!(false, "Could not create temp file"),
}
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "_2021_04_15 06:25] foobar").unwrap();
writeln!(file, "_2021_04_15 06:26] bar").unwrap();
writeln!(file, "_2021_04_15 06:27] foobar").unwrap();
writeln!(file, "_2021_04_15 06:28] foobar").unwrap();
writeln!(file, "none").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 4);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:00+00:00").unwrap()
);
assert_eq!(
ts[3],
DateTime::parse_from_rfc3339("2021-04-15T06:28:00+00:00").unwrap()
);
}
#[test]
@ -157,25 +149,21 @@ mod tests {
let mut builder = TimeReaderBuilder::default();
builder.duration(Duration::seconds(90));
let reader = builder.build().unwrap();
match NamedTempFile::new() {
Ok(ref mut file) => {
writeln!(file, "[2021-04-15T06:25:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:28:31+00:00] foo").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 2);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[1],
DateTime::parse_from_rfc3339("2021-04-15T06:26:31+00:00").unwrap()
);
}
Err(_) => assert!(false, "Could not create temp file"),
}
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "[2021-04-15T06:25:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:28:31+00:00] foo").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 2);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[1],
DateTime::parse_from_rfc3339("2021-04-15T06:26:31+00:00").unwrap()
);
}
#[test]
@ -183,25 +171,49 @@ mod tests {
let mut builder = TimeReaderBuilder::default();
builder.duration(Duration::seconds(90)).early_stop(true);
let reader = builder.build().unwrap();
match NamedTempFile::new() {
Ok(ref mut file) => {
writeln!(file, "[2021-04-15T06:25:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foo").unwrap();
// This date goes backwards
writeln!(file, "[2021-04-15T06:25:32+00:00] foo").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 2);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[1],
DateTime::parse_from_rfc3339("2021-04-15T06:26:31+00:00").unwrap()
);
}
Err(_) => assert!(false, "Could not create temp file"),
}
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "[2021-04-15T06:25:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:26:31+00:00] foo").unwrap();
writeln!(file, "[2021-04-15T06:27:31+00:00] foo").unwrap();
// This date goes backwards
writeln!(file, "[2021-04-15T06:25:32+00:00] foo").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 2);
assert_eq!(
ts[0],
DateTime::parse_from_rfc3339("2021-04-15T06:25:31+00:00").unwrap()
);
assert_eq!(
ts[1],
DateTime::parse_from_rfc3339("2021-04-15T06:26:31+00:00").unwrap()
);
}
#[test]
fn time_reader_with_bad_format() {
let mut builder = TimeReaderBuilder::default();
builder.ts_format(String::from("%Y_%zzzz"));
let reader = builder.build().unwrap();
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "_2021_04_15 06:25] foobar").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 0);
}
#[test]
fn time_empty_file() {
let reader = TimeReaderBuilder::default().build().unwrap();
let file = NamedTempFile::new().unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 0);
}
#[test]
fn time_reader_with_garbage() {
let reader = TimeReaderBuilder::default().build().unwrap();
let mut file = NamedTempFile::new().unwrap();
writeln!(file, "garbage").unwrap();
let ts = reader.read(file.path().to_str().unwrap());
assert_eq!(ts.len(), 0);
}
}

Loading…
Cancel
Save