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