def setUpClass(cls): """Init the matcher""" cachedir = tempfile.mkdtemp() gitrepo = GitShallowRepo(cachedir=cachedir, repo=ComponentMatcher.REPO) gitrepo.update() cls.component_matcher = ComponentMatcher(email_cache={}, gitrepo=gitrepo)
def setUpClass(cls): """Init the matcher""" cachedir = tempfile.mkdtemp() gitrepo = GitShallowRepo(cachedir=cachedir, repo='https://github.com/ansible/ansible') gitrepo.update() cls.component_matcher = ComponentMatcher(email_cache={}, gitrepo=gitrepo)
def setUpClass(cls): """Init the matcher""" cachedir = tempfile.mkdtemp() gitrepo = GitShallowRepo(cachedir=cachedir, repo=ComponentMatcher.REPO) gitrepo.update() file_indexer = FileIndexer(gitrepo=gitrepo) file_indexer.get_files() file_indexer.parse_metadata() cls.component_matcher = ComponentMatcher(email_cache={}, gitrepo=gitrepo, file_indexer=file_indexer)
def setUpClass(cls): """Init the matcher""" cachedir = tempfile.mkdtemp() gitrepo = GitShallowRepo(cachedir=cachedir, repo=ComponentMatcher.REPO) gitrepo.update() @mock.patch.object(FileIndexer, 'manage_checkout') @mock.patch.object(FileIndexer, 'checkoutdir', create=True, side_effect=gitrepo.checkoutdir) def get_file_indexer(m_manage_checkout, m_checkoutdir): indexer = FileIndexer() indexer.get_files() indexer.parse_metadata() return indexer cls.component_matcher = ComponentMatcher( email_cache={}, gitrepo=gitrepo, file_indexer=get_file_indexer())
def get_component_matcher(): # Make indexers MI = FakeIndexer() FI = FakeIndexer() GR = FakeGitRepo() GR.checkoutdir = tempfile.mkdtemp() if not os.path.isdir(GR.checkoutdir): os.makedirs(GR.checkoutdir) tarname = 'ansible-2017-10-24.tar.gz' tarurl = 'http://tannerjc.net/ansible/{}'.format(tarname) tarfile = 'tests/fixtures/{}'.format(tarname) tarfile = os.path.abspath(tarfile) if not os.path.isfile(tarfile): cmd = 'cd {}; wget {}'.format(os.path.dirname(tarfile), tarurl) (rc, so, se) = run_command(cmd) print(so) print(se) assert rc == 0 cmd = 'cd {} ; tar xzvf {}'.format(GR.checkoutdir, tarfile) (rc, so, se) = run_command(cmd) GR.checkoutdir = GR.checkoutdir + '/ansible' # Load the files with open('tests/fixtures/filenames/2017-10-24.json', 'rb') as f: _files = json.loads(f.read()) _files = sorted(set(_files)) #with open('tests/fixtures/botmeta/BOTMETA-2017-11-01.yml', 'rb') as f: # botmeta = f.read() botmetafile = 'tests/fixtures/botmeta/BOTMETA-2017-11-01.yml' FI.files = _files GR.files = _files #GR.module_files = [x for x in _files if x.startswith('lib/ansible/modules')] # Load the modules mfiles = [x for x in FI.files if 'lib/ansible/modules' in x] mfiles = [x for x in mfiles if x.endswith('.py') or x.endswith('.ps1')] mfiles = [x for x in mfiles if x != '__init__.py'] mnames = [] for mfile in mfiles: mname = os.path.basename(mfile) mname = mname.replace('.py', '') mname = mname.replace('.ps1', '') mnames.append(mname) MI.modules[mfile] = {'name': mname, 'repo_filename': mfile} # Init the matcher #CM = ComponentMatcher(None, FI, MI) CM = ComponentMatcher(botmetafile=botmetafile, email_cache={}, gitrepo=GR, file_indexer=FI, module_indexer=MI) return CM