[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Add a test for get_suite_architectures().



Signed-off-by: Torsten Werner <twerner@debian.org>
---
 daklib/dbconn.py         |    1 +
 tests/dbtest_packages.py |   38 +++++++++++++++++++++++++++++++++++---
 2 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/daklib/dbconn.py b/daklib/dbconn.py
index 59fe5dc..5e05c34 100755
--- a/daklib/dbconn.py
+++ b/daklib/dbconn.py
@@ -2590,6 +2590,7 @@ __all__.append('get_suite')
 
 ################################################################################
 
+# TODO: remove SuiteArchitecture class
 class SuiteArchitecture(object):
     def __init__(self, *args, **kwargs):
         pass
diff --git a/tests/dbtest_packages.py b/tests/dbtest_packages.py
index e36b3ba..f1ac75b 100755
--- a/tests/dbtest_packages.py
+++ b/tests/dbtest_packages.py
@@ -2,7 +2,7 @@
 
 from db_test import DBDakTestCase
 
-from daklib.dbconn import Architecture, Suite
+from daklib.dbconn import Architecture, Suite, get_suite_architectures
 
 import unittest
 
@@ -16,7 +16,7 @@ class PackageTestCase(DBDakTestCase):
         "setup a hash of Architecture objects in self.arch"
 
         self.arch = {}
-        for arch_string in ('source', 'all', 'i386', 'amd64'):
+        for arch_string in ('source', 'all', 'i386', 'amd64', 'kfreebsd-i386'):
             self.arch[arch_string] = Architecture(arch_string)
         # hard code ids for source and all
         self.arch['source'].arch_id = 1
@@ -42,13 +42,45 @@ class PackageTestCase(DBDakTestCase):
         self.setup_architectures()
         self.setup_suites()
 
-    def test_packages(self):
+    def connect_suite_architectures(self):
+        """
+        Gonnect all suites and all architectures except for kfreebsd-i386 which
+        should not be in lenny.
+        """
+
+        for arch_string, architecture in self.arch.items():
+            if arch_string != 'kfreebsd-i386':
+                architecture.suites = self.suite.values()
+            else:
+                architecture.suites = [self.suite['squeeze'], self.suite['sid']]
+
+    def test_suite_architecture(self):
         # check the id for architectures source and all
         self.assertEqual(1, self.arch['source'].arch_id)
         self.assertEqual(2, self.arch['all'].arch_id)
         # check the many to many relation between Suite and Architecture
         self.arch['source'].suites.append(self.suite['lenny'])
         self.assertEqual('source', self.suite['lenny'].architectures[0])
+        self.arch['source'].suites = []
+        self.assertEqual([], self.suite['lenny'].architectures)
+        self.connect_suite_architectures()
+        self.assertEqual(4, len(self.suite['lenny'].architectures))
+        self.assertEqual(3, len(self.arch['i386'].suites))
+        # check the function get_suite_architectures()
+        architectures = get_suite_architectures('lenny', session = self.session)
+        self.assertEqual(4, len(architectures))
+        self.assertTrue(self.arch['source'] in architectures)
+        self.assertTrue(self.arch['all'] in architectures)
+        self.assertTrue(self.arch['kfreebsd-i386'] not in architectures)
+        architectures = get_suite_architectures('sid', session = self.session)
+        self.assertEqual(5, len(architectures))
+        self.assertTrue(self.arch['kfreebsd-i386'] in architectures)
+        architectures = get_suite_architectures('lenny', skipsrc = True, session = self.session)
+        self.assertEqual(3, len(architectures))
+        self.assertTrue(self.arch['source'] not in architectures)
+        architectures = get_suite_architectures('lenny', skipall = True, session = self.session)
+        self.assertEqual(3, len(architectures))
+        self.assertTrue(self.arch['all'] not in architectures)
 
 if __name__ == '__main__':
     unittest.main()
-- 
1.5.6.5



Reply to: