From ed0a8249b1da3a6417e90cd92f24bf61f0b982b4 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Sep 12 2017 06:38:08 +0000 Subject: gather: Add tests for excluding packages from lookaside Signed-off-by: Lubomír Sedlář --- diff --git a/tests/fixtures/repos/cockpit-lookaside/repodata/446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e-filelists.xml.gz b/tests/fixtures/repos/cockpit-lookaside/repodata/446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e-filelists.xml.gz new file mode 100644 index 0000000..c1468a7 Binary files /dev/null and b/tests/fixtures/repos/cockpit-lookaside/repodata/446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e-filelists.xml.gz differ diff --git a/tests/fixtures/repos/cockpit-lookaside/repodata/4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3-other.xml.gz b/tests/fixtures/repos/cockpit-lookaside/repodata/4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3-other.xml.gz new file mode 100644 index 0000000..2b99938 Binary files /dev/null and b/tests/fixtures/repos/cockpit-lookaside/repodata/4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3-other.xml.gz differ diff --git a/tests/fixtures/repos/cockpit-lookaside/repodata/d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692-primary.xml.gz b/tests/fixtures/repos/cockpit-lookaside/repodata/d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692-primary.xml.gz new file mode 100644 index 0000000..b5ca15f Binary files /dev/null and b/tests/fixtures/repos/cockpit-lookaside/repodata/d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692-primary.xml.gz differ diff --git a/tests/fixtures/repos/cockpit-lookaside/repodata/repomd.xml b/tests/fixtures/repos/cockpit-lookaside/repodata/repomd.xml new file mode 100644 index 0000000..a384a51 --- /dev/null +++ b/tests/fixtures/repos/cockpit-lookaside/repodata/repomd.xml @@ -0,0 +1,28 @@ + + + 1498210122 + + d07c8273d3954bd3257f6351f3b23fed0e3896293e2a1dde8274cf3028dce692 + ecba59d2b4924b1c13d4b718fef81b337e97b91e955e7c8ad41b16ba5d7c2c5f + + 1498210121 + 778 + 3113 + + + 446ee5f2b8296322faf8b19259b26350655f77e813277453f7819447ec52ad1e + ceff2801221c629a8dbc7ed069c0aa9427c5b195afe49b4170b56d22eb0ab6e6 + + 1498210121 + 338 + 649 + + + 4f8f323b48f989035622217a41c205b450073edabac546c35af84b7bcec85be3 + 16d5ac89d35aaa823cc080d8aa413cf9ce598484f415e027f1f0fed3c1ab6c33 + + 1498210121 + 435 + 1047 + + diff --git a/tests/fixtures/repos/cockpit/repodata/54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3-primary.xml.gz b/tests/fixtures/repos/cockpit/repodata/54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3-primary.xml.gz new file mode 100644 index 0000000..0a33eab Binary files /dev/null and b/tests/fixtures/repos/cockpit/repodata/54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3-primary.xml.gz differ diff --git a/tests/fixtures/repos/cockpit/repodata/ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c-filelists.xml.gz b/tests/fixtures/repos/cockpit/repodata/ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c-filelists.xml.gz new file mode 100644 index 0000000..6f95972 Binary files /dev/null and b/tests/fixtures/repos/cockpit/repodata/ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c-filelists.xml.gz differ diff --git a/tests/fixtures/repos/cockpit/repodata/e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af-other.xml.gz b/tests/fixtures/repos/cockpit/repodata/e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af-other.xml.gz new file mode 100644 index 0000000..a2c7091 Binary files /dev/null and b/tests/fixtures/repos/cockpit/repodata/e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af-other.xml.gz differ diff --git a/tests/fixtures/repos/cockpit/repodata/repomd.xml b/tests/fixtures/repos/cockpit/repodata/repomd.xml new file mode 100644 index 0000000..d4e4096 --- /dev/null +++ b/tests/fixtures/repos/cockpit/repodata/repomd.xml @@ -0,0 +1,28 @@ + + + 1498210174 + + 54cbdff4c313405103d8b21bf7e66cb1a7eba751a3f47b84031eea266ea585b3 + 96a76c77a8294050bb304522166e356e814e9425d45dea7bf247c2db631c199e + + 1498210174 + 775 + 3113 + + + ba23b0026102b0510915964775cb2b1679591a4da33c0022f9d872899705002c + 7449a1d56e4cd07e8e3ed442d74d29de8d03124577a40158a89599e095b1ad49 + + 1498210174 + 337 + 649 + + + e08e47cf6ecc4d6654cc0d462b42a3c6b20965bdffc501b89d9f0c806f6af1af + e005b74bf6598da3c4bc05322d5f9cce102ae546903ca80bee9b3abaf95e6c4e + + 1498210174 + 432 + 1047 + + diff --git a/tests/test_gather.py b/tests/test_gather.py index 8021803..df04a93 100644 --- a/tests/test_gather.py +++ b/tests/test_gather.py @@ -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",