From 74a58ac2e9cd1c882ebe4db3d3b6c1f387cf5d2e Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 22 Jun 2014 11:44:42 -0600 Subject: DSA*Numbers classes --- tests/hazmat/primitives/test_dsa.py | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'tests/hazmat/primitives') diff --git a/tests/hazmat/primitives/test_dsa.py b/tests/hazmat/primitives/test_dsa.py index cbe10e9c..37489434 100644 --- a/tests/hazmat/primitives/test_dsa.py +++ b/tests/hazmat/primitives/test_dsa.py @@ -872,3 +872,80 @@ def test_dsa_generate_invalid_backend(): with raises_unsupported_algorithm( _Reasons.BACKEND_MISSING_INTERFACE): dsa.DSAPrivateKey.generate(pretend_parameters, pretend_backend) + + +class TestDSANumbers(object): + def test_dsa_parameter_numbers(self): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + assert parameter_numbers.p == 1 + assert parameter_numbers.q == 2 + assert parameter_numbers.g == 3 + + def test_dsa_parameter_numbers_invalid_types(self): + with pytest.raises(TypeError): + dsa.DSAParameterNumbers(p=None, q=2, g=3) + + with pytest.raises(TypeError): + dsa.DSAParameterNumbers(p=1, q=None, g=3) + + with pytest.raises(TypeError): + dsa.DSAParameterNumbers(p=1, q=2, g=None) + + def test_dsa_public_numbers(self): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + public_numbers = dsa.DSAPublicNumbers( + y=4, + parameter_numbers=parameter_numbers + ) + assert public_numbers.y == 4 + assert public_numbers.parameter_numbers == parameter_numbers + + def test_dsa_public_numbers_invalid_types(self): + with pytest.raises(TypeError): + dsa.DSAPublicNumbers(y=4, parameter_numbers=None) + + with pytest.raises(TypeError): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + dsa.DSAPublicNumbers(y=None, parameter_numbers=parameter_numbers) + + def test_dsa_private_numbers(self): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + public_numbers = dsa.DSAPublicNumbers( + y=4, + parameter_numbers=parameter_numbers + ) + private_numbers = dsa.DSAPrivateNumbers( + x=5, + public_numbers=public_numbers, + parameter_numbers=parameter_numbers + ) + assert private_numbers.x == 5 + assert private_numbers.public_numbers == public_numbers + assert private_numbers.parameter_numbers == parameter_numbers + + def test_dsa_private_numbers_invalid_types(self): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + public_numbers = dsa.DSAPublicNumbers( + y=4, + parameter_numbers=parameter_numbers + ) + with pytest.raises(TypeError): + dsa.DSAPrivateNumbers( + x=4, + public_numbers=public_numbers, + parameter_numbers=None + ) + + with pytest.raises(TypeError): + dsa.DSAPrivateNumbers( + x=4, + public_numbers=None, + parameter_numbers=parameter_numbers + ) + + with pytest.raises(TypeError): + dsa.DSAPrivateNumbers( + x=None, + public_numbers=public_numbers, + parameter_numbers=parameter_numbers + ) -- cgit v1.2.3 From 8c73a7bf86260dd7bd5edea99369a6ae27cc9936 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Mon, 23 Jun 2014 09:29:32 -0600 Subject: remove parameter_numbers from DSAPrivateNumbers since it's on public --- tests/hazmat/primitives/test_dsa.py | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'tests/hazmat/primitives') diff --git a/tests/hazmat/primitives/test_dsa.py b/tests/hazmat/primitives/test_dsa.py index 37489434..51a03c48 100644 --- a/tests/hazmat/primitives/test_dsa.py +++ b/tests/hazmat/primitives/test_dsa.py @@ -916,12 +916,10 @@ class TestDSANumbers(object): ) private_numbers = dsa.DSAPrivateNumbers( x=5, - public_numbers=public_numbers, - parameter_numbers=parameter_numbers + public_numbers=public_numbers ) assert private_numbers.x == 5 assert private_numbers.public_numbers == public_numbers - assert private_numbers.parameter_numbers == parameter_numbers def test_dsa_private_numbers_invalid_types(self): parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) @@ -930,22 +928,7 @@ class TestDSANumbers(object): parameter_numbers=parameter_numbers ) with pytest.raises(TypeError): - dsa.DSAPrivateNumbers( - x=4, - public_numbers=public_numbers, - parameter_numbers=None - ) + dsa.DSAPrivateNumbers(x=4, public_numbers=None) with pytest.raises(TypeError): - dsa.DSAPrivateNumbers( - x=4, - public_numbers=None, - parameter_numbers=parameter_numbers - ) - - with pytest.raises(TypeError): - dsa.DSAPrivateNumbers( - x=None, - public_numbers=public_numbers, - parameter_numbers=parameter_numbers - ) + dsa.DSAPrivateNumbers(x=None, public_numbers=public_numbers) -- cgit v1.2.3