aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2018-02-26 15:08:05 +0100
committerGuido Günther <agx@sigxcpu.org>2018-02-26 15:08:05 +0100
commit53016921be103ae1e906b09bb840d3f0c7fcca0f (patch)
tree6e9bd7aad84bac8578895788f91e9168e387fab8 /tests
parent23874c2c50ebd57426797d38f4f9c6c40dc336ec (diff)
Move rollback code out of import_orig
so it can be reused in gbp import-ref
Diffstat (limited to 'tests')
-rw-r--r--tests/24_test_gbp_import_orig.py50
-rw-r--r--tests/test_RollbackDebianGitRepository.py51
2 files changed, 54 insertions, 47 deletions
diff --git a/tests/24_test_gbp_import_orig.py b/tests/24_test_gbp_import_orig.py
index 419ac403..fadff28e 100644
--- a/tests/24_test_gbp_import_orig.py
+++ b/tests/24_test_gbp_import_orig.py
@@ -1,5 +1,5 @@
# vim: set fileencoding=utf-8 :
-"""Test L{gbp.command_wrappers.Command}'s tarball unpack"""
+"""Test L{gbp.scripts.import_orig}"""
import os
import unittest
@@ -8,62 +8,18 @@ from collections import namedtuple
from gbp.scripts.import_orig import (debian_branch_merge_by_replace,
GbpError,
- ImportOrigDebianGitRepository,
is_30_quilt)
from gbp.scripts.common.import_orig import download_orig
from . testutils import DebianGitTestRepo
-class TestImportOrigGitRepository(DebianGitTestRepo):
-
- def setUp(self):
- DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
-
- def test_empty_rollback(self):
- self.repo.rollback()
- self.assertEquals(self.repo.rollback_errors, [])
-
- def test_rrr_tag(self):
- self.repo.rrr_tag('doesnotexist')
- self.assertEquals(self.repo.rollbacks, [('doesnotexist', 'tag', 'delete', None)])
- self.repo.rollback()
- self.assertEquals(self.repo.rollback_errors, [])
-
- def test_rrr_branch(self):
- self.repo.rrr_branch('doesnotexist', 'delete')
- self.assertEquals(self.repo.rollbacks, [('doesnotexist', 'branch', 'delete', None)])
- self.repo.rollback()
- self.assertEquals(self.repo.rollback_errors, [])
-
- def test_rrr_merge(self):
- self.repo.rrr_merge('HEAD')
- self.assertEquals(self.repo.rollbacks, [('HEAD', 'commit', 'abortmerge', None)])
- self.repo.rollback()
- self.assertEquals(self.repo.rollback_errors, [])
-
- def test_rrr_merge_abort(self):
- self.repo.rrr_merge('HEAD')
- self.assertEquals(self.repo.rollbacks, [('HEAD', 'commit', 'abortmerge', None)])
- # Test that we abort the merge in case MERGE_HEAD exists
- with open(os.path.join(self.repo.git_dir, 'MERGE_HEAD'), 'w'):
- pass
- self.assertTrue(self.repo.is_in_merge())
- self.repo.rollback()
- self.assertFalse(self.repo.is_in_merge())
- self.assertEquals(self.repo.rollback_errors, [])
-
- def test_rrr_unknown_action(self):
- with self.assertRaisesRegexp(GbpError, "Unknown action unknown for tag doesnotmatter"):
- self.repo.rrr('doesnotmatter', 'unknown', 'tag')
-
-
@unittest.skipUnless(os.getenv("GBP_NETWORK_TESTS"), "network tests disabled")
class TestImportOrigDownload(DebianGitTestRepo):
HOST = 'git.sigxcpu.org'
def setUp(self):
- DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
- os.chdir(self.repodir)
+ DebianGitTestRepo.setUp(self)
+ os.chdir(self.repo.path)
def test_404_download(self):
with self.assertRaisesRegexp(GbpError, "404 Client Error: Not Found for url"):
diff --git a/tests/test_RollbackDebianGitRepository.py b/tests/test_RollbackDebianGitRepository.py
new file mode 100644
index 00000000..1c23d525
--- /dev/null
+++ b/tests/test_RollbackDebianGitRepository.py
@@ -0,0 +1,51 @@
+# vim: set fileencoding=utf-8 :
+"""Test L{gbp.deb.rollbackgit}"""
+
+import os
+
+from . testutils import DebianGitTestRepo
+from gbp.deb.rollbackgit import RollbackDebianGitRepository
+from gbp.git.repository import GitRepositoryError
+
+
+class TestRollbackGitRepository(DebianGitTestRepo):
+
+ def setUp(self):
+ DebianGitTestRepo.setUp(self, RollbackDebianGitRepository)
+
+ def test_empty_rollback(self):
+ self.repo.rollback()
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_tag(self):
+ self.repo.rrr_tag('doesnotexist')
+ self.assertEquals(self.repo.rollbacks, [('doesnotexist', 'tag', 'delete', None)])
+ self.repo.rollback()
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_branch(self):
+ self.repo.rrr_branch('doesnotexist', 'delete')
+ self.assertEquals(self.repo.rollbacks, [('doesnotexist', 'branch', 'delete', None)])
+ self.repo.rollback()
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_merge(self):
+ self.repo.rrr_merge('HEAD')
+ self.assertEquals(self.repo.rollbacks, [('HEAD', 'commit', 'abortmerge', None)])
+ self.repo.rollback()
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_merge_abort(self):
+ self.repo.rrr_merge('HEAD')
+ self.assertEquals(self.repo.rollbacks, [('HEAD', 'commit', 'abortmerge', None)])
+ # Test that we abort the merge in case MERGE_HEAD exists
+ with open(os.path.join(self.repo.git_dir, 'MERGE_HEAD'), 'w'):
+ pass
+ self.assertTrue(self.repo.is_in_merge())
+ self.repo.rollback()
+ self.assertFalse(self.repo.is_in_merge())
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_unknown_action(self):
+ with self.assertRaisesRegexp(GitRepositoryError, "Unknown action unknown for tag doesnotmatter"):
+ self.repo.rrr('doesnotmatter', 'unknown', 'tag')