# Copyright (c) Frederick Dean | |
# See LICENSE for details. | |
""" | |
Unit tests for `OpenSSL.rand`. | |
""" | |
import pytest | |
from OpenSSL import rand | |
class TestRand(object): | |
@pytest.mark.parametrize("args", [(b"foo", None), (None, 3)]) | |
def test_add_wrong_args(self, args): | |
""" | |
`OpenSSL.rand.add` raises `TypeError` if called with arguments not of | |
type `str` and `int`. | |
""" | |
with pytest.raises(TypeError): | |
rand.add(*args) | |
def test_add(self): | |
""" | |
`OpenSSL.rand.add` adds entropy to the PRNG. | |
""" | |
rand.add(b"hamburger", 3) | |
def test_status(self): | |
""" | |
`OpenSSL.rand.status` returns `1` if the PRNG has sufficient entropy, | |
`0` otherwise. | |
""" | |
assert rand.status() == 1 |