fn test_should_be_watched()

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));
    }
}