Factor out the duplication between buffer / memoryview version of one of the new recv_into tests.
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index daf1924..04143c3 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -2221,17 +2221,20 @@
"""
Tests for :py:obj:`Connection.recv_into`
"""
- def test_recv_into_no_length(self):
+ def _no_length_test(self, output_buffer):
+ server, client = self._loopback()
+ server.send(b('xy'))
+
+ self.assertEquals(client.recv_into(output_buffer), 2)
+ self.assertEquals(output_buffer, bytearray(b('xy\x00\x00\x00')))
+
+
+ def test_buffer_no_length(self):
"""
Test that :py:obj:`Connection.recv_into` can be safely passed an object
using the buffer protocol.
"""
- server, client = self._loopback()
- server.send(b('xy'))
- buffer = bytearray(5)
-
- self.assertEquals(client.recv_into(buffer), 2)
- self.assertEquals(buffer, bytearray(b('xy\x00\x00\x00')))
+ self._no_length_test(bytearray(5))
def test_recv_into_respects_length(self):
@@ -2265,18 +2268,12 @@
except NameError:
"cannot test recv_into memoryview without memoryview"
else:
- def test_recv_into_memoryview_no_length(self):
+ def test_memoryview_no_length(self):
"""
Test that :py:obj:`Connection.recv_into` can be safely passed a
memoryview.
"""
- server, client = self._loopback()
- server.send(b('xy'))
- buffer = bytearray(5)
- mv = memoryview(buffer)
-
- self.assertEquals(client.recv_into(mv), 2)
- self.assertEquals(buffer, bytearray(b('xy\x00\x00\x00')))
+ self._no_length_test(memoryview(bytearray(5)))
def test_recv_into_memoryview_respects_length(self):