summaryrefslogtreecommitdiff
path: root/tests/10_test_get_upstream_tree.py
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2012-01-08 19:48:24 +0100
committerGuido Günther <agx@sigxcpu.org>2012-01-10 13:15:12 +0100
commit8328c326f1fd40ecf9d6404faaee8658ec37f201 (patch)
treeee1bbecbd455373740b901dfb50228546c504249 /tests/10_test_get_upstream_tree.py
parentd316e22a64bee277efdc21b353294b262eb22c23 (diff)
Allow to specify the upstream tree via --upstream-tree
without the indirection to --upstream-branch.
Diffstat (limited to 'tests/10_test_get_upstream_tree.py')
-rw-r--r--tests/10_test_get_upstream_tree.py81
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/10_test_get_upstream_tree.py b/tests/10_test_get_upstream_tree.py
new file mode 100644
index 0000000..3cd7eb8
--- /dev/null
+++ b/tests/10_test_get_upstream_tree.py
@@ -0,0 +1,81 @@
+# vim: set fileencoding=utf-8 :
+
+"""Test L{buildpackage}'s get_upstream_tree method"""
+
+import testutils
+
+import gbp.errors
+import gbp.scripts.buildpackage as buildpackage
+
+class MockOptions(object):
+ def __init__(self,
+ upstream_branch=None,
+ upstream_tree=None,
+ upstream_tag=None):
+ self.upstream_branch = upstream_branch
+ self.upstream_tree = upstream_tree
+ self.upstream_tag = upstream_tag
+
+class TestGetUpstreamTree(testutils.DebianGitTestRepo):
+ def test_valid_upstream_branch(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ self.repo.create_branch('upstream')
+ options = MockOptions(upstream_tree='BRANCH',
+ upstream_branch='upstream')
+ t = buildpackage.get_upstream_tree(self.repo, None, options)
+ self.assertEqual(t, 'upstream')
+
+ def test_invalid_upstream_branch(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ options = MockOptions(upstream_tree='BRANCH',
+ upstream_branch='upstream')
+ self.assertRaises(gbp.errors.GbpError,
+ buildpackage.get_upstream_tree,
+ self.repo,
+ None,
+ options)
+
+ def test_valid_tree(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ tree = self.repo.rev_parse('master')
+ options = MockOptions(upstream_tree=tree)
+ t = buildpackage.get_upstream_tree(self.repo, None, options)
+ self.assertEqual(t, tree)
+
+ def test_invalid_tree(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ options = MockOptions(upstream_tree='doesnotexist')
+ self.assertRaises(gbp.errors.GbpError,
+ buildpackage.get_upstream_tree,
+ self.repo,
+ None,
+ options)
+
+ def test_valid_tag(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ tree = self.repo.rev_parse('master')
+ cp = { 'Upstream-Version': '1.0~rc3' }
+ self.repo.create_tag('upstream/1.0_rc3')
+ options = MockOptions(upstream_tree="TAG",
+ upstream_tag="upstream/%(version)s")
+ tag = buildpackage.get_upstream_tree(self.repo, cp, options)
+ self.assertEqual(tag, "upstream/1.0_rc3")
+
+ def test_invalid_tag(self):
+ """Write out index file to nonexistant dir"""
+ self.add_file('foo')
+ cp = { 'Upstream-Version': '1.0~rc3' }
+ options = MockOptions(upstream_tree="TAG",
+ upstream_tag="upstream/%(version)s")
+ self.assertRaises(gbp.errors.GbpError,
+ buildpackage.get_upstream_tree,
+ self.repo,
+ cp,
+ options)
+
+# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: