# Copyright (c) Frederick Dean # See LICENSE for details. """ Unit tests for `OpenSSL.rand`. """ import pytest from OpenSSL import rand class TestRand: @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