diff --git a/contrib/container/requirements.txt b/contrib/container/requirements.txt index 7f07113410..6f3065c45c 100644 --- a/contrib/container/requirements.txt +++ b/contrib/container/requirements.txt @@ -196,9 +196,9 @@ pyyaml==6.0.2 \ --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 # via -r contrib/container/requirements.in -setuptools==76.0.0 \ - --hash=sha256:199466a166ff664970d0ee145839f5582cb9bca7a0a3a2e795b6a9cb2308e9c6 \ - --hash=sha256:43b4ee60e10b0d0ee98ad11918e114c70701bc6051662a9a675a0496c1a158f4 +setuptools==79.0.1 \ + --hash=sha256:128ce7b8f33c3079fd1b067ecbb4051a66e8526e7b65f6cec075dfc650ddfa88 \ + --hash=sha256:e147c0549f27767ba362f9da434eab9c5dc0045d5304feb602a0af001089fc51 # via -r contrib/container/requirements.in sqlparse==0.5.3 \ --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \ diff --git a/src/backend/InvenTree/plugin/base/integration/test_mixins.py b/src/backend/InvenTree/plugin/base/integration/test_mixins.py index 5645867121..8fe805e2a8 100644 --- a/src/backend/InvenTree/plugin/base/integration/test_mixins.py +++ b/src/backend/InvenTree/plugin/base/integration/test_mixins.py @@ -205,7 +205,11 @@ class APICallMixinTest(BaseMixinDefinition, TestCase): NAME = 'Sample API Caller' SETTINGS = { - 'API_TOKEN': {'name': 'API Token', 'protected': True}, + 'API_TOKEN': { + 'name': 'API Token', + 'protected': True, + 'default': 'reqres-free-v1', + }, 'API_URL': { 'name': 'External URL', 'description': 'Where is your API located?', @@ -215,6 +219,7 @@ class APICallMixinTest(BaseMixinDefinition, TestCase): API_URL_SETTING = 'API_URL' API_TOKEN_SETTING = 'API_TOKEN' + API_TOKEN = 'x-api-key' @property def api_url(self): @@ -285,6 +290,8 @@ class APICallMixinTest(BaseMixinDefinition, TestCase): self.assertTrue(result) self.assertEqual(result.reason, 'OK') + # Set API TOKEN + self.mixin.set_setting('API_TOKEN', 'reqres-free-v1') # api_call with post and data result = self.mixin.api_call( 'https://reqres.in/api/users/', @@ -295,6 +302,7 @@ class APICallMixinTest(BaseMixinDefinition, TestCase): ) self.assertTrue(result) + self.assertNotIn('error', result) self.assertEqual(result['name'], 'morpheus') # api_call with endpoint with leading slash diff --git a/src/backend/InvenTree/plugin/samples/integration/api_caller.py b/src/backend/InvenTree/plugin/samples/integration/api_caller.py index ea78f175c5..759a02c88b 100644 --- a/src/backend/InvenTree/plugin/samples/integration/api_caller.py +++ b/src/backend/InvenTree/plugin/samples/integration/api_caller.py @@ -10,7 +10,11 @@ class SampleApiCallerPlugin(APICallMixin, SettingsMixin, InvenTreePlugin): NAME = 'Sample API Caller' SETTINGS = { - 'API_TOKEN': {'name': 'API Token', 'protected': True}, + 'API_TOKEN': { + 'name': 'API Token', + 'protected': True, + 'default': 'reqres-free-v1', + }, 'API_URL': { 'name': 'External URL', 'description': 'Where is your API located?', @@ -19,6 +23,7 @@ class SampleApiCallerPlugin(APICallMixin, SettingsMixin, InvenTreePlugin): } API_URL_SETTING = 'API_URL' API_TOKEN_SETTING = 'API_TOKEN' + API_TOKEN = 'x-api-key' def get_external_url(self): """Returns data from the sample endpoint.""" diff --git a/src/backend/requirements-dev.txt b/src/backend/requirements-dev.txt index 9dd781a983..f13319075f 100644 --- a/src/backend/requirements-dev.txt +++ b/src/backend/requirements-dev.txt @@ -428,9 +428,9 @@ pyyaml==6.0.2 \ # via # -c src/backend/requirements.txt # pre-commit -setuptools==78.1.0 \ - --hash=sha256:18fd474d4a82a5f83dac888df697af65afa82dec7323d09c3e37d1f14288da54 \ - --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 +setuptools==79.0.1 \ + --hash=sha256:128ce7b8f33c3079fd1b067ecbb4051a66e8526e7b65f6cec075dfc650ddfa88 \ + --hash=sha256:e147c0549f27767ba362f9da434eab9c5dc0045d5304feb602a0af001089fc51 # via # -c src/backend/requirements.txt # -r src/backend/requirements-dev.in diff --git a/src/backend/requirements.txt b/src/backend/requirements.txt index 176d6b4d14..eb1a75e226 100644 --- a/src/backend/requirements.txt +++ b/src/backend/requirements.txt @@ -491,9 +491,9 @@ django-picklefield==3.2 \ django-q-sentry==0.1.6 \ --hash=sha256:9b8b4d7fad253a7d9a47f2c2ab0d9dea83078b7ef45c8849dbb1e4176ef8d050 # via -r src/backend/requirements.in -django-q2==1.7.6 \ - --hash=sha256:5210b121573cf65b97d495dbebefe6cfac394d8c0aec9ca2117e8e56e2fda17d \ - --hash=sha256:9060f4d68e1f3a8a748e0ebd0bd83c8c24bc13036105035873faab9d85b0e8f6 +django-q2==1.8.0 \ + --hash=sha256:78aaaf18dff1ad3e35bcf6556666f2c26494120f0b75961c13206e37d180dfaa \ + --hash=sha256:e86b9625c0ce57a5ae31ca8fd7e798d63b9ef91a227c52f8b47536ba50b2b284 # via -r src/backend/requirements.in django-recurrence==1.11.1 \ --hash=sha256:0c65f30872599b5813a9bab6952dada23c55894f28674490a753ada559f14bc5 \ @@ -1572,15 +1572,15 @@ rpds-py==0.22.3 \ # via # jsonschema # referencing -sentry-sdk==2.26.1 \ - --hash=sha256:759e019c41551a21519a95e6cef6d91fb4af1054761923dadaee2e6eca9c02c7 \ - --hash=sha256:e99390e3f217d13ddcbaeaed08789f1ca614d663b345b9da42e35ad6b60d696a +sentry-sdk==2.27.0 \ + --hash=sha256:90f4f883f9eff294aff59af3d58c2d1b64e3927b28d5ada2b9b41f5aeda47daf \ + --hash=sha256:c58935bfff8af6a0856d37e8adebdbc7b3281c2b632ec823ef03cd108d216ff0 # via # -r src/backend/requirements.in # django-q-sentry -setuptools==78.1.0 \ - --hash=sha256:18fd474d4a82a5f83dac888df697af65afa82dec7323d09c3e37d1f14288da54 \ - --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 +setuptools==79.0.1 \ + --hash=sha256:128ce7b8f33c3079fd1b067ecbb4051a66e8526e7b65f6cec075dfc650ddfa88 \ + --hash=sha256:e147c0549f27767ba362f9da434eab9c5dc0045d5304feb602a0af001089fc51 # via # -r src/backend/requirements.in # django-money