diff options
Diffstat (limited to 'tests/test_rand.py')
-rw-r--r-- | tests/test_rand.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/test_rand.py b/tests/test_rand.py new file mode 100644 index 0000000..e04a24c --- /dev/null +++ b/tests/test_rand.py @@ -0,0 +1,38 @@ +# 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 |