diff --git a/atst/models/mixins/auditable.py b/atst/models/mixins/auditable.py index 140e4743..d8133afe 100644 --- a/atst/models/mixins/auditable.py +++ b/atst/models/mixins/auditable.py @@ -31,6 +31,10 @@ class AuditableMixin(object): event_details=event_details, ) + app.logger.info( + "Audit Event {}".format(action), + extra={"audit_event": audit_event.log, "tags": ["audit_event", action]}, + ) audit_event.save(connection) return audit_event @@ -43,29 +47,17 @@ class AuditableMixin(object): @staticmethod def audit_insert(mapper, connection, target): """Listen for the `after_insert` event and create an AuditLog entry""" - event = target.create_audit_event(connection, target, ACTION_CREATE) - app.logger.info( - "Audit Event insert", - extra={"audit_event": event.log, "tags": ["audit_event", "insert"]}, - ) + target.create_audit_event(connection, target, ACTION_CREATE) @staticmethod def audit_delete(mapper, connection, target): """Listen for the `after_delete` event and create an AuditLog entry""" - event = target.create_audit_event(connection, target, ACTION_DELETE) - app.logger.info( - "Audit Event delete", - extra={"audit_event": event.log, "tags": ["audit_event", "delete"]}, - ) + target.create_audit_event(connection, target, ACTION_DELETE) @staticmethod def audit_update(mapper, connection, target): if AuditableMixin.get_changes(target): - event = target.create_audit_event(connection, target, ACTION_UPDATE) - app.logger.info( - "Audit Event update", - extra={"audit_event": event.log, "tags": ["audit_event", "update"]}, - ) + 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 aadab029..a3e357a4 100644 --- a/tests/models/mixins/test_auditable.py +++ b/tests/models/mixins/test_auditable.py @@ -4,9 +4,9 @@ from atst.models.mixins.auditable import AuditableMixin from atst.domain.users import Users -def test_audit_insert(mock_logger): +def test_logging_audit_event_on_create(mock_logger): user = UserFactory.create() - assert "Audit Event insert" in mock_logger.messages + assert "Audit Event create" in mock_logger.messages assert len(mock_logger.messages) == 1 event_log = mock_logger.extras[0]["audit_event"] @@ -15,12 +15,12 @@ def test_audit_insert(mock_logger): assert event_log["display_name"] == user.full_name assert event_log["action"] == "create" - assert "insert" in mock_logger.extras[0]["tags"] + assert "create" in mock_logger.extras[0]["tags"] -def test_audit_delete(mock_logger): +def test_logging_audit_event_on_delete(mock_logger): user = UserFactory.create() - assert "Audit Event insert" in mock_logger.messages + assert "Audit Event create" in mock_logger.messages db.session.delete(user) db.session.commit() @@ -36,9 +36,9 @@ def test_audit_delete(mock_logger): assert "delete" in mock_logger.extras[1]["tags"] -def test_audit_insert(mock_logger): +def test_logging_audit_event_on_update(mock_logger): user = UserFactory.create() - assert "Audit Event insert" in mock_logger.messages + assert "Audit Event create" in mock_logger.messages Users.update(user, {"first_name": "Greedo"}) assert "Audit Event update" in mock_logger.messages