From 529776bac64787ad44539c76699850137dfadca2 Mon Sep 17 00:00:00 2001 From: DasMoorhuhn Date: Thu, 7 Dec 2023 21:54:32 +0100 Subject: [PATCH] start making tests --- src/main.py | 4 +- src/{folder_handler.py => scan_folder.py} | 4 +- .coveragerc => tests/.coveragerc | 3 -- tests/helpers/__init__.py | 0 tests/helpers/folder_helper.py | 19 +++++++++ pytest.ini => tests/pytest.ini | 0 tests/test_files/test_image_001.png | Bin 0 -> 121 bytes tests/test_files/test_image_002.png | Bin 0 -> 129 bytes tests/test_meta_data_handler.py | 0 tests/test_scan_dir.py | 46 ++++++++++++++++++++++ 10 files changed, 69 insertions(+), 7 deletions(-) rename src/{folder_handler.py => scan_folder.py} (82%) rename .coveragerc => tests/.coveragerc (52%) create mode 100644 tests/helpers/__init__.py create mode 100644 tests/helpers/folder_helper.py rename pytest.ini => tests/pytest.ini (100%) create mode 100644 tests/test_files/test_image_001.png create mode 100644 tests/test_files/test_image_002.png create mode 100644 tests/test_meta_data_handler.py create mode 100644 tests/test_scan_dir.py diff --git a/src/main.py b/src/main.py index 054c30c..ea4fc90 100644 --- a/src/main.py +++ b/src/main.py @@ -3,7 +3,7 @@ import logging from meta_data_handler import MetadataHandler from file_handler import sort_pictures -from folder_handler import * +from scan_folder import * sys.path.append("../") log_folder = "." @@ -29,7 +29,7 @@ def start_process(): raise err -files = recursive_scan_dir(src) +files = recursive_scan_folder(src) if len(files) > 0: start_process() else: diff --git a/src/folder_handler.py b/src/scan_folder.py similarity index 82% rename from src/folder_handler.py rename to src/scan_folder.py index 9b16c8a..61af7b8 100644 --- a/src/folder_handler.py +++ b/src/scan_folder.py @@ -1,11 +1,11 @@ import os -def scan_dir(path:str): +def scan_folder(path:str): return next(os.walk(path))[2] -def recursive_scan_dir(path:str): +def recursive_scan_folder(path:str): results = [] for root, folders, files in os.walk(path): list_files = os.listdir(root) diff --git a/.coveragerc b/tests/.coveragerc similarity index 52% rename from .coveragerc rename to tests/.coveragerc index a41e48b..5507af8 100644 --- a/.coveragerc +++ b/tests/.coveragerc @@ -1,6 +1,3 @@ [run] source = src omit = tests/*, __init__.py - -[report] -include_namespace_packages = True \ No newline at end of file diff --git a/tests/helpers/__init__.py b/tests/helpers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/helpers/folder_helper.py b/tests/helpers/folder_helper.py new file mode 100644 index 0000000..0581a29 --- /dev/null +++ b/tests/helpers/folder_helper.py @@ -0,0 +1,19 @@ +import os +import shutil +from pathlib import Path + +TEST_FOLDER = ".test_folder" + + +def create_file(file): + Path(os.path.join(TEST_FOLDER, file)).touch() + + +def delete_folder(): + shutil.rmtree(TEST_FOLDER, ignore_errors=True) + + +def create_folders(): + delete_folder() + os.makedirs(os.path.join(TEST_FOLDER, '001', '001')) + os.makedirs(os.path.join(TEST_FOLDER, '002', '001')) diff --git a/pytest.ini b/tests/pytest.ini similarity index 100% rename from pytest.ini rename to tests/pytest.ini diff --git a/tests/test_files/test_image_001.png b/tests/test_files/test_image_001.png new file mode 100644 index 0000000000000000000000000000000000000000..4fef204f78ee6cf0ace9e5e340952e58aed43c48 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF6Oi-L1ke-*Ho2px!T$GxcSDcYw@}7CW9Z(UEr;B3<$IRpeiJ3s&4+h4G?O7E- O7K5j&pUXO@geCy)Kp>O= literal 0 HcmV?d00001 diff --git a/tests/test_files/test_image_002.png b/tests/test_files/test_image_002.png new file mode 100644 index 0000000000000000000000000000000000000000..0de31e6e7a5f1a972ff02b2211775270b51d9f7f GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^AT}ol6Oe2Eak7F*W(ivYfF#rGn literal 0 HcmV?d00001 diff --git a/tests/test_meta_data_handler.py b/tests/test_meta_data_handler.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_scan_dir.py b/tests/test_scan_dir.py new file mode 100644 index 0000000..fde5766 --- /dev/null +++ b/tests/test_scan_dir.py @@ -0,0 +1,46 @@ +import unittest + +from helpers.folder_helper import delete_folder +from helpers.folder_helper import create_folders +from helpers.folder_helper import create_file +from helpers.folder_helper import TEST_FOLDER +from src.scan_folder import scan_folder +from src.scan_folder import recursive_scan_folder + + +class TestScanFolder(unittest.TestCase): + def test_scan_folder(self): + create_folders() + create_file(file='img_01.jpeg') + files = scan_folder(TEST_FOLDER) + delete_folder() + + assert len(files) == 1 + + def test_scan_empty_folder(self): + create_folders() + files = scan_folder(TEST_FOLDER) + delete_folder() + + assert len(files) == 0 + + def test_scan_recursive_folder(self): + create_folders() + create_file(file='img_01.jpeg') + create_file(file='img_02.jpeg') + create_file(file='001/img_03.jpeg') + create_file(file='001/001/img_04.jpeg') + create_file(file='002/001/img_05.jpeg') + + files = recursive_scan_folder(TEST_FOLDER) + delete_folder() + + assert len(files) == 5 + + def test_scan_recursive_empty_folder(self): + create_folders() + files = recursive_scan_folder(TEST_FOLDER) + delete_folder() + + assert len(files) == 0 +