def test_custom_querying(self): reldep = hawkey.Reldep(self.sack, "P-lib = 3-3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) reldep = hawkey.Reldep(self.sack, "P-lib >= 3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) reldep = hawkey.Reldep(self.sack, "P-lib < 3-3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 0)
def test_requires(self): reldep = hawkey.Reldep(self.sack, "semolina = 2") q = hawkey.Query(self.sack).filter(requires=reldep) self.assertItemsEqual(list(map(str, q.run())), ["walrus-2-5.noarch", "walrus-2-6.noarch"]) reldep = hawkey.Reldep(self.sack, "semolina > 1.0") q = hawkey.Query(self.sack).filter(requires=reldep) self.assertItemsEqual(list(map(str, q.run())), ["walrus-2-5.noarch", "walrus-2-6.noarch"])
def test_custom_creation(self): reldep_str = "P-lib >= 3" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "lane = 4" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "(foo if bar)" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep))
def by_requires(self, sack, pattern, query): """Get a query for matching given requirements.""" try: reldep = hawkey.Reldep(sack, pattern) except hawkey.ValueException: return query.filter(empty=True) return query.filter(requires=reldep)
def by_dep(sack, pattern, query, dep): try: reldep = hawkey.Reldep(sack, pattern) except hawkey.ValueException: return query.filter(empty=True) kwarg = {dep: reldep} return query.filter(**kwarg)
def test_query_name_only(self): reldep_str = "P-lib" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) self.assertEqual(str(q[0]), "penny-lib-4-1.x86_64")
def test_custom_creation(self): reldep_str = "P-lib >= 3" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "lane = 4" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "(foo if bar)" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "take a space.txt" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep)) reldep_str = "font(:lang=en)" reldep = hawkey.Reldep(self.sack, reldep_str) self.assertEqual(reldep_str, str(reldep))
def test_custom_querying(self): reldep = hawkey.Reldep(self.sack, "P-lib = 3-3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) reldep = hawkey.Reldep(self.sack, "P-lib >= 3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) reldep = hawkey.Reldep(self.sack, "(foo or P-lib)") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 1) reldep = hawkey.Reldep(self.sack, "P-lib < 3-3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 0) reldep = hawkey.Reldep(self.sack, u"\u0159 >= 3") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 0) reldep = hawkey.Reldep(self.sack, "foo >= 1.0-1.fc20") q = hawkey.Query(self.sack).filter(provides=reldep) self.assertLength(q, 0)
def test_obsoletes(self): reldep = hawkey.Reldep(self.sack, "penny < 4-0") q = hawkey.Query(self.sack).filter(obsoletes=reldep) self.assertItemsEqual(list(map(str, q.run())), ["fool-1-5.noarch"])
def test_non_num_version(self): reldep_str = 'foo >= 1.0-1.fc20' with self.assertRaises(hawkey.ValueException) as ctx: hawkey.Reldep(self.sack, reldep_str) self.assertEqual(ctx.exception.args[0], "No such reldep: %s" % reldep_str)