mirror of https://github.com/terhechte/postsack
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
Rust
54 lines
1.8 KiB
Rust
3 years ago
|
use postsack::{
|
||
|
self,
|
||
|
database::{query, query_result, Database},
|
||
|
importer::Importerlike,
|
||
|
types::FormatType,
|
||
|
};
|
||
|
|
||
|
#[cfg(test)]
|
||
|
mod tests {
|
||
|
use super::*;
|
||
|
|
||
|
#[test]
|
||
|
/// Test that the mbox importer works
|
||
|
fn test_mbox_import() {
|
||
|
let path = "tests/resources/mbox";
|
||
|
let config =
|
||
|
postsack::types::Config::new(None, path, vec!["".to_string()], FormatType::Mbox)
|
||
|
.expect("Config");
|
||
|
let importer = postsack::importer::mbox_importer(config.clone());
|
||
|
let (_receiver, handle) = importer.import().unwrap();
|
||
|
handle.join().expect("").expect("");
|
||
|
// The temporary database path
|
||
|
let db = Database::new(&config.database_path).unwrap();
|
||
|
let mails = db.query(&query::Query::Normal {
|
||
|
fields: vec![query::Field::Subject],
|
||
|
filters: Vec::new(),
|
||
|
range: 0..10,
|
||
|
});
|
||
|
let mails = mails.expect("Expected Mails");
|
||
|
assert_eq!(mails.len(), 10);
|
||
|
}
|
||
|
|
||
|
/// Test that the AppleMail importer works
|
||
|
#[test]
|
||
|
fn test_applemail_importer() {
|
||
|
let path = "tests/resources/applemail";
|
||
|
let config =
|
||
|
postsack::types::Config::new(None, path, vec!["".to_string()], FormatType::AppleMail)
|
||
|
.expect("Config");
|
||
|
let importer = postsack::importer::applemail_importer(config.clone());
|
||
|
let (_receiver, handle) = importer.import().unwrap();
|
||
|
handle.join().expect("").expect("");
|
||
|
// The temporary database path
|
||
|
let db = Database::new(&config.database_path).unwrap();
|
||
|
let mails = db.query(&query::Query::Normal {
|
||
|
fields: vec![query::Field::Subject],
|
||
|
filters: Vec::new(),
|
||
|
range: 0..10,
|
||
|
});
|
||
|
let mails = mails.expect("Expected Mails");
|
||
|
assert_eq!(mails.len(), 4);
|
||
|
}
|
||
|
}
|