34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""audit event tests"""
 | 
						|
 | 
						|
from django.contrib.contenttypes.models import ContentType
 | 
						|
from django.test import TestCase
 | 
						|
from guardian.shortcuts import get_anonymous_user
 | 
						|
 | 
						|
from passbook.audit.models import Event, EventAction
 | 
						|
from passbook.policies.dummy.models import DummyPolicy
 | 
						|
 | 
						|
 | 
						|
class TestAuditEvent(TestCase):
 | 
						|
    """Test Audit Event"""
 | 
						|
 | 
						|
    def test_new_with_model(self):
 | 
						|
        """Create a new Event passing a model as kwarg"""
 | 
						|
        event = Event.new(EventAction.CUSTOM, test={"model": get_anonymous_user()})
 | 
						|
        event.save()  # We save to ensure nothing is un-saveable
 | 
						|
        model_content_type = ContentType.objects.get_for_model(get_anonymous_user())
 | 
						|
        self.assertEqual(
 | 
						|
            event.context.get("test").get("model").get("app"),
 | 
						|
            model_content_type.app_label,
 | 
						|
        )
 | 
						|
 | 
						|
    def test_new_with_uuid_model(self):
 | 
						|
        """Create a new Event passing a model (with UUID PK) as kwarg"""
 | 
						|
        temp_model = DummyPolicy.objects.create(name="test", result=True)
 | 
						|
        event = Event.new(EventAction.CUSTOM, model=temp_model)
 | 
						|
        event.save()  # We save to ensure nothing is un-saveable
 | 
						|
        model_content_type = ContentType.objects.get_for_model(temp_model)
 | 
						|
        self.assertEqual(
 | 
						|
            event.context.get("model").get("app"), model_content_type.app_label
 | 
						|
        )
 | 
						|
        self.assertEqual(event.context.get("model").get("pk"), temp_model.pk.hex)
 |