~bzr-pqm/bzr/bzr.dev

1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
1
# Copyright (C) 2006 by Canonical Ltd
2
# Authors: Robert Collins <robert.collins@canonical.com>
3
# -*- coding: utf-8 -*-
4
5
# This program is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 2 of the License, or
8
# (at your option) any later version.
9
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
15
# You should have received a copy of the GNU General Public License
16
# along with this program; if not, write to the Free Software
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19
"""Black box tests for the upgrade ui."""
20
21
import os
22
23
from bzrlib.branch import Branch, BzrBranchFormat5
24
from bzrlib.tests import TestCaseWithTransport
25
from bzrlib.transport import get_transport
26
27
28
class TestUpgrade(TestCaseWithTransport):
29
30
    def setUp(self):
31
        super(TestUpgrade, self).setUp()
32
        # FIXME RBC 20060120 we should be able to do this via ui calls only.
33
        # setup a format 5 branch we can upgrade from.
34
        t = get_transport(self.get_url())
35
        t.mkdir('old_branch')
36
        BzrBranchFormat5().initialize(self.get_url('old_branch'))
37
38
    def test_readonly_url_error(self):
39
        (out, err) = self.run_bzr_captured(
40
            ['upgrade', self.get_readonly_url('old_branch')], 3)
41
        self.assertEqual(out, "")
42
        self.assertEqual(err, "bzr: ERROR: Upgrade URL cannot work with readonly URL's.\n")