diff --git a/atst/models/mixins/auditable.py b/atst/models/mixins/auditable.py index acfa6b2e..af83dc5a 100644 --- a/atst/models/mixins/auditable.py +++ b/atst/models/mixins/auditable.py @@ -54,7 +54,8 @@ class AuditableMixin(object): @staticmethod def audit_update(mapper, connection, target): - if AuditableMixin.get_changes(target): + changes = AuditableMixin.get_changes(target) + if changes and not "last_login" in changes: target.create_audit_event(connection, target, ACTION_UPDATE) def get_changes(self): diff --git a/tests/models/mixins/test_auditable.py b/tests/models/mixins/test_auditable.py index a3e357a4..797d9b93 100644 --- a/tests/models/mixins/test_auditable.py +++ b/tests/models/mixins/test_auditable.py @@ -51,3 +51,9 @@ def test_logging_audit_event_on_update(mock_logger): assert event_log["action"] == "update" assert "update" in mock_logger.extras[1]["tags"] + + +def test_does_not_log_user_update_when_updating_last_login(mock_logger): + user = UserFactory.create() + Users.update_last_login(user) + assert "Audit Event update" not in mock_logger.messages