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):  | 
