24_test_gbp_import_orig.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # vim: set fileencoding=utf-8 :
  2. """Test L{gbp.command_wrappers.Command}'s tarball unpack"""
  3. import os
  4. import unittest
  5. from gbp.scripts.import_orig import (ImportOrigDebianGitRepository, GbpError)
  6. from gbp.scripts.common.import_orig import download_orig
  7. from . testutils import DebianGitTestRepo
  8. class TestImportOrigGitRepository(DebianGitTestRepo):
  9. def setUp(self):
  10. DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
  11. def test_empty_rollback(self):
  12. self.repo.rollback()
  13. self.assertEquals(self.repo.rollback_errors, [])
  14. def test_rrr_delete_tag(self):
  15. self.repo.rrr('doesnotmatter', 'delete', 'tag')
  16. self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'tag', 'delete', None)])
  17. self.repo.rollback()
  18. self.assertEquals(self.repo.rollback_errors, [])
  19. def test_rrr_delete_branch(self):
  20. self.repo.rrr('doesnotmatter', 'delete', 'branch')
  21. self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'branch', 'delete', None)])
  22. self.repo.rollback()
  23. self.assertEquals(self.repo.rollback_errors, [])
  24. def test_rrr_unknown_action(self):
  25. with self.assertRaisesRegexp(GbpError, "Unknown action unknown for tag doesnotmatter"):
  26. self.repo.rrr('doesnotmatter', 'unknown', 'tag')
  27. @unittest.skipUnless(os.getenv("GBP_NETWORK_TESTS"), "network tests disabled")
  28. class TestImportOrigDownload(DebianGitTestRepo):
  29. HOST = 'git.sigxcpu.org'
  30. def setUp(self):
  31. DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
  32. os.chdir(self.repodir)
  33. def test_404_download(self):
  34. with self.assertRaisesRegexp(GbpError, "404 Client Error: Not Found for url"):
  35. download_orig("https://{host}/does_not_exist".format(host=self.HOST))
  36. def test_200_download(self):
  37. pkg = 'hello-debhelper_2.6.orig.tar.gz'
  38. url = "https://{host}/cgit/gbp/deb-testdata/tree/dsc-3.0/{pkg}".format(host=self.HOST,
  39. pkg=pkg)
  40. self.assertEqual(download_orig(url).path, '../%s' % pkg)