summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Chan <alex@alexwlchan.net>2016-12-19 22:00:38 +0000
committerHynek Schlawack <hs@ox.cx>2016-12-19 23:00:38 +0100
commitdeec9344aeb3aa394211ddbf07ad441d51dc94dd (patch)
treea7826d899cda62b2229ba8f45167085674c1e07f
parent6c6bf865acdd3c5ca5f47b1dbc2903023fd286b6 (diff)
downloadpyopenssl-deec9344aeb3aa394211ddbf07ad441d51dc94dd.tar.gz
Convert a few more small test classes to be pytest-style (#585)
* Rewrite test_tsafe to be pytest-style * Rewrite TestRevoked to be pytest-style * Convert TestConnection to be pytest-style
-rw-r--r--tests/test_crypto.py93
-rw-r--r--tests/test_ssl.py24
-rw-r--r--tests/test_tsafe.py10
3 files changed, 47 insertions, 80 deletions
diff --git a/tests/test_crypto.py b/tests/test_crypto.py
index 710f737..49b9bad 100644
--- a/tests/test_crypto.py
+++ b/tests/test_crypto.py
@@ -3115,8 +3115,7 @@ class NetscapeSPKITests(TestCase, _PKeyInteractionTestsMixin):
class TestRevoked(object):
"""
- Please add test cases for the Revoked class here if possible. This class
- holds the new py.test style tests.
+ Tests for `OpenSSL.crypto.Revoked`.
"""
def test_ignores_unsupported_revoked_cert_extension_get_reason(self):
"""
@@ -3136,111 +3135,81 @@ class TestRevoked(object):
reason = revoked[1].get_reason()
assert reason is None
-
-class RevokedTests(TestCase):
- """
- Tests for :py:obj:`OpenSSL.crypto.Revoked`. Please add test cases to
- TestRevoked above if possible.
- """
-
def test_construction(self):
"""
- Confirm we can create :py:obj:`OpenSSL.crypto.Revoked`. Check
- that it is empty.
+ Confirm we can create `OpenSSL.crypto.Revoked`. Check that it is
+ empty.
"""
revoked = Revoked()
- self.assertTrue(isinstance(revoked, Revoked))
- self.assertEquals(type(revoked), Revoked)
- self.assertEquals(revoked.get_serial(), b'00')
- self.assertEquals(revoked.get_rev_date(), None)
- self.assertEquals(revoked.get_reason(), None)
-
- def test_construction_wrong_args(self):
- """
- Calling :py:obj:`OpenSSL.crypto.Revoked` with any arguments results
- in a :py:obj:`TypeError` being raised.
- """
- self.assertRaises(TypeError, Revoked, None)
- self.assertRaises(TypeError, Revoked, 1)
- self.assertRaises(TypeError, Revoked, "foo")
+ assert isinstance(revoked, Revoked)
+ assert type(revoked) == Revoked
+ assert revoked.get_serial() == b'00'
+ assert revoked.get_rev_date() is None
+ assert revoked.get_reason() is None
def test_serial(self):
"""
Confirm we can set and get serial numbers from
- :py:obj:`OpenSSL.crypto.Revoked`. Confirm errors are handled
- with grace.
+ `OpenSSL.crypto.Revoked`. Confirm errors are handled with grace.
"""
revoked = Revoked()
ret = revoked.set_serial(b'10b')
- self.assertEquals(ret, None)
+ assert ret is None
ser = revoked.get_serial()
- self.assertEquals(ser, b'010B')
+ assert ser == b'010B'
revoked.set_serial(b'31ppp') # a type error would be nice
ser = revoked.get_serial()
- self.assertEquals(ser, b'31')
+ assert ser == b'31'
- self.assertRaises(ValueError, revoked.set_serial, b'pqrst')
- self.assertRaises(TypeError, revoked.set_serial, 100)
- self.assertRaises(TypeError, revoked.get_serial, 1)
- self.assertRaises(TypeError, revoked.get_serial, None)
- self.assertRaises(TypeError, revoked.get_serial, "")
+ with pytest.raises(ValueError):
+ revoked.set_serial(b'pqrst')
+ with pytest.raises(TypeError):
+ revoked.set_serial(100)
def test_date(self):
"""
Confirm we can set and get revocation dates from
- :py:obj:`OpenSSL.crypto.Revoked`. Confirm errors are handled
- with grace.
+ `OpenSSL.crypto.Revoked`. Confirm errors are handled with grace.
"""
revoked = Revoked()
date = revoked.get_rev_date()
- self.assertEquals(date, None)
+ assert date is None
now = datetime.now().strftime("%Y%m%d%H%M%SZ").encode("ascii")
ret = revoked.set_rev_date(now)
- self.assertEqual(ret, None)
+ assert ret is None
date = revoked.get_rev_date()
- self.assertEqual(date, now)
+ assert date == now
def test_reason(self):
"""
Confirm we can set and get revocation reasons from
- :py:obj:`OpenSSL.crypto.Revoked`. The "get" need to work
- as "set". Likewise, each reason of all_reasons() must work.
+ `OpenSSL.crypto.Revoked`. The "get" need to work as "set".
+ Likewise, each reason of all_reasons() must work.
"""
revoked = Revoked()
for r in revoked.all_reasons():
for x in range(2):
ret = revoked.set_reason(r)
- self.assertEquals(ret, None)
+ assert ret is None
reason = revoked.get_reason()
- self.assertEquals(
- reason.lower().replace(b' ', b''),
+ assert (
+ reason.lower().replace(b' ', b'') ==
r.lower().replace(b' ', b''))
r = reason # again with the resp of get
revoked.set_reason(None)
- self.assertEqual(revoked.get_reason(), None)
-
- def test_set_reason_wrong_arguments(self):
- """
- Calling :py:obj:`OpenSSL.crypto.Revoked.set_reason` with other than
- one argument, or an argument which isn't a valid reason,
- results in :py:obj:`TypeError` or :py:obj:`ValueError` being raised.
- """
- revoked = Revoked()
- self.assertRaises(TypeError, revoked.set_reason, 100)
- self.assertRaises(ValueError, revoked.set_reason, b'blue')
+ assert revoked.get_reason() is None
- def test_get_reason_wrong_arguments(self):
+ def test_set_reason_invalid_reason(self):
"""
- Calling :py:obj:`OpenSSL.crypto.Revoked.get_reason` with any
- arguments results in :py:obj:`TypeError` being raised.
+ Calling `OpenSSL.crypto.Revoked.set_reason` with an argument which
+ isn't a valid reason results in `ValueError` being raised.
"""
revoked = Revoked()
- self.assertRaises(TypeError, revoked.get_reason, None)
- self.assertRaises(TypeError, revoked.get_reason, 1)
- self.assertRaises(TypeError, revoked.get_reason, "foo")
+ with pytest.raises(ValueError):
+ revoked.set_reason(b'blue')
class CRLTests(TestCase):
diff --git a/tests/test_ssl.py b/tests/test_ssl.py
index ee849fd..c32ebab 100644
--- a/tests/test_ssl.py
+++ b/tests/test_ssl.py
@@ -3729,24 +3729,24 @@ class MemoryBIOTests(TestCase, _LoopbackMixin):
self._check_client_ca_list(set_replaces_add_ca)
-class ConnectionBIOTests(TestCase):
+class TestConnection(object):
"""
- Tests for :py:obj:`Connection.bio_read` and :py:obj:`Connection.bio_write`.
+ Tests for `Connection.bio_read` and `Connection.bio_write`.
"""
def test_wantReadError(self):
"""
- :py:obj:`Connection.bio_read` raises
- :py:obj:`OpenSSL.SSL.WantReadError` if there are no bytes available to
- be read from the BIO.
+ `Connection.bio_read` raises `OpenSSL.SSL.WantReadError` if there are
+ no bytes available to be read from the BIO.
"""
ctx = Context(TLSv1_METHOD)
conn = Connection(ctx, None)
- self.assertRaises(WantReadError, conn.bio_read, 1024)
+ with pytest.raises(WantReadError):
+ conn.bio_read(1024)
def test_buffer_size(self):
"""
- :py:obj:`Connection.bio_read` accepts an integer giving the maximum
- number of bytes to read and return.
+ `Connection.bio_read` accepts an integer giving the maximum number
+ of bytes to read and return.
"""
ctx = Context(TLSv1_METHOD)
conn = Connection(ctx, None)
@@ -3756,13 +3756,13 @@ class ConnectionBIOTests(TestCase):
except WantReadError:
pass
data = conn.bio_read(2)
- self.assertEqual(2, len(data))
+ assert 2 == len(data)
@skip_if_py3
def test_buffer_size_long(self):
"""
- On Python 2 :py:obj:`Connection.bio_read` accepts values of type
- :py:obj:`long` as well as :py:obj:`int`.
+ On Python 2 `Connection.bio_read` accepts values of type `long` as
+ well as `int`.
"""
ctx = Context(TLSv1_METHOD)
conn = Connection(ctx, None)
@@ -3772,7 +3772,7 @@ class ConnectionBIOTests(TestCase):
except WantReadError:
pass
data = conn.bio_read(long(2))
- self.assertEqual(2, len(data))
+ assert 2 == len(data)
class InfoConstantTests(TestCase):
diff --git a/tests/test_tsafe.py b/tests/test_tsafe.py
index 97045ce..8ffe35a 100644
--- a/tests/test_tsafe.py
+++ b/tests/test_tsafe.py
@@ -2,22 +2,20 @@
# See LICENSE for details.
"""
-Unit tests for :py:obj:`OpenSSL.tsafe`.
+Unit tests for `OpenSSL.tsafe`.
"""
from OpenSSL.SSL import TLSv1_METHOD, Context
from OpenSSL.tsafe import Connection
-from .util import TestCase
-
-class ConnectionTest(TestCase):
+class TestConnection(object):
"""
- Tests for :py:obj:`OpenSSL.tsafe.Connection`.
+ Tests for `OpenSSL.tsafe.Connection`.
"""
def test_instantiation(self):
"""
- :py:obj:`OpenSSL.tsafe.Connection` can be instantiated.
+ `OpenSSL.tsafe.Connection` can be instantiated.
"""
# The following line should not throw an error. This isn't an ideal
# test. It would be great to refactor the other Connection tests so