~verterok/ols-jenkaas/dd-siab-dependencies

« back to all changes in this revision

Viewing changes to olsjenkaas/tests/test_branches.py

  • Committer: Vincent Ladeuil
  • Date: 2017-02-09 16:12:35 UTC
  • mfrom: (323.2.109 lander)
  • Revision ID: vila+ols@canonical.com-20170209161235-8igi05uo09s638fv
Unify lander with tests and jobs tags for validation without service interruption

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#
2
 
# Copyright 2016 Canonical Ltd.
 
2
# Copyright 2016, 2017 Canonical Ltd.
3
3
#
4
4
# This program is free software: you can redistribute it and/or modify it under
5
5
# the terms of the GNU General Public License version 3, as published by the
20
20
import unittest
21
21
 
22
22
 
23
 
from olsjenkaas.tests import (
24
 
    features,
25
 
    fixtures,
26
 
)
27
 
from olsjenkaas.tests.branches import bzr
28
 
 
29
 
 
30
 
@features.requires(features.bzr_identity)
31
 
class TestLocalBzrBranch(unittest.TestCase):
 
23
from olstests import scenarii
 
24
 
 
25
 
 
26
from olsjenkaas.tests import fixtures
 
27
 
 
28
 
 
29
load_tests = scenarii.load_tests_with_scenarios
 
30
 
 
31
 
 
32
class TestLocalBranch(unittest.TestCase):
 
33
 
 
34
    scenarios = [('bzr', dict(branch_handler=fixtures.BzrBranchHandler())),
 
35
                 ('git', dict(branch_handler=fixtures.GitRepositoryHandler()))]
32
36
 
33
37
    def setUp(self):
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)
37
41
 
38
42
    def test_delete(self):
39
 
        b = bzr.Branch('branch')
40
 
        b.create()
41
 
        self.assertTrue(os.path.exists('branch/.bzr'))
42
 
        b.delete()
 
43
        branch = self.branch_handler.factory('branch')
 
44
        branch.create()
 
45
        self.assertTrue(os.path.exists(os.path.join(
 
46
            'branch', self.branch_handler.vcs_dir)))
 
47
        branch.delete()
43
48
        self.assertFalse(os.path.exists('branch'))
44
49
 
45
50
    def test_create(self):
46
 
        b = bzr.Branch('branch')
47
 
        self.addCleanup(b.delete)
48
 
        b.create()
49
 
        self.assertEqual('', b.status())
 
51
        branch = self.branch_handler.factory('branch')
 
52
        self.addCleanup(branch.delete)
 
53
        branch.create()
 
54
        self.assertEqual('', branch.status())
50
55
 
51
56
    def test_update(self):
52
 
        b = bzr.Branch('branch')
53
 
        self.addCleanup(b.delete)
54
 
        b.create()
55
 
        b.update('Something', '''
56
 
file: foo
57
 
content
58
 
''')
59
 
        self.assertEqual('', b.status())
 
57
        branch = self.branch_handler.factory('branch')
 
58
        self.addCleanup(branch.delete)
 
59
        branch.create()
 
60
        branch.update('Something', 'file: foo\nfoo content\n')
 
61
        self.assertEqual('', branch.status())
60
62
        self.assertTrue(os.path.exists('branch/foo'))
61
63
 
62
64
 
63
 
@features.requires(features.launchpad_identity)
64
 
@features.requires(features.bzr_identity)
65
 
class TestLocalBzrBranchWithRemote(unittest.TestCase):
 
65
class TestRemoteBranch(unittest.TestCase):
 
66
 
 
67
    scenarios = [('bzr', dict(branch_handler=fixtures.BzrBranchHandler())),
 
68
                 ('git', dict(branch_handler=fixtures.GitRepositoryHandler()))]
66
69
 
67
70
    def setUp(self):
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)
73
75
 
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)
 
80
        source.create()
 
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)))
 
93
 
 
94
    def test_push(self):
 
95
        branch = self.branch_handler.factory('branch')
 
96
        self.addCleanup(branch.delete)
 
97
        branch.create()
 
98
        branch.update('Something', 'file: foo\ncontent\n')
 
99
        lp_url = self.branch_handler.lp_branch_url('push')
 
100
        branch.push(lp_url)
 
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)