diff --git a/ipapython/kerberos.py b/ipapython/kerberos.py index a8ebc0428..3d3530c9c 100644 --- a/ipapython/kerberos.py +++ b/ipapython/kerberos.py @@ -181,3 +181,7 @@ class Principal(object): principal_string = u'@'.join([principal_string, realm]) return principal_string + + def __repr__(self): + return "{0.__module__}.{0.__name__}('{1}')".format( + self.__class__, self) diff --git a/ipatests/test_ipapython/test_kerberos.py b/ipatests/test_ipapython/test_kerberos.py index 7e1eca4d7..284d8c2de 100644 --- a/ipatests/test_ipapython/test_kerberos.py +++ b/ipatests/test_ipapython/test_kerberos.py @@ -82,6 +82,8 @@ def test_principals(valid_principal): assert getattr(princ, name) == value assert unicode(princ) == principal_name + assert repr(princ) == "ipapython.kerberos.Principal('{}')".format( + principal_name) def test_multiple_unescaped_ats_raise_error():