Test logging events for auditable mixin
This commit is contained in:
53
tests/models/mixins/test_auditable.py
Normal file
53
tests/models/mixins/test_auditable.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from atst.database import db
|
||||
from tests.factories import UserFactory
|
||||
from atst.models.mixins.auditable import AuditableMixin
|
||||
from atst.domain.users import Users
|
||||
|
||||
|
||||
def test_audit_insert(mock_logger):
|
||||
user = UserFactory.create()
|
||||
assert "Audit Event insert" in mock_logger.messages
|
||||
assert len(mock_logger.messages) == 1
|
||||
|
||||
event_log = mock_logger.extras[0]["audit_event"]
|
||||
assert event_log["resource_type"] == "user"
|
||||
assert event_log["resource_id"] == str(user.id)
|
||||
assert event_log["display_name"] == user.full_name
|
||||
assert event_log["action"] == "create"
|
||||
|
||||
assert "insert" in mock_logger.extras[0]["tags"]
|
||||
|
||||
|
||||
def test_audit_delete(mock_logger):
|
||||
user = UserFactory.create()
|
||||
assert "Audit Event insert" in mock_logger.messages
|
||||
|
||||
db.session.delete(user)
|
||||
db.session.commit()
|
||||
assert "Audit Event delete" in mock_logger.messages
|
||||
assert len(mock_logger.messages) == 2
|
||||
|
||||
event_log = mock_logger.extras[1]["audit_event"]
|
||||
assert event_log["resource_type"] == "user"
|
||||
assert event_log["resource_id"] == str(user.id)
|
||||
assert event_log["display_name"] == user.full_name
|
||||
assert event_log["action"] == "delete"
|
||||
|
||||
assert "delete" in mock_logger.extras[1]["tags"]
|
||||
|
||||
|
||||
def test_audit_insert(mock_logger):
|
||||
user = UserFactory.create()
|
||||
assert "Audit Event insert" in mock_logger.messages
|
||||
|
||||
Users.update(user, {"first_name": "Greedo"})
|
||||
assert "Audit Event update" in mock_logger.messages
|
||||
assert len(mock_logger.messages) == 2
|
||||
|
||||
event_log = mock_logger.extras[1]["audit_event"]
|
||||
assert event_log["resource_type"] == "user"
|
||||
assert event_log["resource_id"] == str(user.id)
|
||||
assert event_log["display_name"] == user.full_name
|
||||
assert event_log["action"] == "update"
|
||||
|
||||
assert "update" in mock_logger.extras[1]["tags"]
|
Reference in New Issue
Block a user