def test_fetch_latest_commit_sha(self): """Test fetch_latest_commit_sha function.""" sha = gh.fetch_latest_commit_sha('easybuild-framework', 'hpcugent') self.assertTrue(re.match('^[0-9a-f]{40}$', sha)) sha = gh.fetch_latest_commit_sha('easybuild-easyblocks', 'hpcugent', branch='develop') self.assertTrue(re.match('^[0-9a-f]{40}$', sha))
def test_fetch_latest_commit_sha(self): """Test fetch_latest_commit_sha function.""" if self.github_token is None: print "Skipping test_fetch_latest_commit_sha, no GitHub token available?" return sha = gh.fetch_latest_commit_sha('easybuild-framework', 'hpcugent') self.assertTrue(re.match('^[0-9a-f]{40}$', sha)) sha = gh.fetch_latest_commit_sha('easybuild-easyblocks', 'hpcugent', branch='develop') self.assertTrue(re.match('^[0-9a-f]{40}$', sha))
def test_fetch_latest_commit_sha(self): """Test fetch_latest_commit_sha function.""" if self.skip_github_tests: print("Skipping test_fetch_latest_commit_sha, no GitHub token available?") return sha = gh.fetch_latest_commit_sha('easybuild-framework', 'easybuilders', github_user=GITHUB_TEST_ACCOUNT) self.assertTrue(re.match('^[0-9a-f]{40}$', sha)) sha = gh.fetch_latest_commit_sha('easybuild-easyblocks', 'easybuilders', github_user=GITHUB_TEST_ACCOUNT, branch='develop') self.assertTrue(re.match('^[0-9a-f]{40}$', sha))
def test_fetch_latest_commit_sha(self): """Test fetch_latest_commit_sha function.""" if self.skip_github_tests: print "Skipping test_fetch_latest_commit_sha, no GitHub token available?" return sha = gh.fetch_latest_commit_sha('easybuild-framework', 'easybuilders', github_user=GITHUB_TEST_ACCOUNT) self.assertTrue(re.match('^[0-9a-f]{40}$', sha)) sha = gh.fetch_latest_commit_sha('easybuild-easyblocks', 'easybuilders', github_user=GITHUB_TEST_ACCOUNT, branch='develop') self.assertTrue(re.match('^[0-9a-f]{40}$', sha))
def test_download_repo(self): """Test download_repo function.""" if self.github_token is None: print "Skipping test_download_repo, no GitHub token available?" return # default: download tarball for master branch of hpcugent/easybuild-easyconfigs repo path = gh.download_repo(path=self.test_prefix) repodir = os.path.join(self.test_prefix, 'hpcugent', 'easybuild-easyconfigs-master') self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue(os.path.exists(repodir)) shafile = os.path.join(repodir, 'latest-sha') self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue(os.path.exists(os.path.join(repodir, 'easybuild', 'easyconfigs', 'f', 'foss', 'foss-2015a.eb'))) # existing downloaded repo is not reperformed, except if SHA is different account, repo, branch = 'boegel', 'easybuild-easyblocks', 'develop' repodir = os.path.join(self.test_prefix, account, '%s-%s' % (repo, branch)) latest_sha = gh.fetch_latest_commit_sha(repo, account, branch=branch) # put 'latest-sha' fail in place, check whether repo was (re)downloaded (should not) shafile = os.path.join(repodir, 'latest-sha') write_file(shafile, latest_sha) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix) self.assertTrue(os.path.samefile(path, repodir)) self.assertEqual(os.listdir(repodir), ['latest-sha']) # remove 'latest-sha' file and verify that download was performed os.remove(shafile) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix) self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue('easybuild' in os.listdir(repodir)) self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue(os.path.exists(os.path.join(repodir, 'easybuild', 'easyblocks', '__init__.py')))
def test_download_repo(self): """Test download_repo function.""" # default: download tarball for master branch of hpcugent/easybuild-easyconfigs repo path = gh.download_repo(path=self.test_prefix) repodir = os.path.join(self.test_prefix, 'hpcugent', 'easybuild-easyconfigs-master') self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue(os.path.exists(repodir)) shafile = os.path.join(repodir, 'latest-sha') self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue(os.path.exists(os.path.join(repodir, 'easybuild', 'easyconfigs', 'f', 'foss', 'foss-2015a.eb'))) # existing downloaded repo is not reperformed, except if SHA is different account, repo, branch = 'boegel', 'easybuild-easyblocks', 'develop' repodir = os.path.join(self.test_prefix, account, '%s-%s' % (repo, branch)) latest_sha = gh.fetch_latest_commit_sha(repo, account, branch=branch) # put 'latest-sha' fail in place, check whether repo was (re)downloaded (should not) shafile = os.path.join(repodir, 'latest-sha') write_file(shafile, latest_sha) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix) self.assertTrue(os.path.samefile(path, repodir)) self.assertEqual(os.listdir(repodir), ['latest-sha']) # remove 'latest-sha' file and verify that download was performed os.remove(shafile) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix) self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue('easybuild' in os.listdir(repodir)) self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue(os.path.exists(os.path.join(repodir, 'easybuild', 'easyblocks', '__init__.py')))
def test_download_repo(self): """Test download_repo function.""" if self.skip_github_tests: print("Skipping test_download_repo, no GitHub token available?") return cwd = os.getcwd() # default: download tarball for master branch of easybuilders/easybuild-easyconfigs repo path = gh.download_repo(path=self.test_prefix, github_user=GITHUB_TEST_ACCOUNT) repodir = os.path.join(self.test_prefix, 'easybuilders', 'easybuild-easyconfigs-master') self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue(os.path.exists(repodir)) shafile = os.path.join(repodir, 'latest-sha') self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue( os.path.exists( os.path.join(repodir, 'easybuild', 'easyconfigs', 'f', 'foss', 'foss-2019b.eb'))) # current directory should not have changed after calling download_repo self.assertTrue(os.path.samefile(cwd, os.getcwd())) # existing downloaded repo is not reperformed, except if SHA is different account, repo, branch = 'boegel', 'easybuild-easyblocks', 'develop' repodir = os.path.join(self.test_prefix, account, '%s-%s' % (repo, branch)) latest_sha = gh.fetch_latest_commit_sha( repo, account, branch=branch, github_user=GITHUB_TEST_ACCOUNT) # put 'latest-sha' fail in place, check whether repo was (re)downloaded (should not) shafile = os.path.join(repodir, 'latest-sha') write_file(shafile, latest_sha) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix, github_user=GITHUB_TEST_ACCOUNT) self.assertTrue(os.path.samefile(path, repodir)) self.assertEqual(os.listdir(repodir), ['latest-sha']) # remove 'latest-sha' file and verify that download was performed os.remove(shafile) path = gh.download_repo(repo=repo, branch=branch, account=account, path=self.test_prefix, github_user=GITHUB_TEST_ACCOUNT) self.assertTrue(os.path.samefile(path, repodir)) self.assertTrue('easybuild' in os.listdir(repodir)) self.assertTrue(re.match('^[0-9a-f]{40}$', read_file(shafile))) self.assertTrue( os.path.exists( os.path.join(repodir, 'easybuild', 'easyblocks', '__init__.py')))