diff options
| author | Alex Schofield <git@ajschof.me> | 2025-02-14 14:03:56 +0000 |
|---|---|---|
| committer | Alex Schofield <git@ajschof.me> | 2025-02-14 14:03:56 +0000 |
| commit | 5082d0296afd777d54dfae058ddb6b35e69a96f7 (patch) | |
| tree | abf5ce61c22c868b933eacde0ec4660522b437b2 | |
| parent | ad1d342894d31838c3b1b98eb66c5498c101e8ac (diff) | |
| parent | 0f29d52ba932eeed2ae5826c31cbe9a379fd4579 (diff) | |
| download | gdpr-obfuscator-5082d0296afd777d54dfae058ddb6b35e69a96f7.tar.gz gdpr-obfuscator-5082d0296afd777d54dfae058ddb6b35e69a96f7.zip | |
Merge remote-tracking branch 'refs/remotes/origin/feat/csv-reader' into feat/csv-reader
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | cli.py | 2 | ||||
| -rw-r--r-- | obfuscator/csv_reader.py | 4 | ||||
| -rw-r--r-- | obfuscator/logger.py | 7 | ||||
| -rw-r--r-- | test/test_csv_reader.py | 14 |
5 files changed, 20 insertions, 10 deletions
@@ -172,3 +172,6 @@ cython_debug/ # Private notes *.private + +# CSV Files +*.csv @@ -4,6 +4,7 @@ from obfuscator.logger import get_logger logger = get_logger("CLI") + def main(): parser = argparse.ArgumentParser(description="gdpr-obfuscator") # Require user to either choose a local file or an S3 object @@ -20,5 +21,6 @@ def main(): else: logger.debug("User chose to read CSV from S3") + if __name__ == "__main__": main() diff --git a/obfuscator/csv_reader.py b/obfuscator/csv_reader.py index 901d396..cbd18c1 100644 --- a/obfuscator/csv_reader.py +++ b/obfuscator/csv_reader.py @@ -4,6 +4,7 @@ from obfuscator.logger import get_logger logger = get_logger("CSVReader") + class CSVReader: def __init__(self): pass @@ -27,6 +28,3 @@ class CSVReader: def read_s3(self) -> List[Dict[str, str]]: return [] - - - diff --git a/obfuscator/logger.py b/obfuscator/logger.py index 52c4f5e..61a75ec 100644 --- a/obfuscator/logger.py +++ b/obfuscator/logger.py @@ -1,6 +1,7 @@ import logging import os + def get_logger(name: str) -> logging.Logger: logger = logging.getLogger(name) @@ -13,9 +14,11 @@ def get_logger(name: str) -> logging.Logger: logger.setLevel(log_level) handler = logging.StreamHandler() - format = logging.Formatter("%(asctime)s - %(levelname)s - %(name)s - %(message)s") + format = logging.Formatter( + "%(asctime)s - %(levelname)s - %(name)s - %(message)s" + ) handler.setFormatter(format) logger.addHandler(handler) - return logger
\ No newline at end of file + return logger diff --git a/test/test_csv_reader.py b/test/test_csv_reader.py index 0098e0f..fb5996d 100644 --- a/test/test_csv_reader.py +++ b/test/test_csv_reader.py @@ -14,28 +14,31 @@ def test_empty_csv_should_return_no_content(): expected = [] assert result == expected + def test_csv_with_header_only_should_return_no_content(): content = "student_id,name,course\n" result = csv_reader(content) expected = [] assert result == expected + def test_csv_with_valid_data(): content = ( "student_id,name,course\n" "1234,Student 1,Course 1\n" "5678,Student 2,Course 2\n" - ) + ) result = csv_reader(content) expected = [ {"student_id": "1234", "name": "Student 1", "course": "Course 1"}, {"student_id": "5678", "name": "Student 2", "course": "Course 2"}, - ] - assert result == expected + ] + assert result == expected + def test_csv_with_quoted_fields_should_run_as_expected(): content = ( - 'student_id,name,course\n' + "student_id,name,course\n" '1234,"Student 1","Course 1"\n' '5678,"Student 2","Course 2"\n' ) @@ -46,8 +49,9 @@ def test_csv_with_quoted_fields_should_run_as_expected(): ] assert result == expected + def test_non_csv_file_should_return_no_content(): content = "" result = csv_reader(content) expected = [] - assert result == expected
\ No newline at end of file + assert result == expected |
