diff --git a/ate/utils.py b/ate/utils.py index c3521d10..1b6c22ae 100644 --- a/ate/utils.py +++ b/ate/utils.py @@ -1,4 +1,5 @@ import codecs +import fnmatch import hashlib import hmac import json @@ -53,13 +54,17 @@ def load_testcases(testcase_file_path): # '' or other suffix return [] -def load_foler_files(folder_path): +def load_foler_files(folder_path, match_filter_list=["*"]): """ load folder path, return all files in list format. """ file_list = [] for dirpath, dirnames, filenames in os.walk(folder_path): - for filename in filenames: + filenames_list = [] + for match_filter in match_filter_list: + filenames_list.extend(fnmatch.filter(filenames, match_filter)) + + for filename in filenames_list: file_path = os.path.join(dirpath, filename) file_list.append(file_path) @@ -91,7 +96,7 @@ def load_testcases_by_path(path): path = os.path.join(os.getcwd(), path) if os.path.isdir(path): - files_list = load_foler_files(path) + files_list = load_foler_files(path, ["*.yml", "*.json"]) return load_testcases_by_path(files_list) elif os.path.isfile(path): diff --git a/tests/test_utils.py b/tests/test_utils.py index 8b869266..f6d2976d 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -33,11 +33,12 @@ class TestUtils(ApiServerUnittest): def test_load_foler_files(self): folder = os.path.join(os.getcwd(), 'tests') - files = utils.load_foler_files(folder) file1 = os.path.join(os.getcwd(), 'tests', 'test_utils.py') file2 = os.path.join(os.getcwd(), 'tests', 'data', 'demo_binds.yml') + + files = utils.load_foler_files(folder, ["*.py"]) self.assertIn(file1, files) - self.assertIn(file2, files) + self.assertNotIn(file2, files) def test_load_testcases_by_path_files(self): testsets_list = []