@@ -156,6 +156,56 @@ def test_deprecated_pact_urls(self):
156156 timeout = 30 )
157157
158158
159+ class expand_directoriesTestCase (TestCase ):
160+ def setUp (self ):
161+ super (expand_directoriesTestCase , self ).setUp ()
162+
163+ def posix_join (* args ):
164+ return '/' .join (args )
165+
166+ self .addCleanup (patch .stopall )
167+ self .mock_isdir = patch .object (verify , 'isdir' , autospec = True ).start ()
168+ self .mock_join = patch .object (
169+ verify , 'join' , new = posix_join ).start ()
170+ self .mock_listdir = patch .object (
171+ verify , 'listdir' , autospec = True ).start ()
172+
173+ def test_directory (self ):
174+ self .mock_isdir .return_value = True
175+ self .mock_listdir .return_value = [
176+ 'consumer-provider.json' ,
177+ 'consumer2-provider.json' ,
178+ 'unrelated-file.txt' ]
179+
180+ result = verify .expand_directories (['/tmp' ])
181+ self .assertEqual (result , [
182+ '/tmp/consumer-provider.json' ,
183+ '/tmp/consumer2-provider.json' ,
184+ ])
185+
186+ def test_file (self ):
187+ self .mock_isdir .return_value = False
188+ result = verify .expand_directories (['/tmp/consumer-provider.json' ])
189+ self .assertEqual (result , ['/tmp/consumer-provider.json' ])
190+
191+ def test_uri (self ):
192+ result = verify .expand_directories (['http://broker' ])
193+ self .assertEqual (result , ['http://broker' ])
194+
195+ def test_windows_directories (self ):
196+ self .mock_isdir .return_value = True
197+ self .mock_listdir .return_value = [
198+ 'consumer-provider.json' ,
199+ 'consumer2-provider.json' ,
200+ 'unrelated-file.txt' ]
201+
202+ result = verify .expand_directories (['C:\\ tmp' ])
203+ self .assertEqual (result , [
204+ 'C:/tmp/consumer-provider.json' ,
205+ 'C:/tmp/consumer2-provider.json' ,
206+ ])
207+
208+
159209class path_existsTestCase (TestCase ):
160210 def setUp (self ):
161211 super (path_existsTestCase , self ).setUp ()
0 commit comments