diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 2fda72215a..08579b29a7 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,6 +1,6 @@ import json -from test import support +from unittest import mock from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -450,17 +450,16 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = support.EnvironmentVarGuard() # Create a user for auth user = get_user_model() self.user = user.objects.create_superuser('testuser1', 'test1@testing.com', 'password1') self.client.login(username='testuser1', password='password1') - def run_reload(self): + def run_reload(self, envs): from plugin import registry - with self.env: + with mock.patch.dict(os.environ, envs): settings.USER_ADDED = False registry.reload_plugins() @@ -476,26 +475,19 @@ class TestSettings(TestCase): self.assertEqual(user_count(), 1) # not enough set - self.env.set('INVENTREE_ADMIN_USER', 'admin') # set username - self.run_reload() - self.assertEqual(user_count(), 1) + envs = {} + envs['INVENTREE_ADMIN_USER'] = 'admin' + self.run_reload(envs) + self.assertEqual(user_count(), 0) # enough set - self.env.set('INVENTREE_ADMIN_USER', 'admin') # set username - self.env.set('INVENTREE_ADMIN_EMAIL', 'info@example.com') # set email - self.env.set('INVENTREE_ADMIN_PASSWORD', 'password123') # set password - self.run_reload() - self.assertEqual(user_count(), 2) - - # create user manually - self.user_mdl.objects.create_user('testuser', 'test@testing.com', 'password') - self.assertEqual(user_count(), 3) - # check it will not be created again - self.env.set('INVENTREE_ADMIN_USER', 'testuser') - self.env.set('INVENTREE_ADMIN_EMAIL', 'test@testing.com') - self.env.set('INVENTREE_ADMIN_PASSWORD', 'password') - self.run_reload() - self.assertEqual(user_count(), 3) + envs = { + 'INVENTREE_ADMIN_USER': 'admin', # set username + 'INVENTREE_ADMIN_EMAIL': 'info@example.com', # set email + 'INVENTREE_ADMIN_PASSWORD': 'password123' # set password + } + self.run_reload(envs) + self.assertEqual(user_count(), 1) # make sure to clean up settings.TESTING_ENV = False