in src/flowgger/input/file/discovery.rs [130:182]
fn test_should_be_watched() {
struct TestData {
match_path: Pattern,
path: PathBuf,
result: bool,
}
let tt = vec![
TestData {
match_path: Pattern::new("/tmp/1.txt").unwrap(),
path: PathBuf::from("/tmp/1.txt"),
result: true,
},
TestData {
match_path: Pattern::new("/tmp/1.txt").unwrap(),
path: PathBuf::from("/tmp/2.txt"),
result: false,
},
TestData {
match_path: Pattern::new("/tmp/*.txt").unwrap(),
path: PathBuf::from("/tmp/1.txt"),
result: true,
},
TestData {
match_path: Pattern::new("/tmp/*.txt").unwrap(),
path: PathBuf::from("/tmp/2.txt"),
result: true,
},
TestData {
match_path: Pattern::new("/tmp/1.txt").unwrap(),
path: PathBuf::from("/tmp"),
result: true,
},
TestData {
match_path: Pattern::new("/tmp/1.txt").unwrap(),
path: PathBuf::from("/tmp/logs"),
result: false,
},
TestData {
match_path: Pattern::new("/tmp/*/1.txt").unwrap(),
path: PathBuf::from("/tmp/logs/1.txt"),
result: true,
},
TestData {
match_path: Pattern::new("/tmp/*/1.txt").unwrap(),
path: PathBuf::from("/tmp/logs/1/1.txt"),
result: true,
},
];
for data in tt {
assert_eq!(data.result, should_be_watched(&data.match_path, &data.path));
}
}