| | import pytest |
| | import os |
| | import tempfile |
| | from folder_paths import get_input_subfolders, set_input_directory |
| |
|
| | @pytest.fixture(scope="module") |
| | def mock_folder_structure(): |
| | with tempfile.TemporaryDirectory() as temp_dir: |
| | |
| | folders = [ |
| | "folder1", |
| | "folder1/subfolder1", |
| | "folder1/subfolder2", |
| | "folder2", |
| | "folder2/deep", |
| | "folder2/deep/nested", |
| | "empty_folder" |
| | ] |
| |
|
| | |
| | for folder in folders: |
| | os.makedirs(os.path.join(temp_dir, folder)) |
| |
|
| | |
| | with open(os.path.join(temp_dir, "root_file.txt"), "w") as f: |
| | f.write("test") |
| | with open(os.path.join(temp_dir, "folder1", "test.txt"), "w") as f: |
| | f.write("test") |
| |
|
| | set_input_directory(temp_dir) |
| | yield temp_dir |
| |
|
| |
|
| | def test_gets_all_folders(mock_folder_structure): |
| | folders = get_input_subfolders() |
| | expected = ["folder1", "folder1/subfolder1", "folder1/subfolder2", |
| | "folder2", "folder2/deep", "folder2/deep/nested", "empty_folder"] |
| | assert sorted(folders) == sorted(expected) |
| |
|
| |
|
| | def test_handles_nonexistent_input_directory(): |
| | with tempfile.TemporaryDirectory() as temp_dir: |
| | nonexistent = os.path.join(temp_dir, "nonexistent") |
| | set_input_directory(nonexistent) |
| | assert get_input_subfolders() == [] |
| |
|
| |
|
| | def test_empty_input_directory(): |
| | with tempfile.TemporaryDirectory() as temp_dir: |
| | set_input_directory(temp_dir) |
| | assert get_input_subfolders() == [] |
| |
|