def test_get_fixed_files_empty(self): miner = BaseMiner( url_to_repo='https://github.com/stefanodallapalma/radon-repository-miner-testing.git', clone_repo_to=os.path.join(os.getcwd(), 'test_data', 'tmp') ) miner.get_fixed_files() self.assertListEqual([], miner.fixed_files)
def test_get_fixed_files_with_more_than_one_commits(self): """To test else branch in condition: if len(self.fixing_commits) == 1""" miner = BaseMiner( url_to_repo='https://github.com/stefanodallapalma/radon-repository-miner-testing.git', clone_repo_to=os.path.join(os.getcwd(), 'test_data', 'tmp') ) miner.fixing_commits = ['3de3d8c2bbccf62ef5698cf33ad258aae5316432', 'c029d7520456e5468d66b56fe176146680520b20'] miner.get_fixed_files() self.assertListEqual([], miner.fixed_files)
def mine_fixed_files(miner: BaseMiner, verbose: bool, dest: str, exclude_files: str = None): if exclude_files: with open(exclude_files, 'r') as f: files = json.load(f, cls=FixedFileDecoder) miner.exclude_fixed_files = files if verbose: language = 'Ansible' if isinstance(miner, AnsibleMiner) else 'Tosca' print(f'Identifying {language} files modified in fixing-commits') fixed_files = miner.get_fixed_files() if verbose: print( f'Saving {len(fixed_files)} fixed-files [{datetime.now().hour}:{datetime.now().minute}]' ) filename_json = os.path.join(dest, 'fixed-files.json') json_files = [] for file in fixed_files: json_files.append(FixedFileEncoder().default(file)) with io.open(filename_json, "w") as f: json.dump(json_files, f) if verbose: print(f'JSON created at {filename_json}')