77
88import folder_paths
99
10+ @pytest .fixture ()
11+ def clear_folder_paths ():
12+ # Clear the global dictionary before each test to ensure isolation
13+ original = folder_paths .folder_names_and_paths .copy ()
14+ folder_paths .folder_names_and_paths .clear ()
15+ yield
16+ folder_paths .folder_names_and_paths = original
17+
1018@pytest .fixture
1119def temp_dir ():
1220 with tempfile .TemporaryDirectory () as tmpdirname :
@@ -30,9 +38,33 @@ def test_get_annotated_filepath():
3038 assert folder_paths .get_annotated_filepath ("test.txt" , default_dir ) == os .path .join (default_dir , "test.txt" )
3139 assert folder_paths .get_annotated_filepath ("test.txt [output]" ) == os .path .join (folder_paths .get_output_directory (), "test.txt" )
3240
33- def test_add_model_folder_path ():
34- folder_paths .add_model_folder_path ("test_folder" , "/test/path" )
35- assert "/test/path" in folder_paths .get_folder_paths ("test_folder" )
41+ def test_add_model_folder_path_append (clear_folder_paths ):
42+ folder_paths .add_model_folder_path ("test_folder" , "/default/path" , is_default = True )
43+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = False )
44+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/default/path" , "/test/path" ]
45+
46+
47+ def test_add_model_folder_path_insert (clear_folder_paths ):
48+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = False )
49+ folder_paths .add_model_folder_path ("test_folder" , "/default/path" , is_default = True )
50+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/default/path" , "/test/path" ]
51+
52+
53+ def test_add_model_folder_path_re_add_existing_default (clear_folder_paths ):
54+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = False )
55+ folder_paths .add_model_folder_path ("test_folder" , "/old_default/path" , is_default = True )
56+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/old_default/path" , "/test/path" ]
57+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = True )
58+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/test/path" , "/old_default/path" ]
59+
60+
61+ def test_add_model_folder_path_re_add_existing_non_default (clear_folder_paths ):
62+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = False )
63+ folder_paths .add_model_folder_path ("test_folder" , "/default/path" , is_default = True )
64+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/default/path" , "/test/path" ]
65+ folder_paths .add_model_folder_path ("test_folder" , "/test/path" , is_default = False )
66+ assert folder_paths .get_folder_paths ("test_folder" ) == ["/default/path" , "/test/path" ]
67+
3668
3769def test_recursive_search (temp_dir ):
3870 os .makedirs (os .path .join (temp_dir , "subdir" ))
0 commit comments