diff options
author | Guido Günther <agx@sigxcpu.org> | 2016-06-28 17:03:33 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2016-06-28 17:27:58 +0200 |
commit | ebc6b918ff885fa206910afb81dd5b49b9bb69b0 (patch) | |
tree | da2d7982b3b843bcb3b22660c13de834d2ab6573 /tests/24_test_gbp_import_orig.py | |
parent | 0f1426faaa6386ef9d3c8cabab6b45c47eb0e063 (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.py | 32 |
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') + |