X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tests%2Fdbtest_packages.py;h=0f5f6e88fdd7762d12cb446c5dbecaada46338f0;hb=38843ebde0229ef2b4ec78280073e9f2393ba1a1;hp=732cccccba0163a316088d6933877172c81b40dc;hpb=617d2852b9a7bbe5f2cb77928f152278f396b85b;p=dak.git diff --git a/tests/dbtest_packages.py b/tests/dbtest_packages.py index 732ccccc..0f5f6e88 100755 --- a/tests/dbtest_packages.py +++ b/tests/dbtest_packages.py @@ -5,7 +5,9 @@ from db_test import DBDakTestCase from daklib.dbconn import Architecture, Suite, get_suite_architectures, \ get_architecture_suites, Maintainer, DBSource, Location, PoolFile, \ check_poolfile, get_poolfile_like_name, get_source_in_suite, \ - get_suites_source_in, add_dsc_to_db + get_suites_source_in, add_dsc_to_db, source_exists +from daklib.queue_install import package_to_suite +from daklib.queue import get_newest_source, get_suite_version from sqlalchemy.orm.exc import MultipleResultsFound import unittest @@ -320,6 +322,73 @@ class PackageTestCase(DBDakTestCase): self.assertEqual(None, dsc_location_id) self.assertEqual([], pfs) + def test_source_exists(self): + 'test function source_exists()' + + self.setup_sources() + self.session.flush() + hello = self.source['hello'] + self.assertTrue(source_exists(hello.source, hello.version, \ + suites = ['sid'], session = self.session)) + # binNMU + self.assertTrue(source_exists(hello.source, hello.version + '+b7', \ + suites = ['sid'], session = self.session)) + self.assertTrue(not source_exists(hello.source, hello.version, \ + suites = ['lenny', 'squeeze'], session = self.session)) + self.assertTrue(not source_exists(hello.source, hello.version, \ + suites = ['lenny', 'sid'], session = self.session)) + self.assertTrue(not source_exists(hello.source, hello.version, \ + suites = ['sid', 'lenny'], session = self.session)) + self.assertTrue(not source_exists(hello.source, '0815', \ + suites = ['sid'], session = self.session)) + # 'any' suite + self.assertTrue(source_exists(hello.source, hello.version, \ + session = self.session)) + + def test_package_to_suite(self): + 'test function package_to_suite()' + + self.setup_sources() + pkg = Pkg() + pkg.changes = { 'distribution': {} } + upload = Upload(pkg) + self.assertTrue(not package_to_suite(upload, 'sid', self.session)) + pkg.changes['distribution'] = { 'sid': '' } + pkg.changes['architecture'] = { 'source': '' } + self.assertTrue(package_to_suite(upload, 'sid', self.session)) + pkg.changes['architecture'] = {} + pkg.changes['source'] = self.source['hello'].source + pkg.changes['version'] = self.source['hello'].version + self.assertTrue(not package_to_suite(upload, 'sid', self.session)) + pkg.changes['version'] = '42' + self.assertTrue(package_to_suite(upload, 'sid', self.session)) + pkg.changes['source'] = 'foobar' + pkg.changes['version'] = self.source['hello'].version + self.assertTrue(package_to_suite(upload, 'sid', self.session)) + pkg.changes['distribution'] = { 'lenny': '' } + self.assertTrue(package_to_suite(upload, 'lenny', self.session)) + + def test_get_newest_source(self): + 'test function get_newest_source()' + + self.setup_sources() + import daklib.queue + daklib.queue.dm_suites = ['sid'] + self.assertEqual(self.source['hello'], get_newest_source('hello', self.session)) + self.assertEqual(None, get_newest_source('foobar', self.session)) + + def test_get_suite_version(self): + 'test function get_suite_version()' + + self.setup_sources() + result = get_suite_version('hello', self.session) + self.assertEqual(2, len(result)) + self.assertTrue(('sid', '2.2-1') in result) + self.assertTrue(('sid', '2.2-2') in result) + result = get_suite_version('sl', self.session) + self.assertEqual(2, len(result)) + self.assertTrue(('squeeze', '3.03-16') in result) + self.assertTrue(('sid', '3.03-16') in result) if __name__ == '__main__': unittest.main()