The rest of ContextTests passing and almost all of Connection-related tests passing too
diff --git a/OpenSSL/test/test_crypto.py b/OpenSSL/test/test_crypto.py
index 54c9a37..a3fc79d 100644
--- a/OpenSSL/test/test_crypto.py
+++ b/OpenSSL/test/test_crypto.py
@@ -13,7 +13,7 @@
from OpenSSL.crypto import TYPE_RSA, TYPE_DSA, Error, PKey, PKeyType
from OpenSSL.crypto import X509, X509Type, X509Name, X509NameType
-from OpenSSL.crypto import X509Req, X509ReqType
+from OpenSSL.crypto import X509Store, X509StoreType, X509Req, X509ReqType
from OpenSSL.crypto import X509Extension, X509ExtensionType
from OpenSSL.crypto import load_certificate, load_privatekey
from OpenSSL.crypto import FILETYPE_PEM, FILETYPE_ASN1, FILETYPE_TEXT
@@ -1589,6 +1589,31 @@
+class X509StoreTests(TestCase):
+ """
+ Test for :py:obj:`OpenSSL.crypto.X509Store`.
+ """
+ def test_type(self):
+ """
+ :py:obj:`X509StoreType` is a type object.
+ """
+ self.assertIdentical(X509Store, X509StoreType)
+ self.assertConsistentType(X509Store, 'X509Store')
+
+
+ def test_add_cert_wrong_args(self):
+ store = X509Store()
+ self.assertRaises(TypeError, store.add_cert)
+ self.assertRaises(TypeError, store.add_cert, object())
+ self.assertRaises(TypeError, store.add_cert, X509(), object())
+
+
+ def test_add_cert(self):
+ store = X509Store()
+ store.add_cert(X509())
+
+
+
class PKCS12Tests(TestCase):
"""
Test for :py:obj:`OpenSSL.crypto.PKCS12` and :py:obj:`OpenSSL.crypto.load_pkcs12`.
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index 80e54a7..bdb497e 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -6,7 +6,7 @@
"""
from gc import collect
-from errno import ECONNREFUSED, EINPROGRESS, EWOULDBLOCK
+from errno import ECONNREFUSED, EINPROGRESS, EWOULDBLOCK, EPIPE
from sys import platform, version_info
from socket import error, socket
from os import makedirs
@@ -15,7 +15,7 @@
from weakref import ref
from OpenSSL.crypto import TYPE_RSA, FILETYPE_PEM
-from OpenSSL.crypto import PKey, X509, X509Extension
+from OpenSSL.crypto import PKey, X509, X509Extension, X509Store
from OpenSSL.crypto import dump_privatekey, load_privatekey
from OpenSSL.crypto import dump_certificate, load_certificate
@@ -991,6 +991,15 @@
self.assertEqual(SESS_CACHE_BOTH, context.get_session_cache_mode())
+ def test_get_cert_store(self):
+ """
+ :py:obj:`Context.get_cert_store` returns a :py:obj:`X509Store` instance.
+ """
+ context = Context(TLSv1_METHOD)
+ store = context.get_cert_store()
+ self.assertIsInstance(store, X509Store)
+
+
class ServerNameCallbackTests(TestCase, _LoopbackMixin):
"""
@@ -1504,7 +1513,7 @@
"""
server, client = self._loopback()
session = server.get_session()
- self.assertTrue(session, Session)
+ self.assertIsInstance(session, Session)
def test_client_get_session(self):
@@ -1515,7 +1524,7 @@
"""
server, client = self._loopback()
session = client.get_session()
- self.assertTrue(session, Session)
+ self.assertIsInstance(session, Session)
def test_set_session_wrong_args(self):
@@ -1747,7 +1756,8 @@
"""
server, client = self._loopback()
server.sock_shutdown(2)
- self.assertRaises(SysCallError, server.sendall, "hello, world")
+ exc = self.assertRaises(SysCallError, server.sendall, "hello, world")
+ self.assertEqual(exc.args[0], EPIPE)