Write a few more tests (#503)
* Write a few more tests
* pytestify this whole jam
diff --git a/tests/test_crypto.py b/tests/test_crypto.py
index 10d2427..81e0ae3 100644
--- a/tests/test_crypto.py
+++ b/tests/test_crypto.py
@@ -959,17 +959,22 @@
"""
name = self._x509name()
name.commonName = "foo"
- self.assertEqual(name.commonName, "foo")
- self.assertEqual(name.CN, "foo")
+ assert name.commonName == "foo"
+ assert name.CN == "foo"
+
name.CN = "baz"
- self.assertEqual(name.commonName, "baz")
- self.assertEqual(name.CN, "baz")
+ assert name.commonName == "baz"
+ assert name.CN == "baz"
+
name.commonName = "bar"
- self.assertEqual(name.commonName, "bar")
- self.assertEqual(name.CN, "bar")
+ assert name.commonName == "bar"
+ assert name.CN == "bar"
+
name.CN = "quux"
- self.assertEqual(name.commonName, "quux")
- self.assertEqual(name.CN, "quux")
+ assert name.commonName == "quux"
+ assert name.CN == "quux"
+
+ assert name.OU is None
with pytest.raises(AttributeError):
name.foobar
@@ -1922,6 +1927,15 @@
cert = load_certificate(FILETYPE_PEM, certPEM)
self.assertRaises(ValueError, cert.get_signature_algorithm)
+ def test_sign_bad_pubkey_type(self):
+ """
+ :obj:`X509.sign` raises :obj:`TypeError` when called with the wrong
+ type.
+ """
+ cert = X509()
+ with pytest.raises(TypeError):
+ cert.sign(object(), b"sha256")
+
class X509StoreTests(TestCase):
"""
@@ -2695,6 +2709,15 @@
good_text = _runopenssl(dumped_pem, b"x509", b"-noout", b"-text")
self.assertEqual(dumped_text, good_text)
+ def test_dump_certificate_bad_type(self):
+ """
+ :obj:`dump_certificate` raises a :obj:`ValueError` if it's called with
+ a bad type.
+ """
+ cert = load_certificate(FILETYPE_PEM, cleartextCertificatePEM)
+ with pytest.raises(ValueError):
+ dump_certificate(object(), cert)
+
def test_dump_privatekey_pem(self):
"""
:py:obj:`dump_privatekey` writes a PEM
@@ -2869,6 +2892,14 @@
with pytest.raises(ValueError):
load_certificate(object(), b"")
+ def test_bad_certificate(self):
+ """
+ If the bytes passed to :obj:`load_certificate` are not a valid
+ certificate, an exception is raised.
+ """
+ with pytest.raises(Error):
+ load_certificate(FILETYPE_ASN1, b"lol")
+
class PKCS7Tests(TestCase):
"""