|
|
@@ -8,6 +8,7 @@ from django.urls import reverse
|
|
|
|
|
|
from extras.choices import ObjectChangeActionChoices
|
|
|
from extras.models import ObjectChange
|
|
|
+from netbox.models.features import ChangeLoggingMixin
|
|
|
from users.models import ObjectPermission
|
|
|
from utilities.choices import ImportFormatChoices
|
|
|
from .base import ModelTestCase
|
|
|
@@ -350,12 +351,13 @@ class ViewTestCases:
|
|
|
self._get_queryset().get(pk=instance.pk)
|
|
|
|
|
|
# Verify ObjectChange creation
|
|
|
- objectchanges = ObjectChange.objects.filter(
|
|
|
- changed_object_type=ContentType.objects.get_for_model(instance),
|
|
|
- changed_object_id=instance.pk
|
|
|
- )
|
|
|
- self.assertEqual(len(objectchanges), 1)
|
|
|
- self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_DELETE)
|
|
|
+ if issubclass(instance.__class__, ChangeLoggingMixin):
|
|
|
+ objectchanges = ObjectChange.objects.filter(
|
|
|
+ changed_object_type=ContentType.objects.get_for_model(instance),
|
|
|
+ changed_object_id=instance.pk
|
|
|
+ )
|
|
|
+ self.assertEqual(len(objectchanges), 1)
|
|
|
+ self.assertEqual(objectchanges[0].action, ObjectChangeActionChoices.ACTION_DELETE)
|
|
|
|
|
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
|
|
def test_delete_object_with_constrained_permission(self):
|