mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Update tests to use proxy model
This commit is contained in:
@ -1,16 +1,12 @@
|
|||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.contrib.auth.models import Group
|
from django.contrib.auth.models import Group
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from users.models import ObjectPermission, Token
|
from users.models import ObjectPermission, Token, NetBoxUser
|
||||||
from utilities.testing import APIViewTestCases, APITestCase, create_test_user
|
from utilities.testing import APIViewTestCases, APITestCase, create_test_user
|
||||||
from utilities.utils import deepmerge
|
from utilities.utils import deepmerge
|
||||||
|
|
||||||
|
|
||||||
User = get_user_model()
|
|
||||||
|
|
||||||
|
|
||||||
class AppTest(APITestCase):
|
class AppTest(APITestCase):
|
||||||
|
|
||||||
def test_root(self):
|
def test_root(self):
|
||||||
@ -22,7 +18,7 @@ class AppTest(APITestCase):
|
|||||||
|
|
||||||
|
|
||||||
class UserTest(APIViewTestCases.APIViewTestCase):
|
class UserTest(APIViewTestCases.APIViewTestCase):
|
||||||
model = User
|
model = NetBoxUser
|
||||||
view_namespace = 'users'
|
view_namespace = 'users'
|
||||||
brief_fields = ['display', 'id', 'url', 'username']
|
brief_fields = ['display', 'id', 'url', 'username']
|
||||||
validation_excluded_fields = ['password']
|
validation_excluded_fields = ['password']
|
||||||
@ -48,11 +44,11 @@ class UserTest(APIViewTestCases.APIViewTestCase):
|
|||||||
def setUpTestData(cls):
|
def setUpTestData(cls):
|
||||||
|
|
||||||
users = (
|
users = (
|
||||||
User(username='User_1', password='password1'),
|
NetBoxUser(username='User_1', password='password1'),
|
||||||
User(username='User_2', password='password2'),
|
NetBoxUser(username='User_2', password='password2'),
|
||||||
User(username='User_3', password='password3'),
|
NetBoxUser(username='User_3', password='password3'),
|
||||||
)
|
)
|
||||||
User.objects.bulk_create(users)
|
NetBoxUser.objects.bulk_create(users)
|
||||||
|
|
||||||
def test_that_password_is_changed(self):
|
def test_that_password_is_changed(self):
|
||||||
"""
|
"""
|
||||||
@ -71,7 +67,7 @@ class UserTest(APIViewTestCases.APIViewTestCase):
|
|||||||
'username': 'user1',
|
'username': 'user1',
|
||||||
'password': 'abc123',
|
'password': 'abc123',
|
||||||
}
|
}
|
||||||
user = User.objects.create_user(**user_credentials)
|
user = NetBoxUser.objects.create_user(**user_credentials)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'password': 'newpassword'
|
'password': 'newpassword'
|
||||||
@ -82,7 +78,7 @@ class UserTest(APIViewTestCases.APIViewTestCase):
|
|||||||
|
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
updated_user = User.objects.get(id=user.id)
|
updated_user = NetBoxUser.objects.get(id=user.id)
|
||||||
|
|
||||||
self.assertTrue(updated_user.check_password(data['password']))
|
self.assertTrue(updated_user.check_password(data['password']))
|
||||||
|
|
||||||
@ -177,7 +173,7 @@ class TokenTest(
|
|||||||
'username': 'user1',
|
'username': 'user1',
|
||||||
'password': 'abc123',
|
'password': 'abc123',
|
||||||
}
|
}
|
||||||
user = User.objects.create_user(**user_credentials)
|
user = NetBoxUser.objects.create_user(**user_credentials)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
**user_credentials,
|
**user_credentials,
|
||||||
@ -216,7 +212,7 @@ class TokenTest(
|
|||||||
ObjectPermission.objects.filter(users=self.user).delete()
|
ObjectPermission.objects.filter(users=self.user).delete()
|
||||||
|
|
||||||
self.add_permissions('users.add_token')
|
self.add_permissions('users.add_token')
|
||||||
user2 = User.objects.create_user(username='testuser2')
|
user2 = NetBoxUser.objects.create_user(username='testuser2')
|
||||||
data = {
|
data = {
|
||||||
'user': user2.id,
|
'user': user2.id,
|
||||||
}
|
}
|
||||||
@ -254,11 +250,11 @@ class ObjectPermissionTest(
|
|||||||
Group.objects.bulk_create(groups)
|
Group.objects.bulk_create(groups)
|
||||||
|
|
||||||
users = (
|
users = (
|
||||||
User(username='User 1', is_active=True),
|
NetBoxUser(username='User 1', is_active=True),
|
||||||
User(username='User 2', is_active=True),
|
NetBoxUser(username='User 2', is_active=True),
|
||||||
User(username='User 3', is_active=True),
|
NetBoxUser(username='User 3', is_active=True),
|
||||||
)
|
)
|
||||||
User.objects.bulk_create(users)
|
NetBoxUser.objects.bulk_create(users)
|
||||||
|
|
||||||
object_type = ContentType.objects.get(app_label='dcim', model='device')
|
object_type = ContentType.objects.get(app_label='dcim', model='device')
|
||||||
|
|
||||||
|
@ -1,20 +1,17 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.contrib.auth.models import Group
|
from django.contrib.auth.models import Group
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils.timezone import make_aware
|
from django.utils.timezone import make_aware
|
||||||
|
|
||||||
from users import filtersets
|
from users import filtersets
|
||||||
from users.models import ObjectPermission, Token
|
from users.models import ObjectPermission, Token, NetBoxUser
|
||||||
from utilities.testing import BaseFilterSetTests
|
from utilities.testing import BaseFilterSetTests
|
||||||
|
|
||||||
User = get_user_model()
|
|
||||||
|
|
||||||
|
|
||||||
class UserTestCase(TestCase, BaseFilterSetTests):
|
class UserTestCase(TestCase, BaseFilterSetTests):
|
||||||
queryset = User.objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
filterset = filtersets.UserFilterSet
|
filterset = filtersets.UserFilterSet
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -28,7 +25,7 @@ class UserTestCase(TestCase, BaseFilterSetTests):
|
|||||||
Group.objects.bulk_create(groups)
|
Group.objects.bulk_create(groups)
|
||||||
|
|
||||||
users = (
|
users = (
|
||||||
User(
|
NetBoxUser(
|
||||||
username='User1',
|
username='User1',
|
||||||
first_name='Hank',
|
first_name='Hank',
|
||||||
last_name='Hill',
|
last_name='Hill',
|
||||||
@ -36,32 +33,32 @@ class UserTestCase(TestCase, BaseFilterSetTests):
|
|||||||
is_staff=True,
|
is_staff=True,
|
||||||
is_superuser=True
|
is_superuser=True
|
||||||
),
|
),
|
||||||
User(
|
NetBoxUser(
|
||||||
username='User2',
|
username='User2',
|
||||||
first_name='Dale',
|
first_name='Dale',
|
||||||
last_name='Gribble',
|
last_name='Gribble',
|
||||||
email='dale@dalesdeadbug.com'
|
email='dale@dalesdeadbug.com'
|
||||||
),
|
),
|
||||||
User(
|
NetBoxUser(
|
||||||
username='User3',
|
username='User3',
|
||||||
first_name='Bill',
|
first_name='Bill',
|
||||||
last_name='Dauterive',
|
last_name='Dauterive',
|
||||||
email='bill.dauterive@army.mil'
|
email='bill.dauterive@army.mil'
|
||||||
),
|
),
|
||||||
User(
|
NetBoxUser(
|
||||||
username='User4',
|
username='User4',
|
||||||
first_name='Jeff',
|
first_name='Jeff',
|
||||||
last_name='Boomhauer',
|
last_name='Boomhauer',
|
||||||
email='boomhauer@dangolemail.com'
|
email='boomhauer@dangolemail.com'
|
||||||
),
|
),
|
||||||
User(
|
NetBoxUser(
|
||||||
username='User5',
|
username='User5',
|
||||||
first_name='Debbie',
|
first_name='Debbie',
|
||||||
last_name='Grund',
|
last_name='Grund',
|
||||||
is_active=False
|
is_active=False
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
User.objects.bulk_create(users)
|
NetBoxUser.objects.bulk_create(users)
|
||||||
|
|
||||||
users[0].groups.set([groups[0]])
|
users[0].groups.set([groups[0]])
|
||||||
users[1].groups.set([groups[1]])
|
users[1].groups.set([groups[1]])
|
||||||
@ -145,11 +142,11 @@ class ObjectPermissionTestCase(TestCase, BaseFilterSetTests):
|
|||||||
Group.objects.bulk_create(groups)
|
Group.objects.bulk_create(groups)
|
||||||
|
|
||||||
users = (
|
users = (
|
||||||
User(username='User1'),
|
NetBoxUser(username='User1'),
|
||||||
User(username='User2'),
|
NetBoxUser(username='User2'),
|
||||||
User(username='User3'),
|
NetBoxUser(username='User3'),
|
||||||
)
|
)
|
||||||
User.objects.bulk_create(users)
|
NetBoxUser.objects.bulk_create(users)
|
||||||
|
|
||||||
object_types = (
|
object_types = (
|
||||||
ContentType.objects.get(app_label='dcim', model='site'),
|
ContentType.objects.get(app_label='dcim', model='site'),
|
||||||
@ -192,7 +189,7 @@ class ObjectPermissionTestCase(TestCase, BaseFilterSetTests):
|
|||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
def test_user(self):
|
def test_user(self):
|
||||||
users = User.objects.filter(username__in=['User1', 'User2'])
|
users = NetBoxUser.objects.filter(username__in=['User1', 'User2'])
|
||||||
params = {'user_id': [users[0].pk, users[1].pk]}
|
params = {'user_id': [users[0].pk, users[1].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'user': [users[0].username, users[1].username]}
|
params = {'user': [users[0].username, users[1].username]}
|
||||||
@ -232,11 +229,11 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
|
|||||||
def setUpTestData(cls):
|
def setUpTestData(cls):
|
||||||
|
|
||||||
users = (
|
users = (
|
||||||
User(username='User1'),
|
NetBoxUser(username='User1'),
|
||||||
User(username='User2'),
|
NetBoxUser(username='User2'),
|
||||||
User(username='User3'),
|
NetBoxUser(username='User3'),
|
||||||
)
|
)
|
||||||
User.objects.bulk_create(users)
|
NetBoxUser.objects.bulk_create(users)
|
||||||
|
|
||||||
future_date = make_aware(datetime.datetime(3000, 1, 1))
|
future_date = make_aware(datetime.datetime(3000, 1, 1))
|
||||||
past_date = make_aware(datetime.datetime(2000, 1, 1))
|
past_date = make_aware(datetime.datetime(2000, 1, 1))
|
||||||
@ -252,7 +249,7 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
|
|||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
||||||
|
|
||||||
def test_user(self):
|
def test_user(self):
|
||||||
users = User.objects.order_by('id')[:2]
|
users = NetBoxUser.objects.order_by('id')[:2]
|
||||||
params = {'user_id': [users[0].pk, users[1].pk]}
|
params = {'user_id': [users[0].pk, users[1].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'user': [users[0].username, users[1].username]}
|
params = {'user': [users[0].username, users[1].username]}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from users.models import NetBoxUser
|
||||||
User = get_user_model()
|
|
||||||
|
|
||||||
|
|
||||||
class UserConfigTest(TestCase):
|
class UserConfigTest(TestCase):
|
||||||
@ -10,7 +8,7 @@ class UserConfigTest(TestCase):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def setUpTestData(cls):
|
def setUpTestData(cls):
|
||||||
|
|
||||||
user = User.objects.create_user(username='testuser')
|
user = NetBoxUser.objects.create_user(username='testuser')
|
||||||
user.config.data = {
|
user.config.data = {
|
||||||
'a': True,
|
'a': True,
|
||||||
'b': {
|
'b': {
|
||||||
@ -32,7 +30,7 @@ class UserConfigTest(TestCase):
|
|||||||
user.config.save()
|
user.config.save()
|
||||||
|
|
||||||
def test_get(self):
|
def test_get(self):
|
||||||
userconfig = User.objects.get(username='testuser').config
|
userconfig = NetBoxUser.objects.get(username='testuser').config
|
||||||
|
|
||||||
# Retrieve root and nested values
|
# Retrieve root and nested values
|
||||||
self.assertEqual(userconfig.get('a'), True)
|
self.assertEqual(userconfig.get('a'), True)
|
||||||
@ -52,7 +50,7 @@ class UserConfigTest(TestCase):
|
|||||||
self.assertEqual(userconfig.get('b.foo.x.invalid', 'DEFAULT'), 'DEFAULT')
|
self.assertEqual(userconfig.get('b.foo.x.invalid', 'DEFAULT'), 'DEFAULT')
|
||||||
|
|
||||||
def test_all(self):
|
def test_all(self):
|
||||||
userconfig = User.objects.get(username='testuser').config
|
userconfig = NetBoxUser.objects.get(username='testuser').config
|
||||||
flattened_data = {
|
flattened_data = {
|
||||||
'a': True,
|
'a': True,
|
||||||
'b.foo': 101,
|
'b.foo': 101,
|
||||||
@ -66,7 +64,7 @@ class UserConfigTest(TestCase):
|
|||||||
self.assertEqual(userconfig.all(), flattened_data)
|
self.assertEqual(userconfig.all(), flattened_data)
|
||||||
|
|
||||||
def test_set(self):
|
def test_set(self):
|
||||||
userconfig = User.objects.get(username='testuser').config
|
userconfig = NetBoxUser.objects.get(username='testuser').config
|
||||||
|
|
||||||
# Overwrite existing values
|
# Overwrite existing values
|
||||||
userconfig.set('a', 'abc')
|
userconfig.set('a', 'abc')
|
||||||
@ -95,7 +93,7 @@ class UserConfigTest(TestCase):
|
|||||||
userconfig.set('a.x', 1)
|
userconfig.set('a.x', 1)
|
||||||
|
|
||||||
def test_clear(self):
|
def test_clear(self):
|
||||||
userconfig = User.objects.get(username='testuser').config
|
userconfig = NetBoxUser.objects.get(username='testuser').config
|
||||||
|
|
||||||
# Clear existing values
|
# Clear existing values
|
||||||
userconfig.clear('a')
|
userconfig.clear('a')
|
||||||
|
@ -5,6 +5,7 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from dcim.models import Site
|
from dcim.models import Site
|
||||||
from dcim.tables import SiteTable
|
from dcim.tables import SiteTable
|
||||||
|
from users.models import NetBoxUser
|
||||||
from users.preferences import UserPreference
|
from users.preferences import UserPreference
|
||||||
from utilities.testing import TestCase
|
from utilities.testing import TestCase
|
||||||
|
|
||||||
@ -16,9 +17,6 @@ DEFAULT_USER_PREFERENCES = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
User = get_user_model()
|
|
||||||
|
|
||||||
|
|
||||||
class UserPreferencesTest(TestCase):
|
class UserPreferencesTest(TestCase):
|
||||||
user_permissions = ['dcim.view_site']
|
user_permissions = ['dcim.view_site']
|
||||||
|
|
||||||
@ -42,7 +40,7 @@ class UserPreferencesTest(TestCase):
|
|||||||
|
|
||||||
@override_settings(DEFAULT_USER_PREFERENCES=DEFAULT_USER_PREFERENCES)
|
@override_settings(DEFAULT_USER_PREFERENCES=DEFAULT_USER_PREFERENCES)
|
||||||
def test_default_preferences(self):
|
def test_default_preferences(self):
|
||||||
user = User.objects.create(username='User 1')
|
user = NetBoxUser.objects.create(username='User 1')
|
||||||
userconfig = user.config
|
userconfig = user.config
|
||||||
|
|
||||||
self.assertEqual(userconfig.data, DEFAULT_USER_PREFERENCES)
|
self.assertEqual(userconfig.data, DEFAULT_USER_PREFERENCES)
|
||||||
|
Reference in New Issue
Block a user