]> git.decadent.org.uk Git - dak.git/blobdiff - tests/dbtest_packages.py
Merge branch 'master' into dbtests
[dak.git] / tests / dbtest_packages.py
index 8fd7ad19c19df1d7e2edb9325c58573e7d1b5955..0f5f6e88fdd7762d12cb446c5dbecaada46338f0 100755 (executable)
@@ -6,6 +6,8 @@ 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, 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
@@ -343,6 +345,50 @@ class PackageTestCase(DBDakTestCase):
         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()