/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
1
# Copyright (C) 2010 Canonical Ltd
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
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
17
"""Test the smart client."""
18
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
19
from ....errors import (
0.200.1275 by Jelmer Vernooij
recognize missing repositories
20
    BzrError,
21
    NotBranchError,
22
    )
23
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
24
from ....tests import TestCase
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
25
0.200.1642 by Jelmer Vernooij
Use relative imports in tests.
26
from ..remote import (
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
27
    split_git_url,
0.200.1275 by Jelmer Vernooij
recognize missing repositories
28
    parse_git_error,
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
29
    )
30
31
class SplitUrlTests(TestCase):
32
33
    def test_simple(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
34
        self.assertEquals(("foo", None, None, "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
35
            split_git_url("git://foo/bar"))
36
37
    def test_port(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
38
        self.assertEquals(("foo", 343, None, "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
39
            split_git_url("git://foo:343/bar"))
40
41
    def test_username(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
42
        self.assertEquals(("foo", None, "la", "/bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
43
            split_git_url("git://la@foo/bar"))
44
45
    def test_nopath(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
46
        self.assertEquals(("foo", None, None, "/"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
47
            split_git_url("git://foo/"))
48
49
    def test_slashpath(self):
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
50
        self.assertEquals(("foo", None, None, "//bar"),
0.200.709 by Jelmer Vernooij
When unpacking URLs, strip leftmost slash to match gits behaviour.
51
            split_git_url("git://foo//bar"))
0.246.2 by Jelmer Vernooij
Improve the fix dealing with git repo's in home directories.
52
53
    def test_homedir(self):
54
        self.assertEquals(("foo", None, None, "~bar"),
55
            split_git_url("git://foo/~bar"))
0.200.1275 by Jelmer Vernooij
recognize missing repositories
56
57
58
class ParseGitErrorTests(TestCase):
59
60
    def test_unknown(self):
61
        e = parse_git_error("url", "foo")
62
        self.assertIsInstance(e, BzrError)
63
64
    def test_notbrancherror(self):
65
        e = parse_git_error("url", "\n Could not find Repository foo/bar")
66
        self.assertIsInstance(e, NotBranchError)