diff options
-rw-r--r-- | paramiko/__init__.py | 2 | ||||
-rw-r--r-- | tests/test_channelfile.py | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/paramiko/__init__.py b/paramiko/__init__.py index f77a2bcc..b5b577d3 100644 --- a/paramiko/__init__.py +++ b/paramiko/__init__.py @@ -29,7 +29,7 @@ from paramiko.client import ( ) from paramiko.auth_handler import AuthHandler from paramiko.ssh_gss import GSSAuth, GSS_AUTH_AVAILABLE, GSS_EXCEPTIONS -from paramiko.channel import Channel, ChannelFile +from paramiko.channel import Channel, ChannelFile, ChannelStderrFile from paramiko.ssh_exception import ( SSHException, PasswordRequiredException, diff --git a/tests/test_channelfile.py b/tests/test_channelfile.py new file mode 100644 index 00000000..6faf8bf8 --- /dev/null +++ b/tests/test_channelfile.py @@ -0,0 +1,42 @@ +from mock import patch, MagicMock + +from paramiko import Channel, ChannelFile, ChannelStderrFile + + +class TestChannelFile(object): + @patch("paramiko.channel.ChannelFile._set_mode") + def test_defaults_to_unbuffered_reading(self, setmode): + cf = ChannelFile(Channel(None)) + setmode.assert_called_once_with("r", -1) + + @patch("paramiko.channel.ChannelFile._set_mode") + def test_can_override_mode_and_bufsize(self, setmode): + cf = ChannelFile(Channel(None), mode="w", bufsize=25) + setmode.assert_called_once_with("w", 25) + + def test_read_recvs_from_channel(self): + chan = MagicMock() + cf = ChannelFile(chan) + cf.read(100) + chan.recv.assert_called_once_with(100) + + def test_write_calls_channel_sendall(self): + chan = MagicMock() + cf = ChannelFile(chan, mode="w") + cf.write("ohai") + chan.sendall.assert_called_once_with(b"ohai") + + +class TestChannelStderrFile(object): + def test_read_calls_channel_recv_stderr(self): + chan = MagicMock() + cf = ChannelStderrFile(chan) + cf.read(100) + chan.recv_stderr.assert_called_once_with(100) + + def test_write_calls_channel_sendall(self): + chan = MagicMock() + cf = ChannelStderrFile(chan, mode="w") + cf.write("ohai") + chan.sendall_stderr.assert_called_once_with(b"ohai") + |