aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/24_test_gbp_import_orig.py
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2016-06-28 17:03:33 +0200
committerGuido Günther <agx@sigxcpu.org>2016-06-28 17:27:58 +0200
commitebc6b918ff885fa206910afb81dd5b49b9bb69b0 (patch)
treeda2d7982b3b843bcb3b22660c13de834d2ab6573 /tests/24_test_gbp_import_orig.py
parent0f1426faaa6386ef9d3c8cabab6b45c47eb0e063 (diff)
import_orig: Recover from import errors
by winding back branches and tags to their pre-error states Closes: #828838
Diffstat (limited to 'tests/24_test_gbp_import_orig.py')
-rw-r--r--tests/24_test_gbp_import_orig.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/24_test_gbp_import_orig.py b/tests/24_test_gbp_import_orig.py
new file mode 100644
index 00000000..61031780
--- /dev/null
+++ b/tests/24_test_gbp_import_orig.py
@@ -0,0 +1,32 @@
+# vim: set fileencoding=utf-8 :
+"""Test L{gbp.command_wrappers.Command}'s tarball unpack"""
+
+from gbp.scripts.import_orig import (ImportOrigDebianGitRepository, GbpError)
+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_delete_tag(self):
+ self.repo.rrr('doesnotmatter', 'delete', 'tag')
+ self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'tag', 'delete', None)])
+ self.repo.rollback()
+ self.assertEquals(self.repo.rollback_errors, [])
+
+ def test_rrr_delete_branch(self):
+ self.repo.rrr('doesnotmatter', 'delete', 'branch')
+ self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'branch', 'delete', None)])
+ self.repo.rollback()
+ 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')
+