You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
import unittest
|
|
|
|
from admin_app.db.models import AuditLog
|
|
|
|
|
|
class AuditLogModelTests(unittest.TestCase):
|
|
def test_audit_log_declares_expected_table_and_columns(self):
|
|
self.assertEqual(AuditLog.__tablename__, "admin_audit_logs")
|
|
self.assertIn("actor_staff_account_id", AuditLog.__table__.columns)
|
|
self.assertIn("event_type", AuditLog.__table__.columns)
|
|
self.assertIn("resource_type", AuditLog.__table__.columns)
|
|
self.assertIn("resource_id", AuditLog.__table__.columns)
|
|
self.assertIn("outcome", AuditLog.__table__.columns)
|
|
self.assertIn("message", AuditLog.__table__.columns)
|
|
self.assertIn("payload_json", AuditLog.__table__.columns)
|
|
self.assertIn("ip_address", AuditLog.__table__.columns)
|
|
self.assertIn("user_agent", AuditLog.__table__.columns)
|
|
|
|
def test_audit_log_uses_staff_account_foreign_key(self):
|
|
foreign_keys = list(AuditLog.__table__.columns["actor_staff_account_id"].foreign_keys)
|
|
self.assertEqual(len(foreign_keys), 1)
|
|
self.assertEqual(str(foreign_keys[0].target_fullname), "staff_accounts.id")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|