mirror of
https://github.com/inventree/InvenTree.git
synced 2025-09-13 14:11:37 +00:00
fix(backend): re-add active plugins to anon status (#10282)
* this was disabled due to wrong feedback by me, common debug tools do not work because of this * patch tests * make mfa test more robust
This commit is contained in:
@@ -305,8 +305,8 @@ class InfoView(APIView):
|
|||||||
'login_message': helpers.getCustomOption('login_message'),
|
'login_message': helpers.getCustomOption('login_message'),
|
||||||
'navbar_message': helpers.getCustomOption('navbar_message'),
|
'navbar_message': helpers.getCustomOption('navbar_message'),
|
||||||
},
|
},
|
||||||
|
'active_plugins': plugins_info(),
|
||||||
# Following fields are only available to staff users
|
# Following fields are only available to staff users
|
||||||
'active_plugins': plugins_info() if is_staff else None,
|
|
||||||
'system_health': check_system_health() if is_staff else None,
|
'system_health': check_system_health() if is_staff else None,
|
||||||
'database': InvenTree.version.inventreeDatabase() if is_staff else None,
|
'database': InvenTree.version.inventreeDatabase() if is_staff else None,
|
||||||
'platform': InvenTree.version.inventreePlatform() if is_staff else None,
|
'platform': InvenTree.version.inventreePlatform() if is_staff else None,
|
||||||
|
@@ -605,9 +605,7 @@ class GeneralApiTests(InvenTreeAPITestCase):
|
|||||||
response = self.get(url, max_query_count=20)
|
response = self.get(url, max_query_count=20)
|
||||||
data = response.json()
|
data = response.json()
|
||||||
self.assertEqual(data['database'], None)
|
self.assertEqual(data['database'], None)
|
||||||
|
self.assertIsNotNone(data.get('active_plugins'))
|
||||||
# No active plugin info for anon user
|
|
||||||
self.assertIsNone(data.get('active_plugins'))
|
|
||||||
|
|
||||||
# Staff
|
# Staff
|
||||||
response = self.get(
|
response = self.get(
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
"""Unit tests for the 'users' app."""
|
"""Unit tests for the 'users' app."""
|
||||||
|
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.contrib.auth.models import Group
|
from django.contrib.auth.models import Group
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
@@ -349,12 +351,21 @@ class MFALoginTest(InvenTreeAPITestCase):
|
|||||||
response = self.post(login_url, auth_data, expected_code=200)
|
response = self.post(login_url, auth_data, expected_code=200)
|
||||||
self._helper_meta_val(response)
|
self._helper_meta_val(response)
|
||||||
|
|
||||||
# Add MFA
|
# Add MFA - trying in a limited loop in case of timing issues
|
||||||
|
success: bool = False
|
||||||
|
for _ in range(10):
|
||||||
|
try:
|
||||||
response = self.post(
|
response = self.post(
|
||||||
reverse('browser:mfa:manage_totp'),
|
reverse('browser:mfa:manage_totp'),
|
||||||
{'code': self.get_topt()},
|
{'code': self.get_topt()},
|
||||||
expected_code=200,
|
expected_code=200,
|
||||||
)
|
)
|
||||||
|
success = True
|
||||||
|
break
|
||||||
|
except AssertionError:
|
||||||
|
sleep(0.8)
|
||||||
|
self.assertTrue(success, 'Failed to add MFA device')
|
||||||
|
|
||||||
# There must be a TOTP device now - success
|
# There must be a TOTP device now - success
|
||||||
self.get(reverse('browser:mfa:manage_totp'), expected_code=200)
|
self.get(reverse('browser:mfa:manage_totp'), expected_code=200)
|
||||||
self.get(reverse('api-token'), expected_code=200)
|
self.get(reverse('api-token'), expected_code=200)
|
||||||
|
Reference in New Issue
Block a user