diff --git a/wrapper/python/wolfssl/test/test_context.py b/wrapper/python/wolfssl/test/test_context.py new file mode 100644 index 000000000..0b2aaf0cc --- /dev/null +++ b/wrapper/python/wolfssl/test/test_context.py @@ -0,0 +1,41 @@ +# test_context.py +# +# Copyright (C) 2006-2016 wolfSSL Inc. +# +# This file is part of wolfSSL. (formerly known as CyaSSL) +# +# wolfSSL is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# wolfSSL is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +import unittest +import wolfssl +import ssl + + +class TestSSLContext(unittest.TestCase): + provider = ssl + + def setUp(self): + self.ctx = self.provider.SSLContext(self.provider.PROTOCOL_SSLv23) + + def test_context_creation(self): + self.assertIsNotNone(self.ctx) + + def test_load_cert_chain(self): + self.assertRaises(TypeError, self.ctx.load_cert_chain, None) + + def test_load_verify_locations(self): + self.assertRaises(TypeError, self.ctx.load_verify_locations, None) + +class TestWolfSSLContext(TestSSLContext): + provider = wolfssl \ No newline at end of file diff --git a/wrapper/python/wolfssl/wolfssl/_context.py b/wrapper/python/wolfssl/wolfssl/_context.py index 47a84c988..4b318ff6e 100644 --- a/wrapper/python/wolfssl/wolfssl/_context.py +++ b/wrapper/python/wolfssl/wolfssl/_context.py @@ -76,8 +76,7 @@ class SSLContext: if ret != 0: raise SSLError("Unnable to load certificate chain") else: - raise TypeError( - "certfile needs to be string or buffer, NoneType found") + raise TypeError("certfile should be a valid filesystem path") if keyfile: ret = _lib.wolfSSL_CTX_use_PrivateKey_file( @@ -87,8 +86,8 @@ class SSLContext: def load_verify_locations(self, cafile=None, capath=None, cadata=None): - if cafile is None and capath is None: - raise SSLError("Unnable to load verify locations") + if cafile is None and capath is None and cadata is None: + raise TypeError("cafile, capath and cadata cannot be all omitted") ret = _lib.wolfSSL_CTX_load_verify_locations( self.native_object,