Example #1
0
    def test_handle_multiple_errors(self):
        for i in range(10):
            backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
                                       b"test_openssl.py", -1)

        assert backend._lib.ERR_peek_error() != 0

        with pytest.raises(InternalError):
            backend._handle_error(None)

        assert backend._lib.ERR_peek_error() == 0
Example #2
0
    def test_openssl_error_string(self):
        backend._lib.ERR_put_error(
            backend._lib.ERR_LIB_EVP,
            backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
            0,
            b"test_openssl.py",
            -1
        )

        with pytest.raises(InternalError) as exc:
            backend._handle_error(None)

        assert (
            "digital envelope routines:"
            "EVP_DecryptFinal_ex:digital envelope routines" in str(exc)
        )
Example #3
0
    def test_handle_unknown_error(self):
        with pytest.raises(InternalError):
            backend._handle_error_code(0)

        backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
                                   b"test_openssl.py", -1)
        with pytest.raises(InternalError):
            backend._handle_error(None)

        backend._lib.ERR_put_error(
            backend._lib.ERR_LIB_EVP,
            backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX,
            0,
            b"test_openssl.py",
            -1
        )
        with pytest.raises(InternalError):
            backend._handle_error(None)

        backend._lib.ERR_put_error(
            backend._lib.ERR_LIB_EVP,
            backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
            0,
            b"test_openssl.py",
            -1
        )
        with pytest.raises(InternalError):
            backend._handle_error(None)