/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.358.2 by Jelmer Vernooij
Refresh copyright headers, add my email.
1
# Copyright (C) 2010-2018 Jelmer Vernooij <jelmer@jelmer.uk>
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
0.358.1 by Jelmer Vernooij
Fix FSF address.
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
16
17
"""Test the smart client."""
18
0.358.3 by Jelmer Vernooij
Enable absolute import.
19
from __future__ import absolute_import
20
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
21
from ....errors import (
0.200.1275 by Jelmer Vernooij
recognize missing repositories
22
    BzrError,
23
    NotBranchError,
24
    )
25
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
26
from ....tests import TestCase
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
27
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
28
from ..remote import (
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
29
    split_git_url,
0.200.1275 by Jelmer Vernooij
recognize missing repositories
30
    parse_git_error,
0.295.1 by Jelmer Vernooij
Split up branch formats.
31
    RemoteGitBranchFormat,
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
32
    )
33
34
class SplitUrlTests(TestCase):
35
36
    def test_simple(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
37
        self.assertEquals(("foo", None, None, "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
38
            split_git_url("git://foo/bar"))
39
40
    def test_port(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
41
        self.assertEquals(("foo", 343, None, "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
42
            split_git_url("git://foo:343/bar"))
43
44
    def test_username(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
45
        self.assertEquals(("foo", None, "la", "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
46
            split_git_url("git://la@foo/bar"))
47
48
    def test_nopath(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
49
        self.assertEquals(("foo", None, None, "/"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
50
            split_git_url("git://foo/"))
51
52
    def test_slashpath(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
53
        self.assertEquals(("foo", None, None, "//bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
54
            split_git_url("git://foo//bar"))
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
55
56
    def test_homedir(self):
57
        self.assertEquals(("foo", None, None, "~bar"),
58
            split_git_url("git://foo/~bar"))
0.200.1275 by Jelmer Vernooij
recognize missing repositories
59
60
61
class ParseGitErrorTests(TestCase):
62
63
    def test_unknown(self):
64
        e = parse_git_error("url", "foo")
65
        self.assertIsInstance(e, BzrError)
66
67
    def test_notbrancherror(self):
68
        e = parse_git_error("url", "\n Could not find Repository foo/bar")
69
        self.assertIsInstance(e, NotBranchError)
0.295.1 by Jelmer Vernooij
Split up branch formats.
70
71
72
class TestRemoteGitBranchFormat(TestCase):
73
74
    def setUp(self):
75
        super(TestRemoteGitBranchFormat, self).setUp()
76
        self.format = RemoteGitBranchFormat()
77
78
    def test_get_format_description(self):
79
        self.assertEquals("Remote Git Branch", self.format.get_format_description())
80
81
    def test_get_network_name(self):
82
        self.assertEquals("git", self.format.network_name())
83
84
    def test_supports_tags(self):
85
        self.assertTrue(self.format.supports_tags())