test_copy_installer.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #! /usr/bin/env python3
  2. import unittest
  3. from base_test import DakTestCase
  4. from dak.copy_installer import InstallerCopier
  5. class ImportTestCase(DakTestCase):
  6. def test_arguments(self):
  7. """test constructor arguments"""
  8. # version argument is required
  9. self.assertRaises(KeyError, InstallerCopier)
  10. copier = InstallerCopier(version="20110106")
  11. self.assertEqual("20110106", copier.version)
  12. self.assertEqual("unstable", copier.source)
  13. self.assertEqual("testing", copier.dest)
  14. copier = InstallerCopier(version="20110106", source="proposed-updates")
  15. self.assertEqual("proposed-updates", copier.source)
  16. copier = InstallerCopier(version="20110106", dest="stable")
  17. self.assertEqual("stable", copier.dest)
  18. def test_dir_names(self):
  19. copier = InstallerCopier(version="20110106")
  20. self.assertEqual("tests/fixtures/ftp/dists/unstable/main", copier.source_dir)
  21. self.assertEqual("tests/fixtures/ftp/dists/testing/main", copier.dest_dir)
  22. def missing_source(self):
  23. InstallerCopier(version="20110106", source="foo")
  24. def missing_dest(self):
  25. InstallerCopier(version="20110106", dest="bar")
  26. def test_suites(self):
  27. self.assertRaises(Exception, self.missing_source)
  28. self.assertRaises(Exception, self.missing_dest)
  29. def test_copy(self):
  30. copier = InstallerCopier(version="20110106")
  31. self.assertEqual(["amd64"], copier.architectures)
  32. self.assertEqual(["i386"], copier.skip_architectures)
  33. self.assertEqual(
  34. [
  35. (
  36. "tests/fixtures/ftp/dists/unstable/main/installer-amd64/20110106",
  37. "tests/fixtures/ftp/dists/testing/main/installer-amd64/20110106",
  38. ),
  39. ],
  40. copier.trees_to_copy,
  41. )
  42. self.assertEqual(
  43. [
  44. (
  45. "20110106",
  46. "tests/fixtures/ftp/dists/testing/main/installer-amd64/current",
  47. )
  48. ],
  49. copier.symlinks_to_create,
  50. )
  51. self.assertEqual(
  52. """
  53. Will copy installer version 20110106 from suite unstable to
  54. testing.
  55. Architectures to copy: amd64
  56. Architectures to skip: i386""",
  57. copier.get_message(),
  58. )
  59. if __name__ == "__main__":
  60. unittest.main()