gather: Add tests for excluding packages from lookaside

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2017-06-23 12:03:29 +02:00
parent 4b40a1258a
commit ed0a8249b1
9 changed files with 102 additions and 0 deletions

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1498210122</revision>
<data type="primary">
<checksum type="sha256">d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692</checksum>
<open-checksum type="sha256">ecba59d2b4924b1c13d4b718fef81b337e97b91e955e7c8ad41b16ba5d7c2c5f</open-checksum>
<location href="repodata/d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692-primary.xml.gz"/>
<timestamp>1498210121</timestamp>
<size>778</size>
<open-size>3113</open-size>
</data>
<data type="filelists">
<checksum type="sha256">446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e</checksum>
<open-checksum type="sha256">ceff2801221c629a8dbc7ed069c0aa9427c5b195afe49b4170b56d22eb0ab6e6</open-checksum>
<location href="repodata/446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e-filelists.xml.gz"/>
<timestamp>1498210121</timestamp>
<size>338</size>
<open-size>649</open-size>
</data>
<data type="other">
<checksum type="sha256">4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3</checksum>
<open-checksum type="sha256">16d5ac89d35aaa823cc080d8aa413cf9ce598484f415e027f1f0fed3c1ab6c33</open-checksum>
<location href="repodata/4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3-other.xml.gz"/>
<timestamp>1498210121</timestamp>
<size>435</size>
<open-size>1047</open-size>
</data>
</repomd>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1498210174</revision>
<data type="primary">
<checksum type="sha256">54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3</checksum>
<open-checksum type="sha256">96a76c77a8294050bb304522166e356e814e9425d45dea7bf247c2db631c199e</open-checksum>
<location href="repodata/54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3-primary.xml.gz"/>
<timestamp>1498210174</timestamp>
<size>775</size>
<open-size>3113</open-size>
</data>
<data type="filelists">
<checksum type="sha256">ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c</checksum>
<open-checksum type="sha256">7449a1d56e4cd07e8e3ed442d74d29de8d03124577a40158a89599e095b1ad49</open-checksum>
<location href="repodata/ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c-filelists.xml.gz"/>
<timestamp>1498210174</timestamp>
<size>337</size>
<open-size>649</open-size>
</data>
<data type="other">
<checksum type="sha256">e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af</checksum>
<open-checksum type="sha256">e005b74bf6598da3c4bc05322d5f9cce102ae546903ca80bee9b3abaf95e6c4e</open-checksum>
<location href="repodata/e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af-other.xml.gz"/>
<timestamp>1498210174</timestamp>
<size>432</size>
<open-size>1047</open-size>
</data>
</repomd>

View File

@ -646,6 +646,52 @@ class DepsolvingBase(object):
"Dummy-xulrunner-debuginfo-16.0.1-1.x86_64.rpm",
])
def test_old_dep_in_lookaside_is_not_pulled_in(self):
# main repo:
# dummy-cockpit-docker-141-1 depends on dummy-cockpit-system
# dummy-cockpit-system-141-1
# lookaside:
# dummy-cockpit-system-138-1
#
# By default newer version should be pulled in.
self.repo = os.path.join(os.path.dirname(__file__), "fixtures/repos/cockpit")
self.lookaside = os.path.join(os.path.dirname(__file__),
"fixtures/repos/cockpit-lookaside")
packages = [
'dummy-cockpit-docker',
]
pkg_map = self.go(packages, None, lookaside=self.lookaside)
self.assertEqual(self.broken_deps, {})
self.assertItemsEqual(pkg_map["rpm"], [
"dummy-cockpit-docker-141-1.noarch.rpm",
"dummy-cockpit-system-141-1.noarch.rpm",
])
def test_does_not_exclude_from_lookaside(self):
# main repo:
# dummy-cockpit-docker-141-1 depends on dummy-cockpit-system
# dummy-cockpit-system-141-1
# lookaside:
# dummy-cockpit-system-138-1
#
# The -system package is excluded and the dependency should be
# satisfied by the older version in lookaside. No broken dependencies
# should be reported.
self.repo = os.path.join(os.path.dirname(__file__), "fixtures/repos/cockpit")
self.lookaside = os.path.join(os.path.dirname(__file__),
"fixtures/repos/cockpit-lookaside")
packages = [
'dummy-cockpit-docker',
'-dummy-cockpit-system',
]
pkg_map = self.go(packages, None, lookaside=self.lookaside)
self.assertEqual(self.broken_deps, {})
self.assertItemsEqual(pkg_map["rpm"], [
"dummy-cockpit-docker-141-1.noarch.rpm",
])
def test_firefox_fulltree(self):
packages = [
"Dummy-firefox",