23
from olsjenkaas.tests import (
27
from olsjenkaas.tests.branches import bzr
30
@features.requires(features.bzr_identity)
31
class TestLocalBzrBranch(unittest.TestCase):
23
from olstests import scenarii
26
from olsjenkaas.tests import fixtures
29
load_tests = scenarii.load_tests_with_scenarios
32
class TestLocalBranch(unittest.TestCase):
34
scenarios = [('bzr', dict(branch_handler=fixtures.BzrBranchHandler())),
35
('git', dict(branch_handler=fixtures.GitRepositoryHandler()))]
34
super(TestLocalBzrBranch, self).setUp()
38
super(TestLocalBranch, self).setUp()
35
39
fixtures.isolate_from_disk(self)
36
fixtures.set_bzr_identity(self, features.bzr_identity.identity)
40
self.branch_handler.set_identity(self)
38
42
def test_delete(self):
39
b = bzr.Branch('branch')
41
self.assertTrue(os.path.exists('branch/.bzr'))
43
branch = self.branch_handler.factory('branch')
45
self.assertTrue(os.path.exists(os.path.join(
46
'branch', self.branch_handler.vcs_dir)))
43
48
self.assertFalse(os.path.exists('branch'))
45
50
def test_create(self):
46
b = bzr.Branch('branch')
47
self.addCleanup(b.delete)
49
self.assertEqual('', b.status())
51
branch = self.branch_handler.factory('branch')
52
self.addCleanup(branch.delete)
54
self.assertEqual('', branch.status())
51
56
def test_update(self):
52
b = bzr.Branch('branch')
53
self.addCleanup(b.delete)
55
b.update('Something', '''
59
self.assertEqual('', b.status())
57
branch = self.branch_handler.factory('branch')
58
self.addCleanup(branch.delete)
60
branch.update('Something', 'file: foo\nfoo content\n')
61
self.assertEqual('', branch.status())
60
62
self.assertTrue(os.path.exists('branch/foo'))
63
@features.requires(features.launchpad_identity)
64
@features.requires(features.bzr_identity)
65
class TestLocalBzrBranchWithRemote(unittest.TestCase):
65
class TestRemoteBranch(unittest.TestCase):
67
scenarios = [('bzr', dict(branch_handler=fixtures.BzrBranchHandler())),
68
('git', dict(branch_handler=fixtures.GitRepositoryHandler()))]
68
super(TestLocalBzrBranchWithRemote, self).setUp()
69
fixtures.isolate_from_disk(self)
70
fixtures.set_bzr_identity(self, features.bzr_identity.identity)
71
fixtures.set_launchpad_access(self,
72
features.launchpad_identity.identity)
71
super(TestRemoteBranch, self).setUp()
72
self.lp = fixtures.use_qastaging(self)
73
self.branch_handler.set_identity(self)
74
self.branch_handler.set_launchpad_access(self)
74
76
def test_create_from(self):
75
b = bzr.Branch('branch')
76
# FIXME: That's not a branch (yet) -- vila 2016-12-08
77
b.create_from('lp://qastaging/ols-jenkaas-test-project')
77
# Create a source branch on launchpad
78
source = self.branch_handler.factory('source')
79
self.addCleanup(source.delete)
81
source.update('Something', 'file: foo\nfoo content\n')
82
source_lp_url = self.branch_handler.lp_branch_url('source')
83
source.push(source_lp_url)
84
source_lp_branch = self.branch_handler.get_branch_from_lp(
85
self.lp, source_lp_url)
86
self.addCleanup(source_lp_branch.lp_delete)
87
# Now create a local branch from the lp one
88
branch = self.branch_handler.factory('branch')
89
self.addCleanup(branch.delete)
90
branch.create_from(source_lp_url)
91
self.assertTrue(os.path.exists(os.path.join(
92
'branch', self.branch_handler.vcs_dir)))
95
branch = self.branch_handler.factory('branch')
96
self.addCleanup(branch.delete)
98
branch.update('Something', 'file: foo\ncontent\n')
99
lp_url = self.branch_handler.lp_branch_url('push')
101
lp_branch = self.branch_handler.get_branch_from_lp(self.lp, lp_url)
102
self.addCleanup(lp_branch.lp_delete)
103
self.assertEqual(lp_url[3:], lp_branch.unique_name)