| 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() == [] |
|
|