blob: 5e0063b28fb28b6a18f5d93b8847733615ec742c [file] [log] [blame]
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -04001# Copyright (C) Jean-Paul Calderone
2# See LICENSE for details.
Jean-Paul Calderone65627a22014-03-25 20:58:30 -04003
4"""
5Unit tests for :py:obj:`OpenSSL.tsafe`.
6"""
7
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -04008from OpenSSL.SSL import TLSv1_METHOD, Context
9from OpenSSL.tsafe import Connection
10from OpenSSL.test.util import TestCase
Jean-Paul Calderone65627a22014-03-25 20:58:30 -040011from OpenSSL.test.test_ssl import _create_certificate_chain
12
13
14class ConnectionTest(TestCase):
15 """
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -040016 Tests for :py:obj:`OpenSSL.tsafe.Connection`.
Jean-Paul Calderone65627a22014-03-25 20:58:30 -040017 """
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -040018 def test_instantiation(self):
Jean-Paul Calderone65627a22014-03-25 20:58:30 -040019 """
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -040020 :py:obj:`OpenSSL.tsafe.Connection` can be instantiated.
Jean-Paul Calderone65627a22014-03-25 20:58:30 -040021 """
22 chain = _create_certificate_chain()
23 [(_, _), (ikey, icert), (skey, scert)] = chain
24
25 # Create the server context
26 ctx = Context(TLSv1_METHOD)
27 ctx.use_privatekey(skey)
28 ctx.use_certificate(scert)
29
Jean-Paul Calderonea566e4e2014-03-25 21:01:10 -040030 # The following line should not throw an error. This isn't an ideal
31 # test. It would be great to refactor the other Connection tests so
32 # they could automatically be applied to this class too.
33 Connection(ctx, None)