From 495798dc98e5f3154db4b8e4b5f7cb2c664ee9ed Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:20:12 +1000 Subject: [PATCH 01/23] Install libwebp-dev as part of dockerfile --- docker/Dockerfile | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index cefd2c2b61..4c6a351adc 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -62,7 +62,7 @@ RUN apk -U upgrade RUN apk add --no-cache git make bash \ gcc libgcc g++ libstdc++ \ gnupg \ - libjpeg-turbo libjpeg-turbo-dev jpeg jpeg-dev \ + libjpeg-turbo libjpeg-turbo-dev jpeg jpeg-dev libwebp-dev \ libffi libffi-dev \ zlib zlib-dev \ # Special deps for WeasyPrint (these will be deprecated once WeasyPrint drops cairo requirement) diff --git a/requirements.txt b/requirements.txt index 5065b4f877..2369b18b44 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,7 +38,7 @@ importlib_metadata # Backport for importlib.metadata inventree # Install the latest version of the InvenTree API python library markdown==3.3.4 # Force particular version of markdown pep8-naming==0.11.1 # PEP naming convention extension -pillow==9.0.1 # Image manipulation +pillow==9.1.0 # Image manipulation py-moneyed==0.8.0 # Specific version requirement for py-moneyed pygments==2.7.4 # Syntax highlighting python-barcode[images]==0.13.1 # Barcode generator From 55f87033b25fd9e684c1d53ba281b09f1cc5ccf9 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:36:41 +1000 Subject: [PATCH 02/23] Add unit tests for .webp support --- InvenTree/part/test_api.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index f0770eb1f5..4e4162341a 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -970,24 +970,29 @@ class PartDetailTests(InvenTreeAPITestCase): ) self.assertEqual(response.status_code, 400) + self.assertIn('Upload a valid image', str(response.data)) - # Now try to upload a valid image file - img = PIL.Image.new('RGB', (128, 128), color='red') - img.save('dummy_image.jpg') + # Now try to upload a valid image file, in multiple formats + for fmt in ['jpg', 'png', 'bmp', 'webp']: + fn = f'dummy_image.{fmt}' - with open('dummy_image.jpg', 'rb') as dummy_image: - response = upload_client.patch( - url, - { - 'image': dummy_image, - }, - format='multipart', - ) + img = PIL.Image.new('RGB', (128, 128), color='red') + img.save(fn) - self.assertEqual(response.status_code, 200) + with open(fn, 'rb') as dummy_image: + response = upload_client.patch( + url, + { + 'image': dummy_image, + }, + format='multipart', + ) - # And now check that the image has been set - p = Part.objects.get(pk=pk) + self.assertEqual(response.status_code, 200) + + # And now check that the image has been set + p = Part.objects.get(pk=pk) + self.assertIsNotNone(p.image) def test_details(self): """ From 47269a88d2d04dc2457e5b6bb7f17c3868595640 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 May 2022 23:37:01 +1000 Subject: [PATCH 03/23] Ensure unit tests are run within a docker context as part of CI builds --- .github/workflows/docker_test.yaml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index d96621ee66..69fbb48fe7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -3,9 +3,8 @@ # This CI action runs on pushes to either the master or stable branches # 1. Build the development docker image (as per the documentation) -# 2. Install requied python libs into the docker container -# 3. Launch the container -# 4. Check that the API endpoint is available +# 2. Launch the development server, and update the installation +# 3. Run unit tests within the docker context name: Docker Test @@ -15,6 +14,10 @@ on: - 'master' - 'stable' + pull_request: + branches-ignore: + - l10* + jobs: docker: @@ -26,12 +29,14 @@ jobs: - name: Build Docker Image run: | cd docker - docker-compose -f docker-compose.sqlite.yml build - docker-compose -f docker-compose.sqlite.yml run inventree-dev-server invoke update - docker-compose -f docker-compose.sqlite.yml up -d - - name: Sleepy Time - run: sleep 60 - - name: Test API + docker-compose build + docker-compose run inventree-dev-server invoke update + docker-compose up -d + - name: Wait for Server run: | - pip install requests - python3 ci/check_api_endpoint.py + cd docker + docker-compose run inventree-dev-server invoke wait + - name: Run unit tests + run: | + cd docker + docker-compose run inventree-dev-server invoke test From 206da0232867c8f3b0574649012c8d4337640e4b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 00:21:05 +1000 Subject: [PATCH 04/23] Skip some git hash checks if running tests under docker --- InvenTree/part/test_part.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 5932c36757..2241b68c0d 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals from allauth.account.models import EmailAddress +from django.conf import settings from django.contrib.auth import get_user_model from django.test import TestCase @@ -67,11 +68,21 @@ class TemplateTagTest(TestCase): def test_hash(self): result_hash = inventree_extras.inventree_commit_hash() - self.assertGreater(len(result_hash), 5) + if settings.DOCKER: + # Testing inside docker environment *may* return an empty git commit hash + # In such a case, skip this check + pass + else: + self.assertGreater(len(result_hash), 5) def test_date(self): d = inventree_extras.inventree_commit_date() - self.assertEqual(len(d.split('-')), 3) + if settings.DOCKER: + # Testing inside docker environment *may* return an empty git commit hash + # In such a case, skip this check + pass + else: + self.assertEqual(len(d.split('-')), 3) def test_github(self): self.assertIn('github.com', inventree_extras.inventree_github_url()) From 7e6d3d81b99e9d741056a3f22dba50df20d08de4 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 16 May 2022 21:47:09 +1000 Subject: [PATCH 05/23] Update dockerfile to 3.14 --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 4c6a351adc..1b7c16db30 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.13 as base +FROM alpine:3.14 as base # GitHub source ARG repository="https://github.com/inventree/InvenTree.git" @@ -68,7 +68,7 @@ RUN apk add --no-cache git make bash \ # Special deps for WeasyPrint (these will be deprecated once WeasyPrint drops cairo requirement) cairo cairo-dev pango pango-dev gdk-pixbuf \ # Fonts - fontconfig ttf-droid ttf-liberation ttf-dejavu ttf-opensans ttf-ubuntu-font-family font-croscore font-noto \ + fontconfig ttf-droid ttf-liberation ttf-dejavu ttf-opensans font-croscore font-noto \ # Core python python3 python3-dev py3-pip \ # SQLite support From b630fb285615260b660cefbd3b879d1c74436155 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 16 May 2022 16:41:00 +0200 Subject: [PATCH 06/23] update envguard import --- InvenTree/InvenTree/tests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index dc3aff85e6..97bd77a1e1 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,5 +1,6 @@ import json -from test.support import EnvironmentVarGuard + +from test import support from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -449,7 +450,7 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = EnvironmentVarGuard() + self.env = support.EnvironmentVarGuard() def run_reload(self): from plugin import registry From 825c50a43808b62b5bdd13ee3ca57dc8688859e8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 17 May 2022 08:40:43 +1000 Subject: [PATCH 07/23] Change import style --- InvenTree/InvenTree/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index dc3aff85e6..5ec8a863bc 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,5 +1,5 @@ import json -from test.support import EnvironmentVarGuard +from test import support from django.test import TestCase, override_settings import django.core.exceptions as django_exceptions @@ -449,7 +449,7 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = EnvironmentVarGuard() + self.env = support.EnvironmentVarGuard() def run_reload(self): from plugin import registry From a40f189c7a6e2687306f15648e0d34d17a2bbfcd Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 17 May 2022 19:23:50 +0200 Subject: [PATCH 08/23] Use unierest mock for env setting --- InvenTree/InvenTree/tests.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 97bd77a1e1..e1e2900d1c 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,12 +450,11 @@ class TestSettings(TestCase): def setUp(self) -> None: self.user_mdl = get_user_model() - self.env = support.EnvironmentVarGuard() - 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() @@ -471,15 +470,17 @@ class TestSettings(TestCase): self.assertEqual(user_count(), 0) # not enough set - self.env.set('INVENTREE_ADMIN_USER', 'admin') # set username - self.run_reload() + 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() + 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 From 6e19187929fa19334c571f43be76528e9719792b Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:01:25 +0200 Subject: [PATCH 09/23] add missing import --- InvenTree/InvenTree/tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 08579b29a7..c569310049 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -1,4 +1,5 @@ import json +import os from unittest import mock From 9f0b00cc0eaace16a9ca609168c8aa94d102c7ca Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:01:52 +0200 Subject: [PATCH 10/23] replace old function --- InvenTree/InvenTree/tests.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index c569310049..09bbe569ce 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -514,8 +514,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) # with env set - with self.env: - self.env.set('INVENTREE_CONFIG_FILE', 'my_special_conf.yaml') + with mock.patch.dict(os.environ, {'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) def test_helpers_plugin_file(self): @@ -523,8 +522,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) # with env set - with self.env: - self.env.set('INVENTREE_PLUGIN_FILE', 'my_special_plugins.txt') + with mock.patch.dict(os.environ, {'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): self.assertIn('my_special_plugins.txt', config.get_plugin_file()) def test_helpers_setting(self): @@ -533,8 +531,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with self.env: - self.env.set(TEST_ENV_NAME, '321') + with mock.patch.dict(os.environ, {'TEST_ENV_NAME': '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From ca7fb691acc04a07d5b28aa4f7cec1a924a46953 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:02:14 +0200 Subject: [PATCH 11/23] make change patch simpler --- InvenTree/InvenTree/tests.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 09bbe569ce..6e7b9c5444 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -476,18 +476,17 @@ class TestSettings(TestCase): self.assertEqual(user_count(), 1) # not enough set - envs = {} - envs['INVENTREE_ADMIN_USER'] = 'admin' - self.run_reload(envs) + self.run_reload({ + 'INVENTREE_ADMIN_USER': 'admin' + }) self.assertEqual(user_count(), 0) # enough set - envs = { + self.run_reload({ '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 From a570dab5e5ada31529889abfd6b74113757e46dc Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:04:15 +0200 Subject: [PATCH 12/23] generalise function to make new methods simpler --- InvenTree/InvenTree/tests.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 6e7b9c5444..02c95192df 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -457,10 +457,14 @@ class TestSettings(TestCase): self.user = user.objects.create_superuser('testuser1', 'test1@testing.com', 'password1') self.client.login(username='testuser1', password='password1') + def in_env_context(self, envs={}): + """Patch the env to include the given dict""" + return mock.patch.dict(os.environ, envs) + def run_reload(self, envs): from plugin import registry - with mock.patch.dict(os.environ, envs): + with self.in_env_context(envs): settings.USER_ADDED = False registry.reload_plugins() @@ -513,7 +517,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) # with env set - with mock.patch.dict(os.environ, {'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): + with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) def test_helpers_plugin_file(self): @@ -521,7 +525,7 @@ class TestSettings(TestCase): self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) # with env set - with mock.patch.dict(os.environ, {'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): + with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): self.assertIn('my_special_plugins.txt', config.get_plugin_file()) def test_helpers_setting(self): @@ -530,7 +534,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with mock.patch.dict(os.environ, {'TEST_ENV_NAME': '321'}): + with self.in_env_context({'TEST_ENV_NAME': '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From 9b377608568df1fa9b81a47d33127c43d670f2cb Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:06:00 +0200 Subject: [PATCH 13/23] fix assertations --- InvenTree/InvenTree/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 02c95192df..f56e9809d0 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -483,7 +483,7 @@ class TestSettings(TestCase): self.run_reload({ 'INVENTREE_ADMIN_USER': 'admin' }) - self.assertEqual(user_count(), 0) + self.assertEqual(user_count(), 1) # enough set self.run_reload({ @@ -491,7 +491,7 @@ class TestSettings(TestCase): 'INVENTREE_ADMIN_EMAIL': 'info@example.com', # set email 'INVENTREE_ADMIN_PASSWORD': 'password123' # set password }) - self.assertEqual(user_count(), 1) + self.assertEqual(user_count(), 2) # make sure to clean up settings.TESTING_ENV = False From 4ac7d9626c176493e5c8b4baec5a473609924e4d Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:07:28 +0200 Subject: [PATCH 14/23] add missing test from merge back in --- InvenTree/InvenTree/tests.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f56e9809d0..f053a7c27b 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -493,6 +493,17 @@ class TestSettings(TestCase): }) 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.run_reload({ + 'INVENTREE_ADMIN_USER': 'testuser', + 'INVENTREE_ADMIN_EMAIL': 'test@testing.com', + 'INVENTREE_ADMIN_PASSWORD': 'password', + }) + self.assertEqual(user_count(), 3) + # make sure to clean up settings.TESTING_ENV = False From bdf28b72df19fa7b7fa1ddc94977b8438aaf12d7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:25:44 +0200 Subject: [PATCH 15/23] fix default --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f053a7c27b..bad14f8e00 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -461,7 +461,7 @@ class TestSettings(TestCase): """Patch the env to include the given dict""" return mock.patch.dict(os.environ, envs) - def run_reload(self, envs): + def run_reload(self, envs={}): from plugin import registry with self.in_env_context(envs): From 9a0189b6bbfb2a8feda0191a05b0d4da77c71319 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 18 May 2022 02:30:07 +0200 Subject: [PATCH 16/23] fix env name --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index bad14f8e00..1573a4387a 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -545,7 +545,7 @@ class TestSettings(TestCase): self.assertEqual(config.get_setting(TEST_ENV_NAME, None, '123!'), '123!') # with env set - with self.in_env_context({'TEST_ENV_NAME': '321'}): + with self.in_env_context({TEST_ENV_NAME: '321'}): self.assertEqual(config.get_setting(TEST_ENV_NAME, None), '321') From c4208782c5ef8171ae102e4254e77f08df41a7cf Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 18 May 2022 02:31:04 +0200 Subject: [PATCH 17/23] Update docker_test.yaml --- .github/workflows/docker_test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 69fbb48fe7..9b38743ab7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -13,6 +13,7 @@ on: branches: - 'master' - 'stable' + - 'webp-support' pull_request: branches-ignore: From 21750c92d399af82aa738d639ea7c48939a32dc7 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 18 May 2022 02:33:09 +0200 Subject: [PATCH 18/23] remove branch from test --- .github/workflows/docker_test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 9b38743ab7..69fbb48fe7 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -13,7 +13,6 @@ on: branches: - 'master' - 'stable' - - 'webp-support' pull_request: branches-ignore: From 3b53260d751e0ca239e4daa02eefaea167c82c33 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 11:51:14 +1000 Subject: [PATCH 19/23] Allow some variation in unit test --- InvenTree/InvenTree/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 1573a4387a..9ddde26418 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -533,7 +533,13 @@ class TestSettings(TestCase): def test_helpers_plugin_file(self): # normal run - not configured - self.assertIn('InvenTree/InvenTree/plugins.txt', config.get_plugin_file()) + + valid = [ + 'inventree/plugins.txt', + 'inventree/dev/plugins.txt', + ] + + self.assertIn(config.get_plugin_file().lower(), valid) # with env set with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): From e57087de638ccf26851a229946c3727616c4a017 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 12:19:10 +1000 Subject: [PATCH 20/23] Fix unit test --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 9ddde26418..f5f302b917 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -539,7 +539,7 @@ class TestSettings(TestCase): 'inventree/dev/plugins.txt', ] - self.assertIn(config.get_plugin_file().lower(), valid) + self.assertTrue(any([opt in config.get_plugin_file().lower() for opt in valid])) # with env set with self.in_env_context({'INVENTREE_PLUGIN_FILE': 'my_special_plugins.txt'}): From 0f1dd3fe65043a6715ea804a7115e6091ffca4b2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 13:02:23 +1000 Subject: [PATCH 21/23] Same fix for config file test --- InvenTree/InvenTree/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index f5f302b917..5bb6a4aae2 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -525,7 +525,13 @@ class TestSettings(TestCase): def test_helpers_cfg_file(self): # normal run - not configured - self.assertIn('InvenTree/InvenTree/config.yaml', config.get_config_file()) + + valid = [ + 'inventree/config.yaml', + 'inventree/dev/config.yaml', + ] + + self.assertTrue(any([opt in config.get_config_file().lower() for opt in valid])) # with env set with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): From 810671f42383b9860e085bf2811426244d0f3214 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 13:40:57 +1000 Subject: [PATCH 22/23] Yet another fix --- InvenTree/InvenTree/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 5bb6a4aae2..501eed0834 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -535,7 +535,7 @@ class TestSettings(TestCase): # with env set with self.in_env_context({'INVENTREE_CONFIG_FILE': 'my_special_conf.yaml'}): - self.assertIn('InvenTree/InvenTree/my_special_conf.yaml', config.get_config_file()) + self.assertIn('inventree/inventree/my_special_conf.yaml', config.get_config_file().lower()) def test_helpers_plugin_file(self): # normal run - not configured From f53c8865ad742d7f2b64a2edc35632426c099cbb Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 18 May 2022 14:14:40 +1000 Subject: [PATCH 23/23] Only run docker build on push --- .github/workflows/docker_test.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/docker_test.yaml b/.github/workflows/docker_test.yaml index 69fbb48fe7..b4bb37715d 100644 --- a/.github/workflows/docker_test.yaml +++ b/.github/workflows/docker_test.yaml @@ -14,10 +14,6 @@ on: - 'master' - 'stable' - pull_request: - branches-ignore: - - l10* - jobs: docker: