diff options
-rw-r--r-- | src/cryptography/hazmat/primitives/asymmetric/dsa.py | 13 | ||||
-rw-r--r-- | tests/hazmat/primitives/test_dsa.py | 15 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/primitives/asymmetric/dsa.py b/src/cryptography/hazmat/primitives/asymmetric/dsa.py index 184177e0..511d3464 100644 --- a/src/cryptography/hazmat/primitives/asymmetric/dsa.py +++ b/src/cryptography/hazmat/primitives/asymmetric/dsa.py @@ -166,6 +166,13 @@ class DSAParameterNumbers(object): def __ne__(self, other): return not self == other + def __repr__(self): + return ( + "<DSAParameterNumbers(p={self.p}, q={self.q}, g={self.g})>".format( + self=self + ) + ) + class DSAPublicNumbers(object): def __init__(self, y, parameter_numbers): @@ -198,6 +205,12 @@ class DSAPublicNumbers(object): def __ne__(self, other): return not self == other + def __repr__(self): + return ( + "<DSAPublicNumbers(y={self.y}, " + "parameter_numbers={self.parameter_numbers})>".format(self=self) + ) + class DSAPrivateNumbers(object): def __init__(self, x, public_numbers): diff --git a/tests/hazmat/primitives/test_dsa.py b/tests/hazmat/primitives/test_dsa.py index 6ad9762a..46c86d54 100644 --- a/tests/hazmat/primitives/test_dsa.py +++ b/tests/hazmat/primitives/test_dsa.py @@ -721,6 +721,21 @@ class TestDSANumbers(object): with pytest.raises(TypeError): dsa.DSAPrivateNumbers(x=None, public_numbers=public_numbers) + def test_repr(self): + parameter_numbers = dsa.DSAParameterNumbers(p=1, q=2, g=3) + assert ( + repr(parameter_numbers) == "<DSAParameterNumbers(p=1, q=2, g=3)>" + ) + + public_numbers = dsa.DSAPublicNumbers( + y=4, + parameter_numbers=parameter_numbers + ) + assert repr(public_numbers) == ( + "<DSAPublicNumbers(y=4, parameter_numbers=<DSAParameterNumbers(p=1" + ", q=2, g=3)>)>" + ) + class TestDSANumberEquality(object): def test_parameter_numbers_eq(self): |