/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/commands/test_cat.py

  • Committer: Vincent Ladeuil
  • Date: 2007-06-06 14:26:08 UTC
  • mto: (2485.8.44 bzr.connection.sharing)
  • mto: This revision was merged to the branch mainline in revision 2646.
  • Revision ID: v.ladeuil+lp@free.fr-20070606142608-i9ufaqewadslf1cn
Finish sftp refactoring. Test suite passing.

* bzrlib/transport/sftp.py:
(clear_connection_cache): Deprecated.
(_sftp_connect, _sftp_connect_uncached): Deleted.
(SFTPTransport.__init__): Simplified.
(SFTPTransport._create_connection): New method. Copied from
_sftp_connect_uncached
(SFTPTransport._get_sftp): New method. Ensures that the connection
is established.
(SFTPTransport.clone): Deleted.
(SFTPTransport.has, SFTPTransport.get, SFTPTransport.readv,
SFTPTransport._put,
SFTPTransport._put_non_atomic_helper._open_and_write_file,
SFTPTransport._mkdir, SFTPTransport.append_file,
SFTPTransport.rename, SFTPTransport._rename_and_overwrite,
SFTPTransport.delete, SFTPTransport.rmdir, SFTPTransport.stat):
Use _get_sftp.

* bzrlib/tests/test_transport_implementations.py:
(TransportTests.test_connection_error): Simplified now that sftp
does not connection on construction.

* bzrlib/tests/test_sftp_transport.py:
(SFTPLockTests.test_sftp_locks): Delete test_multiple_connections.
(FakeSFTPTransport): Deleted.
(SFTPNonServerTest.test_parse_url_with_home_dir,
SFTPNonServerTest.test_relpath,
SSHVendorBadConnection.test_bad_connection_paramiko): Delete the
from_transport parameter as it's not needed anymore.
(SFTPLatencyKnob.test_latency_knob_slows_transport,
SFTPLatencyKnob.test_default): Force connection by issuing a
request.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007, 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2007 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import sys
18
18
 
19
19
from bzrlib.builtins import cmd_cat
20
20
from bzrlib.tests import StringIOWrapper
21
 
from bzrlib.tests.transport_util import TestCaseWithConnectionHookedTransport
22
 
 
 
21
from bzrlib.tests.TransportUtil import TestCaseWithConnectionHookedTransport
23
22
 
24
23
class TestCat(TestCaseWithConnectionHookedTransport):
25
24
 
26
25
    def setUp(self):
27
26
        super(TestCat, self).setUp()
 
27
 
 
28
        def restore_stdout():
 
29
            sys.stdout = self._stdout_orig
 
30
 
28
31
        # Redirect sys.stdout as this is what cat uses
29
32
        self.outf = StringIOWrapper()
30
 
        self.overrideAttr(sys, 'stdout', self.outf)
 
33
        self._stdout_orig = sys.stdout
 
34
        sys.stdout = self.outf
 
35
        self.addCleanup(restore_stdout)
31
36
 
32
37
    def test_cat(self):
33
 
        # FIXME: sftp raises ReadError instead of NoSuchFile when probing for
34
 
        # branch/foo/.bzr/branch-format when used with the paramiko test
35
 
        # server.
36
 
        from bzrlib.tests import TestSkipped
37
 
        raise TestSkipped('SFTPTransport raises incorrect exception'
38
 
                          ' when reading from paramiko server')
39
38
        wt1 = self.make_branch_and_tree('branch')
40
 
        self.build_tree_contents([('branch/foo', 'foo')])
 
39
        file('branch/foo', 'wb').write('foo')
41
40
        wt1.add('foo')
42
41
        wt1.commit('add foo')
43
42
 
44
 
        self.start_logging_connections()
 
43
        self.install_hooks()
 
44
        self.addCleanup(self.reset_hooks)
45
45
 
46
46
        cmd = cmd_cat()
47
 
        cmd.run(self.get_url('branch/foo'))
 
47
        cmd.run(self.get_url() + '/branch/foo')
48
48
        self.assertEquals(1, len(self.connections))
49
49
        self.assertEquals('foo', self.outf.getvalue())
50
50