diff --git a/Changelog.md b/Changelog.md index 4c56266..30b8e32 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,4 +1,7 @@ +## [unreleased - 03-12-2021] +- Allow `username` logging when user is authenticated + ## 0.4.0 (20-10-2020) ### Note worthy changes diff --git a/src/audit_log/logger.py b/src/audit_log/logger.py index eae3bfc..0c0d0a7 100644 --- a/src/audit_log/logger.py +++ b/src/audit_log/logger.py @@ -85,9 +85,10 @@ def set_http_response(self, status_code: int, reason: str, headers: dict = None) return self def set_user(self, authenticated: bool, provider: str, email: str, - roles: list = None, ip: str = '', realm: str = '') -> 'AuditLogger': + roles: list = None, ip: str = '', realm: str = '', username: str = '') -> 'AuditLogger': self.user = { 'authenticated': authenticated, + 'username': username, 'email': email, 'roles': roles, 'ip': ip, diff --git a/tests/test_logger.py b/tests/test_logger.py index ffa5457..cdb39e5 100644 --- a/tests/test_logger.py +++ b/tests/test_logger.py @@ -119,7 +119,8 @@ def test_set_http_response(self): def test_set_user(self): self.audit_log.set_user( authenticated=True, provider='test', email='username@host.com', - roles=['role1', 'role2'], ip='12.23.34.45', realm='testrealm' + roles=['role1', 'role2'], ip='12.23.34.45', realm='testrealm', + username='username' ) self.assertEqual(self.audit_log.user['authenticated'], True) @@ -128,6 +129,7 @@ def test_set_user(self): self.assertEqual(self.audit_log.user['email'], 'username@host.com') self.assertEqual(self.audit_log.user['roles'], ['role1', 'role2']) self.assertEqual(self.audit_log.user['ip'], '12.23.34.45') + self.assertEqual(self.audit_log.user['username'], 'username') def test_set_filter(self): self.audit_log.set_filter(object_name='objname', kwargs={'field': 'filter'}) @@ -166,7 +168,8 @@ def test_extras_http_response(self): def test_extras_user(self): self.audit_log.set_user( authenticated=True, provider='test', email='username@host.com', - roles=['role1', 'role2'], ip='12.23.34.45', realm='testrealm' + roles=['role1', 'role2'], ip='12.23.34.45', realm='testrealm', + username='username' ) extras = self.audit_log._get_extras(log_type='test') @@ -177,6 +180,7 @@ def test_extras_user(self): self.assertEqual(extras['user']['email'], 'username@host.com') self.assertEqual(extras['user']['roles'], ['role1', 'role2']) self.assertEqual(extras['user']['ip'], '12.23.34.45') + self.assertEqual(extras['user']['username'], 'username') def test_extras_filter(self): self.audit_log.set_filter(object_name='objname', kwargs={'field': 'filter'})