diff options
| author | Jean-Paul Calderone <exarkun@twistedmatrix.com> | 2015-03-15 17:19:39 -0400 |
|---|---|---|
| committer | Jean-Paul Calderone <exarkun@twistedmatrix.com> | 2015-03-15 17:19:39 -0400 |
| commit | 2b41ad3cefd014686e3788e0c59b86d9e1f8a262 (patch) | |
| tree | 2cb55d296036164161637f31a505ec3a170e1275 /OpenSSL | |
| parent | c295a2f6ffe2e3eab325b7e4b0182365b1853f93 (diff) | |
| download | pyopenssl-2b41ad3cefd014686e3788e0c59b86d9e1f8a262.tar.gz | |
Do that refactoring for a third test method.
Diffstat (limited to 'OpenSSL')
| -rw-r--r-- | OpenSSL/test/test_ssl.py | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py index 0857b14..d70f1bf 100644 --- a/OpenSSL/test/test_ssl.py +++ b/OpenSSL/test/test_ssl.py @@ -2266,17 +2266,29 @@ class ConnectionRecvIntoTests(TestCase, _LoopbackMixin): self._respects_length_test(bytearray(10)) - def test_recv_into_doesnt_overfill(self): + def _doesnt_overfill_test(self, output_buffer): """ - Test that :py:obj:`Connection.recv_into` doesn't overfill an object - implementing the buffer protocol. + Assert that if there are more bytes available to be read from the + receive buffer than would fit into the buffer passed to + :py:obj:`Connection.recv_into`, only as many as fit are written into + it. """ server, client = self._loopback() server.send(b('abcdefghij')) - buffer = bytearray(5) - self.assertEquals(client.recv_into(buffer), 5) - self.assertEquals(buffer, bytearray(b('abcde'))) + self.assertEquals(client.recv_into(output_buffer), 5) + self.assertEquals(output_buffer, bytearray(b('abcde'))) + rest = client.recv(5) + self.assertEqual(b('fghij'), rest) + + + def test_buffer_doesnt_overfill(self): + """ + When called with a ``bytearray`` instance, + :py:obj:`Connection.recv_into` respects the size of the array and + doesn't write more bytes into it than will fit. + """ + self._doesnt_overfill_test(bytearray(5)) try: @@ -2301,18 +2313,12 @@ class ConnectionRecvIntoTests(TestCase, _LoopbackMixin): self._respects_length_test(memoryview(bytearray(10))) - def test_recv_into_memoryview_doesnt_overfill(self): + def test_memoryview_doesnt_overfill(self): """ Test that :py:obj:`Connection.recv_into` doesn't overfill a memoryview. """ - server, client = self._loopback() - server.send(b('abcdefghij')) - buffer = bytearray(5) - mv = memoryview(buffer) - - self.assertEquals(client.recv_into(mv), 5) - self.assertEquals(buffer, bytearray(b('abcde'))) + self._doesnt_overfill_test(memoryview(bytearray(5))) |
