]> git.decadent.org.uk Git - dak.git/blobdiff - tests/test_copy_installer.py
create new class InstallerCopier
[dak.git] / tests / test_copy_installer.py
diff --git a/tests/test_copy_installer.py b/tests/test_copy_installer.py
new file mode 100755 (executable)
index 0000000..440e4c1
--- /dev/null
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+
+from base_test import DakTestCase
+
+from dak.copy_installer import InstallerCopier
+
+import unittest
+
+class ImportTestCase(DakTestCase):
+    def test_arguments(self):
+        '''test constructor arguments'''
+        # version argument is required
+        self.assertRaises(KeyError, InstallerCopier)
+
+        copier = InstallerCopier(version = '20110106')
+        self.assertEqual('20110106', copier.version)
+        self.assertEqual('unstable', copier.source)
+        self.assertEqual('testing', copier.dest)
+
+        copier = InstallerCopier(version = '20110106', source = \
+                'proposed-updates')
+        self.assertEqual('proposed-updates', copier.source)
+
+        copier = InstallerCopier(version = '20110106', dest = 'stable')
+        self.assertEqual('stable', copier.dest)
+
+    def test_dir_names(self):
+        copier = InstallerCopier(version = '20110106')
+        self.assertEqual('fixtures/ftp/dists/unstable/main',
+                copier.source_dir)
+        self.assertEqual('fixtures/ftp/dists/testing/main',
+                copier.dest_dir)
+
+    def missing_source(self):
+        copier = InstallerCopier(version = '20110106', source = 'foo')
+
+    def missing_dest(self):
+        copier = InstallerCopier(version = '20110106', dest = 'bar')
+
+    def test_suites(self):
+        self.assertRaises(IOError, self.missing_source)
+        self.assertRaises(IOError, self.missing_dest)
+
+    def test_copy(self):
+        copier = InstallerCopier(version = '20110106')
+        self.assertEqual(['amd64'], copier.architectures)
+        self.assertEqual(['i386'], copier.skip_architectures)
+        self.assertEqual( \
+            [('fixtures/ftp/dists/unstable/main/installer-amd64/20110106', \
+              'fixtures/ftp/dists/testing/main/installer-amd64/20110106'),], \
+            copier.trees_to_copy)
+        self.assertEqual([('20110106', \
+            'fixtures/ftp/dists/testing/main/installer-amd64/current')], \
+            copier.symlinks_to_create)
+        self.assertEqual('''
+Will copy installer version 20110106 from suite unstable to
+testing.
+Architectures to copy: amd64
+Architectures to skip: i386''', copier.get_message())
+
+if __name__ == '__main__':
+    unittest.main()