From 33f7d59148e8331c319056d9ae2175bfb54c5443 Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 24 Jul 2023 20:10:14 +0700 Subject: [PATCH] 13044 add tests --- netbox/users/forms/model_forms.py | 7 +++++ netbox/users/tests/test_views.py | 52 +++++++++++++++++++++++++++++++ netbox/users/urls.py | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/netbox/users/forms/model_forms.py b/netbox/users/forms/model_forms.py index 55593c8aa..7af2d1654 100644 --- a/netbox/users/forms/model_forms.py +++ b/netbox/users/forms/model_forms.py @@ -151,6 +151,12 @@ class UserTokenForm(BootstrapMixin, forms.ModelForm): key = forms.CharField( label=_('Key'), required=False, help_text=_("If no key is provided, one will be generated automatically.") ) + user = forms.ModelChoiceField( + queryset=get_user_model().objects.order_by( + 'username' + ), + required=False + ) allowed_ips = SimpleArrayField( base_field=IPNetworkFormField(validators=[prefix_validator]), required=False, @@ -165,6 +171,7 @@ class UserTokenForm(BootstrapMixin, forms.ModelForm): model = Token fields = [ 'key', + 'user', 'write_enabled', 'expires', 'description', diff --git a/netbox/users/tests/test_views.py b/netbox/users/tests/test_views.py index ca62f474e..742d64cf7 100644 --- a/netbox/users/tests/test_views.py +++ b/netbox/users/tests/test_views.py @@ -149,3 +149,55 @@ class ObjectPermissionTestCase( cls.bulk_edit_data = { 'description': 'New description', } + + +class TokenTestCase( + ViewTestCases.GetObjectViewTestCase, + ViewTestCases.CreateObjectViewTestCase, + ViewTestCases.EditObjectViewTestCase, + ViewTestCases.DeleteObjectViewTestCase, + ViewTestCases.ListObjectsViewTestCase, + ViewTestCases.BulkImportObjectsViewTestCase, + ViewTestCases.BulkEditObjectsViewTestCase, + ViewTestCases.BulkDeleteObjectsViewTestCase, +): + model = UserToken + maxDiff = None + + @classmethod + def setUpTestData(cls): + users = ( + NetBoxUser(username='username1', first_name='first1', last_name='last1', email='user1@foo.com', password='pass1xxx'), + NetBoxUser(username='username2', first_name='first2', last_name='last2', email='user2@foo.com', password='pass2xxx'), + ) + NetBoxUser.objects.bulk_create(users) + + tokens = ( + UserToken(key='12345679012345678901234567890123456789A', user=users[0]), + UserToken(key='12345679012345678901234567890123456789B', user=users[0]), + UserToken(key='12345679012345678901234567890123456789C', user=users[1]), + ) + UserToken.objects.bulk_create(tokens) + + cls.form_data = { + 'user': users[0].pk, + 'description': 'testdescription', + } + + cls.csv_data = ( + "key,user,description", + f"12345679012345678901234567890123456789D,{users[0]},testdescriptionD", + f"12345679012345678901234567890123456789D,{users[1]},testdescriptionE", + f"12345679012345678901234567890123456789D,{users[1]},testdescriptionF", + ) + + cls.csv_update_data = ( + "id,description", + f"{tokens[0].pk},testdescriptionH", + f"{tokens[1].pk},testdescriptionI", + f"{tokens[2].pk},testdescriptionJ", + ) + + cls.bulk_edit_data = { + 'description': 'newdescription', + } diff --git a/netbox/users/urls.py b/netbox/users/urls.py index 787f95d59..131f05a89 100644 --- a/netbox/users/urls.py +++ b/netbox/users/urls.py @@ -19,7 +19,7 @@ urlpatterns = [ path('user-tokens/', views.UserTokenListView.as_view(), name='usertoken_list'), path('user-tokens/add/', views.UserTokenEditView.as_view(), name='usertoken_add'), path('user-tokens/import/', views.UserTokenBulkImportView.as_view(), name='usertoken_import'), - path('user-tokens/edit/', views.UserTokenBulkEditView.as_view(), name='user_tokenbulk_edit'), + path('user-tokens/edit/', views.UserTokenBulkEditView.as_view(), name='usertoken_bulk_edit'), path('user-tokens/delete/', views.UserTokenBulkDeleteView.as_view(), name='usertoken_bulk_delete'), path('user-tokens//', include(get_model_urls('users', 'usertoken'))),