From 8b89bcc5b95140514bf7a17b72ce34f40b97a60a Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sat, 3 Sep 2016 11:31:43 -0500 Subject: support random_serial_number in the CertificateBuilder (#3132) * support random_serial_number in the CertificateBuilder * turns out pytest's monkeypatch has an undo * random_serial_number now a function * just certs --- tests/test_x509.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/test_x509.py b/tests/test_x509.py index dcfbe4fd..468eb397 100644 --- a/tests/test_x509.py +++ b/tests/test_x509.py @@ -3724,3 +3724,20 @@ class TestName(object): def test_not_nameattribute(self): with pytest.raises(TypeError): x509.Name(["not-a-NameAttribute"]) + + +def test_random_serial_number(monkeypatch): + sample_data = os.urandom(20) + + def notrandom(size): + assert size == len(sample_data) + return sample_data + + monkeypatch.setattr(os, "urandom", notrandom) + + serial_number = x509.random_serial_number() + + assert ( + serial_number == utils.int_from_bytes(sample_data, "big") >> 1 + ) + assert utils.bit_length(serial_number) < 160 -- cgit v1.2.3