Skip to content

Commit 2035bda

Browse files
committed
fix: use NetBox ObjectPermission for add-only user tests
Django's built-in user_permissions.add() does not work with NetBox's ObjectPermissionRequiredMixin. Create an ObjectPermission with actions=["add"] instead.
1 parent 3ca6d09 commit 2035bda

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

netbox_interface_name_rules/tests/test_views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -409,15 +409,15 @@ def _url(self):
409409
return reverse("plugins:netbox_interface_name_rules:interfacenamerule_test")
410410

411411
def _create_add_only_user(self):
412-
from django.contrib.auth.models import Permission
413412
from django.contrib.contenttypes.models import ContentType
413+
from users.models import ObjectPermission
414414

415415
user = User.objects.create_user(username="add_only_tester", password=TEST_PASSWORD)
416416
ct = ContentType.objects.get_for_model(InterfaceNameRule)
417-
perm = Permission.objects.get(content_type=ct, codename="add_interfacenamerule")
418-
user.user_permissions.add(perm)
419-
# Re-fetch to clear Django's permission cache on the User instance.
420-
return User.objects.get(pk=user.pk)
417+
obj_perm = ObjectPermission.objects.create(name="add_only_rule", actions=["add"])
418+
obj_perm.object_types.add(ct)
419+
obj_perm.users.add(user)
420+
return user
421421

422422
def test_get_with_rule_id_add_only_shows_blank_form_with_warning(self):
423423
"""GET with ?rule_id= when user has add but not view permission returns blank form."""

0 commit comments

Comments
 (0)