Update the projects tests to use DNF Repo object
Stop using fake dnf object, use the real thing. This will help catch
problems with dnf returning unexpected types like VectorString.
(cherry picked from commit 27aff75aa3
)
This commit is contained in:
parent
af28b25e50
commit
88a0b475e9
5
tests/pylorax/repos/baseurl-test.repo
Normal file
5
tests/pylorax/repos/baseurl-test.repo
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[fake-repo-baseurl]
|
||||||
|
name = A fake repo with a baseurl
|
||||||
|
baseurl = https://fake-repo.base.url
|
||||||
|
sslverify = True
|
||||||
|
gpgcheck = True
|
6
tests/pylorax/repos/gpgkey-test.repo
Normal file
6
tests/pylorax/repos/gpgkey-test.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[fake-repo-gpgkey]
|
||||||
|
name = A fake repo with a gpgkey
|
||||||
|
baseurl = https://fake-repo.base.url
|
||||||
|
sslverify = True
|
||||||
|
gpgcheck = True
|
||||||
|
gpgkey = https://fake-repo.gpgkey
|
5
tests/pylorax/repos/metalink-test.repo
Normal file
5
tests/pylorax/repos/metalink-test.repo
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[fake-repo-metalink]
|
||||||
|
name = A fake repo with a metalink
|
||||||
|
metalink = https://fake-repo.metalink
|
||||||
|
sslverify = True
|
||||||
|
gpgcheck = True
|
5
tests/pylorax/repos/mirrorlist-test.repo
Normal file
5
tests/pylorax/repos/mirrorlist-test.repo
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[fake-repo-mirrorlist]
|
||||||
|
name = A fake repo with a mirrorlist
|
||||||
|
mirrorlist = https://fake-repo.mirrorlist
|
||||||
|
sslverify = True
|
||||||
|
gpgcheck = True
|
6
tests/pylorax/repos/proxy-test.repo
Normal file
6
tests/pylorax/repos/proxy-test.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[fake-repo-proxy]
|
||||||
|
name = A fake repo with a proxy
|
||||||
|
baseurl = https://fake-repo.base.url
|
||||||
|
proxy = https://fake-repo.proxy
|
||||||
|
sslverify = True
|
||||||
|
gpgcheck = True
|
@ -222,16 +222,6 @@ class ConfigureTest(unittest.TestCase):
|
|||||||
config = configure(conf_file=self.conf_file + '.non-existing')
|
config = configure(conf_file=self.conf_file + '.non-existing')
|
||||||
self.assertEqual(config.get('composer', 'cache_dir'), '/var/tmp/composer/cache')
|
self.assertEqual(config.get('composer', 'cache_dir'), '/var/tmp/composer/cache')
|
||||||
|
|
||||||
class FakeRepoBaseUrl():
|
|
||||||
id = "fake-repo-baseurl"
|
|
||||||
baseurl = ["https://fake-repo.base.url"]
|
|
||||||
metalink = ""
|
|
||||||
mirrorlist = ""
|
|
||||||
proxy = ""
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = []
|
|
||||||
|
|
||||||
def fakerepo_baseurl():
|
def fakerepo_baseurl():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
@ -242,42 +232,16 @@ def fakerepo_baseurl():
|
|||||||
"url": "https://fake-repo.base.url"
|
"url": "https://fake-repo.base.url"
|
||||||
}
|
}
|
||||||
|
|
||||||
def fakerepo_baseurl_str():
|
|
||||||
return """[fake-repo-baseurl]
|
|
||||||
baseurl = https://fake-repo.base.url
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
"""
|
|
||||||
|
|
||||||
class FakeSystemRepo():
|
|
||||||
id = "fake-system-repo"
|
|
||||||
baseurl = ["https://fake-repo.base.url"]
|
|
||||||
metalink = ""
|
|
||||||
mirrorlist = ""
|
|
||||||
proxy = ""
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = []
|
|
||||||
|
|
||||||
def fakesystem_repo():
|
def fakesystem_repo():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
"check_ssl": True,
|
"check_ssl": True,
|
||||||
"name": "fake-system-repo",
|
"name": "fake-repo-baseurl",
|
||||||
"system": True,
|
"system": True,
|
||||||
"type": "yum-baseurl",
|
"type": "yum-baseurl",
|
||||||
"url": "https://fake-repo.base.url"
|
"url": "https://fake-repo.base.url"
|
||||||
}
|
}
|
||||||
|
|
||||||
class FakeRepoMetalink():
|
|
||||||
id = "fake-repo-metalink"
|
|
||||||
baseurl = []
|
|
||||||
metalink = "https://fake-repo.metalink"
|
|
||||||
proxy = ""
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = []
|
|
||||||
|
|
||||||
def fakerepo_metalink():
|
def fakerepo_metalink():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
@ -288,23 +252,6 @@ def fakerepo_metalink():
|
|||||||
"url": "https://fake-repo.metalink"
|
"url": "https://fake-repo.metalink"
|
||||||
}
|
}
|
||||||
|
|
||||||
def fakerepo_metalink_str():
|
|
||||||
return """[fake-repo-metalink]
|
|
||||||
metalink = https://fake-repo.metalink
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
"""
|
|
||||||
|
|
||||||
class FakeRepoMirrorlist():
|
|
||||||
id = "fake-repo-mirrorlist"
|
|
||||||
baseurl = []
|
|
||||||
metalink = ""
|
|
||||||
mirrorlist = "https://fake-repo.mirrorlist"
|
|
||||||
proxy = ""
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = []
|
|
||||||
|
|
||||||
def fakerepo_mirrorlist():
|
def fakerepo_mirrorlist():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
@ -315,23 +262,6 @@ def fakerepo_mirrorlist():
|
|||||||
"url": "https://fake-repo.mirrorlist"
|
"url": "https://fake-repo.mirrorlist"
|
||||||
}
|
}
|
||||||
|
|
||||||
def fakerepo_mirrorlist_str():
|
|
||||||
return """[fake-repo-mirrorlist]
|
|
||||||
mirrorlist = https://fake-repo.mirrorlist
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
"""
|
|
||||||
|
|
||||||
class FakeRepoProxy():
|
|
||||||
id = "fake-repo-proxy"
|
|
||||||
baseurl = ["https://fake-repo.base.url"]
|
|
||||||
metalink = ""
|
|
||||||
mirrorlist = ""
|
|
||||||
proxy = "https://fake-repo.proxy"
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = []
|
|
||||||
|
|
||||||
def fakerepo_proxy():
|
def fakerepo_proxy():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
@ -343,24 +273,6 @@ def fakerepo_proxy():
|
|||||||
"url": "https://fake-repo.base.url"
|
"url": "https://fake-repo.base.url"
|
||||||
}
|
}
|
||||||
|
|
||||||
def fakerepo_proxy_str():
|
|
||||||
return """[fake-repo-proxy]
|
|
||||||
baseurl = https://fake-repo.base.url
|
|
||||||
proxy = https://fake-repo.proxy
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
"""
|
|
||||||
|
|
||||||
class FakeRepoGPGKey():
|
|
||||||
id = "fake-repo-gpgkey"
|
|
||||||
baseurl = ["https://fake-repo.base.url"]
|
|
||||||
metalink = ""
|
|
||||||
mirrorlist = ""
|
|
||||||
proxy = ""
|
|
||||||
sslverify = True
|
|
||||||
gpgcheck = True
|
|
||||||
gpgkey = ["https://fake-repo.gpgkey"]
|
|
||||||
|
|
||||||
def fakerepo_gpgkey():
|
def fakerepo_gpgkey():
|
||||||
return {
|
return {
|
||||||
"check_gpg": True,
|
"check_gpg": True,
|
||||||
@ -374,13 +286,18 @@ def fakerepo_gpgkey():
|
|||||||
"url": "https://fake-repo.base.url"
|
"url": "https://fake-repo.base.url"
|
||||||
}
|
}
|
||||||
|
|
||||||
def fakerepo_gpgkey_str():
|
def singlerepo():
|
||||||
return """[fake-repo-gpgkey]
|
return {
|
||||||
baseurl = https://fake-repo.base.url
|
"check_gpg": True,
|
||||||
sslverify = True
|
"check_ssl": True,
|
||||||
gpgcheck = True
|
"gpgkey_urls": [
|
||||||
gpgkey = https://fake-repo.gpgkey
|
"file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64"
|
||||||
"""
|
],
|
||||||
|
"name": "single-repo",
|
||||||
|
"system": False,
|
||||||
|
"type": "yum-baseurl",
|
||||||
|
"url": "file:///tmp/lorax-empty-repo/"
|
||||||
|
}
|
||||||
|
|
||||||
class SourceTest(unittest.TestCase):
|
class SourceTest(unittest.TestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -391,33 +308,40 @@ class SourceTest(unittest.TestCase):
|
|||||||
|
|
||||||
self.dbo = dnf.Base()
|
self.dbo = dnf.Base()
|
||||||
|
|
||||||
|
# Load all the test repos
|
||||||
|
self.dbo.conf.reposdir = [self.tmp_dir]
|
||||||
|
self.dbo.read_all_repos()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def tearDownClass(self):
|
def tearDownClass(self):
|
||||||
shutil.rmtree(self.tmp_dir)
|
shutil.rmtree(self.tmp_dir)
|
||||||
|
|
||||||
|
def _read(self, repo_file):
|
||||||
|
return open(joinpaths(self.tmp_dir, repo_file), "r").read()
|
||||||
|
|
||||||
def test_repo_to_source_baseurl(self):
|
def test_repo_to_source_baseurl(self):
|
||||||
"""Test a repo with a baseurl"""
|
"""Test a repo with a baseurl"""
|
||||||
self.assertEqual(repo_to_source(FakeRepoBaseUrl(), False), fakerepo_baseurl())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-baseurl"), False), fakerepo_baseurl())
|
||||||
|
|
||||||
def test_system_repo(self):
|
def test_system_repo(self):
|
||||||
"""Test a system repo with a baseurl"""
|
"""Test a system repo with a baseurl"""
|
||||||
self.assertEqual(repo_to_source(FakeSystemRepo(), True), fakesystem_repo())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-baseurl"), True), fakesystem_repo())
|
||||||
|
|
||||||
def test_repo_to_source_metalink(self):
|
def test_repo_to_source_metalink(self):
|
||||||
"""Test a repo with a metalink"""
|
"""Test a repo with a metalink"""
|
||||||
self.assertEqual(repo_to_source(FakeRepoMetalink(), False), fakerepo_metalink())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-metalink"), False), fakerepo_metalink())
|
||||||
|
|
||||||
def test_repo_to_source_mirrorlist(self):
|
def test_repo_to_source_mirrorlist(self):
|
||||||
"""Test a repo with a mirrorlist"""
|
"""Test a repo with a mirrorlist"""
|
||||||
self.assertEqual(repo_to_source(FakeRepoMirrorlist(), False), fakerepo_mirrorlist())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-mirrorlist"), False), fakerepo_mirrorlist())
|
||||||
|
|
||||||
def test_repo_to_source_proxy(self):
|
def test_repo_to_source_proxy(self):
|
||||||
"""Test a repo with a proxy"""
|
"""Test a repo with a proxy"""
|
||||||
self.assertEqual(repo_to_source(FakeRepoProxy(), False), fakerepo_proxy())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-proxy"), False), fakerepo_proxy())
|
||||||
|
|
||||||
def test_repo_to_source_gpgkey(self):
|
def test_repo_to_source_gpgkey(self):
|
||||||
"""Test a repo with a GPG key"""
|
"""Test a repo with a GPG key"""
|
||||||
self.assertEqual(repo_to_source(FakeRepoGPGKey(), False), fakerepo_gpgkey())
|
self.assertEqual(repo_to_source(self.dbo.repos.get("fake-repo-gpgkey"), False), fakerepo_gpgkey())
|
||||||
|
|
||||||
def test_get_repo_sources(self):
|
def test_get_repo_sources(self):
|
||||||
"""Test getting a list of sources from a repo directory"""
|
"""Test getting a list of sources from a repo directory"""
|
||||||
@ -475,20 +399,29 @@ class SourceTest(unittest.TestCase):
|
|||||||
|
|
||||||
def test_drtfr_baseurl(self):
|
def test_drtfr_baseurl(self):
|
||||||
"""Test creating a dnf .repo file from a baseurl Repo object"""
|
"""Test creating a dnf .repo file from a baseurl Repo object"""
|
||||||
self.assertEqual(dnf_repo_to_file_repo(FakeRepoBaseUrl()), fakerepo_baseurl_str())
|
self.assertEqual(dnf_repo_to_file_repo(self.dbo.repos.get("fake-repo-baseurl")),
|
||||||
|
self._read("baseurl-test.repo"))
|
||||||
|
|
||||||
def test_drtfr_metalink(self):
|
def test_drtfr_metalink(self):
|
||||||
"""Test creating a dnf .repo file from a metalink Repo object"""
|
"""Test creating a dnf .repo file from a metalink Repo object"""
|
||||||
self.assertEqual(dnf_repo_to_file_repo(FakeRepoMetalink()), fakerepo_metalink_str())
|
self.assertEqual(dnf_repo_to_file_repo(self.dbo.repos.get("fake-repo-metalink")),
|
||||||
|
self._read("metalink-test.repo"))
|
||||||
|
|
||||||
def test_drtfr_mirrorlist(self):
|
def test_drtfr_mirrorlist(self):
|
||||||
"""Test creating a dnf .repo file from a mirrorlist Repo object"""
|
"""Test creating a dnf .repo file from a mirrorlist Repo object"""
|
||||||
self.assertEqual(dnf_repo_to_file_repo(FakeRepoMirrorlist()), fakerepo_mirrorlist_str())
|
self.assertEqual(dnf_repo_to_file_repo(self.dbo.repos.get("fake-repo-mirrorlist")),
|
||||||
|
self._read("mirrorlist-test.repo"))
|
||||||
|
|
||||||
def test_drtfr_proxy(self):
|
def test_drtfr_proxy(self):
|
||||||
"""Test creating a dnf .repo file from a baseurl Repo object with proxy"""
|
"""Test creating a dnf .repo file from a baseurl Repo object with proxy"""
|
||||||
self.assertEqual(dnf_repo_to_file_repo(FakeRepoProxy()), fakerepo_proxy_str())
|
self.assertEqual(dnf_repo_to_file_repo(self.dbo.repos.get("fake-repo-proxy")),
|
||||||
|
self._read("proxy-test.repo"))
|
||||||
|
|
||||||
def test_drtfr_gpgkey(self):
|
def test_drtfr_gpgkey(self):
|
||||||
"""Test creating a dnf .repo file from a baseurl Repo object with gpgkey"""
|
"""Test creating a dnf .repo file from a baseurl Repo object with gpgkey"""
|
||||||
self.assertEqual(dnf_repo_to_file_repo(FakeRepoGPGKey()), fakerepo_gpgkey_str())
|
self.assertEqual(dnf_repo_to_file_repo(self.dbo.repos.get("fake-repo-gpgkey")),
|
||||||
|
self._read("gpgkey-test.repo"))
|
||||||
|
|
||||||
|
def test_repo_to_source_json(self):
|
||||||
|
"""Test serializing repo_to_source results"""
|
||||||
|
self.assertEqual(repo_to_source(self.dbo.repos.get("single-repo"), False), singlerepo())
|
||||||
|
Loading…
Reference in New Issue
Block a user