From 7201435f2d89c7aa4b1867046ca33d6a48ab787a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moise=CC=81s=20Guimara=CC=83es?= Date: Sun, 13 Nov 2016 10:55:55 -0300 Subject: [PATCH] adds initial context tests. --- wrapper/python/wolfssl/test/test_context.py | 41 +++++++++++++++++++++ wrapper/python/wolfssl/wolfssl/_context.py | 7 ++-- 2 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 wrapper/python/wolfssl/test/test_context.py 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,