mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* Introduce the DEFAULT_PERMISSIONS config parameter * Establish default permissions for user token management
This commit is contained in:
@ -4,7 +4,7 @@ from django.contrib.contenttypes.models import ContentType
|
||||
from django.urls import reverse
|
||||
|
||||
from users.models import ObjectPermission, Token
|
||||
from utilities.testing import APIViewTestCases, APITestCase
|
||||
from utilities.testing import APIViewTestCases, APITestCase, create_test_user
|
||||
from utilities.utils import deepmerge
|
||||
|
||||
|
||||
@ -105,24 +105,35 @@ class TokenTest(
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
# Apply grant_token permission to enable the creation of Tokens for other Users
|
||||
self.add_permissions('users.grant_token')
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
users = (
|
||||
create_test_user('User 1'),
|
||||
create_test_user('User 2'),
|
||||
create_test_user('User 3'),
|
||||
)
|
||||
|
||||
tokens = (
|
||||
# We already start with one Token, created by the test class
|
||||
Token(user=self.user),
|
||||
Token(user=self.user),
|
||||
Token(user=users[0]),
|
||||
Token(user=users[1]),
|
||||
Token(user=users[2]),
|
||||
)
|
||||
# Use save() instead of bulk_create() to ensure keys get automatically generated
|
||||
for token in tokens:
|
||||
token.save()
|
||||
|
||||
self.create_data = [
|
||||
cls.create_data = [
|
||||
{
|
||||
'user': self.user.pk,
|
||||
'user': users[0].pk,
|
||||
},
|
||||
{
|
||||
'user': self.user.pk,
|
||||
'user': users[1].pk,
|
||||
},
|
||||
{
|
||||
'user': self.user.pk,
|
||||
'user': users[2].pk,
|
||||
},
|
||||
]
|
||||
|
||||
@ -161,6 +172,9 @@ class TokenTest(
|
||||
"""
|
||||
Test provisioning a Token for a different User with & without the grant_token permission.
|
||||
"""
|
||||
# Clear grant_token permission assigned by setUpTestData
|
||||
ObjectPermission.objects.filter(users=self.user).delete()
|
||||
|
||||
self.add_permissions('users.add_token')
|
||||
user2 = User.objects.create_user(username='testuser2')
|
||||
data = {
|
||||
|
Reference in New Issue
Block a user