~bzr-pqm/bzr/bzr.dev

1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
1
# Copyright (C) 2005 by 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
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
17
import os
18
19
1185.31.25 by John Arbash Meinel
Renamed all of the tests from selftest/foo.py to tests/test_foo.py
20
from bzrlib.tests import TestCaseInTempDir
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
21
from bzrlib.transport.http import HttpServer
1185.31.41 by John Arbash Meinel
Creating a PathNotChild exception, and using relpath in HTTPTestUtil
22
from bzrlib.osutils import relpath
1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
23
24
25
class TestCaseWithWebserver(TestCaseInTempDir):
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
26
    """Derived class that starts a localhost-only webserver.
1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
27
    (in addition to what TestCaseInTempDir does).
28
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
29
    This is useful for testing things with a web server.
1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
30
    """
31
32
    def get_remote_url(self, path):
33
34
        if os.path.isabs(path):
1185.31.41 by John Arbash Meinel
Creating a PathNotChild exception, and using relpath in HTTPTestUtil
35
            remote_path = relpath(self.test_dir, path)
1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
36
        else:
1185.31.41 by John Arbash Meinel
Creating a PathNotChild exception, and using relpath in HTTPTestUtil
37
            remote_path = path
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
38
        return self.server.get_url() + remote_path
1185.1.18 by Robert Collins
Lalo Martins remotebranch patch
39
40
    def setUp(self):
1530.1.14 by Robert Collins
Remove duplicate web server from HTTPTestUtil.
41
        super(TestCaseWithWebserver, self).setUp()
42
        self.server = HttpServer()
43
        self.server.setUp()
1530.1.21 by Robert Collins
Review feedback fixes.
44
        self.addCleanup(self.server.tearDown)