dd-sensitive-data-scanner 0.0.0

Core Sensitive Data Scanner library for detecting and redacting sensitive information.
Documentation
use std::fs::File;
use std::io::BufRead;

use crate::parser::regex_parser::parse_regex_pattern;

#[test]
fn simple_patterns_can_be_parsed() {
    check_patterns_can_be_parsed(&read_file_lines("data/simple_patterns.txt"));
}

fn check_patterns_can_be_parsed(patterns: &[String]) {
    for (i, pattern) in patterns.iter().enumerate() {
        if let Err(err) = parse_regex_pattern(pattern) {
            println!("Input {}: {}", i + 1, pattern);
            panic!("Failed to parse input: {err:?}");
        }
    }
}

pub(crate) fn read_file_lines(filename: &str) -> Vec<String> {
    let file = File::open(filename).unwrap();
    std::io::BufReader::new(file)
        .lines()
        .map(|result| result.unwrap())
        .collect()
}