class TestFrontEnd(BaseTest): def setup(self): super(TestFrontEnd, self).setup() self.frontend = FrontEnd() self.frontend.get_config(os.path.join(self.path, 'config.yml')) def test_config_variable_exists(self): assert_true(hasattr(self.frontend, 'config')) def test_file_list_contains_files_from_test_dir(self): self.frontend.build_file_list([self.files]) for fn in os.listdir(self.files): assert_true((self.files, fn) in self.frontend.file_list) def test_passing_current_dir_makes_file_list_a_list(self): self.frontend.build_file_list([self.files]) assert_true(isinstance(self.frontend.file_list, list)) def test_passing_multiple_files_are_added_to_file_list(self): possible_files = os.listdir(self.files) files = [os.path.join(self.files, random.choice(possible_files)) for choice in range(3)] self.frontend.build_file_list(files) assert_true(all(os.path.split(fn) in self.frontend.file_list for fn in files)) def test_passing_single_file_is_added_to_file_list(self): fn = random.choice(os.listdir(self.files)) self.frontend.build_file_list([os.path.join(self.files, fn)]) assert_true((self.files, fn) in self.frontend.file_list) def test_setting_recursive_adds_all_files_below_the_folder(self): new_folders = ('herp', 'derp', 'test') os.makedirs(os.path.join(self.files, *new_folders)) def build_folder(folder): new_files = ('foo', 'bar', 'blah') for fn in new_files: with open(os.path.join(self.files, folder, fn), 'w') as f: f.write('') build_folder('herp') build_folder('herp/derp') build_folder('herp/derp/test') self.frontend.build_file_list([self.files], recursive=True) for root, dirs, files in os.walk(self.files): for fn in files: assert_true((root, fn) in self.frontend.file_list) def test_ignoring_files(self): ignore = [random.choice(os.listdir(self.files)) for i in range(3)] self.frontend.build_file_list([self.files], ignore_filelist=ignore) for fn in [fn for fn in os.listdir(self.files) if fn not in ignore]: assert_true((self.files, fn) in self.frontend.file_list)
def setup(self): super(TestFrontEnd, self).setup() self.frontend = FrontEnd() self.frontend.get_config(os.path.join(self.path, 'config.yml'))