summaryrefslogtreecommitdiff
path: root/tests/test_rand.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_rand.py')
-rw-r--r--tests/test_rand.py38
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