diff --git a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt index 7ecb4edb098c005845ae3bf71cbf40c9c4e9d94e..b48609289062a8877c82843aaa82113bbd5d81cc 100644 --- a/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt +++ b/services/TS29222_CAPIF_API_Invoker_Management_API/requirements.txt @@ -2,12 +2,12 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 urllib3 >= 2.6.0 -setuptools == 74.0.0 -Flask == 3.0.3 +setuptools == 80.9.0 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 43.0.1 +cryptography == 46.0.5 rfc3987 == 1.3.8 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -21,6 +21,6 @@ opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 Flask-APScheduler == 1.13.1 -werkzeug == 3.1.4 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_API_Provider_Management_API/requirements.txt b/services/TS29222_CAPIF_API_Provider_Management_API/requirements.txt index 6359e8281b9f79b98480f08354861c85a3194611..cdf1b918b3dadf1b1e76acf3a8d3630343d51370 100644 --- a/services/TS29222_CAPIF_API_Provider_Management_API/requirements.txt +++ b/services/TS29222_CAPIF_API_Provider_Management_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 rfc3987 == 1.3.8 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -18,6 +18,6 @@ fluent-logger == 0.10.0 opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 -werkzeug == 3.1.3 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Access_Control_Policy_API/requirements.txt b/services/TS29222_CAPIF_Access_Control_Policy_API/requirements.txt index b8e474bead55344df34757f23663ebeb612c3ca7..23ba76d7f02cfa5fb63a654b5083a4ab45d428c6 100644 --- a/services/TS29222_CAPIF_Access_Control_Policy_API/requirements.txt +++ b/services/TS29222_CAPIF_Access_Control_Policy_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 opentelemetry-instrumentation-redis == 0.41b0 diff --git a/services/TS29222_CAPIF_Auditing_API/requirements.txt b/services/TS29222_CAPIF_Auditing_API/requirements.txt index 181b2507b026055721c649553c09ca7ad893b856..baedb0f6991b3ddacd9fe47b3af0da3229c364c4 100644 --- a/services/TS29222_CAPIF_Auditing_API/requirements.txt +++ b/services/TS29222_CAPIF_Auditing_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 elasticsearch == 8.4.3 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 opentelemetry-instrumentation-redis == 0.41b0 @@ -18,7 +18,7 @@ fluent-logger == 0.10.0 opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 -werkzeug == 3.1.3 +werkzeug == 3.1.6 pyopenssl == 25.3.0 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Discover_Service_API/requirements.txt b/services/TS29222_CAPIF_Discover_Service_API/requirements.txt index c7aa3456d3a1806812593f4f394965b12a1be0da..14a49dd4d498605fe87cc7fea80f3933e8e3b096 100644 --- a/services/TS29222_CAPIF_Discover_Service_API/requirements.txt +++ b/services/TS29222_CAPIF_Discover_Service_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 rfc3987 == 1.3.8 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -19,6 +19,6 @@ fluent-logger == 0.10.0 opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 -werkzeug == 3.1.3 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Events_API/requirements.txt b/services/TS29222_CAPIF_Events_API/requirements.txt index 63bfea96c998f567129d10bcd962b078c25b3029..bfe1a6464a451383e9be0bfcf18356fc1aab321a 100644 --- a/services/TS29222_CAPIF_Events_API/requirements.txt +++ b/services/TS29222_CAPIF_Events_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 rfc3987 == 1.3.8 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -22,7 +22,7 @@ flask_executor == 1.0.0 Flask-APScheduler == 1.13.1 aiohttp == 3.10.5 async-timeout == 4.0.3 -werkzeug == 3.1.3 +werkzeug == 3.1.6 pyopenssl == 25.3.0 gunicorn == 23.0.0 packaging == 24.0 \ No newline at end of file diff --git a/services/TS29222_CAPIF_Logging_API_Invocation_API/requirements.txt b/services/TS29222_CAPIF_Logging_API_Invocation_API/requirements.txt index 53f0f5dc839dfb66353a5666b0988d56ca8688ad..3ff56355add06e65e5477e4f3f8c275dcbb30667 100644 --- a/services/TS29222_CAPIF_Logging_API_Invocation_API/requirements.txt +++ b/services/TS29222_CAPIF_Logging_API_Invocation_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 elasticsearch == 8.4.3 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 redis == 4.5.4 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -19,7 +19,7 @@ fluent-logger == 0.10.0 opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 -werkzeug == 3.1.3 +werkzeug == 3.1.6 pyopenssl == 25.3.0 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Open_Discover_Service_API/requirements.txt b/services/TS29222_CAPIF_Open_Discover_Service_API/requirements.txt index 2cb06891ce9f446a6e45ecf5ba5c8277ee3d4775..283e07e7cbab489dc7bc386270dd401dfedd9511 100644 --- a/services/TS29222_CAPIF_Open_Discover_Service_API/requirements.txt +++ b/services/TS29222_CAPIF_Open_Discover_Service_API/requirements.txt @@ -1,13 +1,6 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# prevent breaking dependencies from advent of connexion>=3.0 -connexion[swagger-ui] <= 2.14.2; python_version>"3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" +connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" +werkzeug == 3.1.6 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 -setuptools >= 21.0.0 -Flask == 2.1.1 +setuptools == 80.9.0 +Flask == 3.1.3 \ No newline at end of file diff --git a/services/TS29222_CAPIF_Publish_Service_API/requirements.txt b/services/TS29222_CAPIF_Publish_Service_API/requirements.txt index 3d20aa33f8e0d27b1505abca44156888deb42dc3..c536fd3be56d54762f1b0385d73016db35069532 100644 --- a/services/TS29222_CAPIF_Publish_Service_API/requirements.txt +++ b/services/TS29222_CAPIF_Publish_Service_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 opentelemetry-instrumentation-redis == 0.41b0 @@ -19,7 +19,7 @@ opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 flask_executor == 1.0.0 Flask-APScheduler == 1.13.1 -werkzeug == 3.1.3 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Routing_Info_API/requirements.txt b/services/TS29222_CAPIF_Routing_Info_API/requirements.txt index a1ce6ce493ec9e425dc823c772b97140eb3046a6..2335b71a76ab7445dfdb98f9d2d9db2d18655752 100644 --- a/services/TS29222_CAPIF_Routing_Info_API/requirements.txt +++ b/services/TS29222_CAPIF_Routing_Info_API/requirements.txt @@ -2,7 +2,7 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 -werkzeug == 3.1.3 +Flask == 3.1.3 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 diff --git a/services/TS29222_CAPIF_Security_API/requirements.txt b/services/TS29222_CAPIF_Security_API/requirements.txt index 2b774f353de6fd3bb182d6403d11abfda7a85c20..51e2fad5fb70a919d5b2ba7704ab41dcd1131b86 100644 --- a/services/TS29222_CAPIF_Security_API/requirements.txt +++ b/services/TS29222_CAPIF_Security_API/requirements.txt @@ -2,11 +2,11 @@ connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 redis == 4.5.4 flask_jwt_extended == 4.6.0 -cryptography == 46.0.1 +cryptography == 46.0.5 rfc3987 == 1.3.8 opentelemetry-instrumentation == 0.41b0 opentelemetry-instrumentation-flask == 0.41b0 @@ -20,6 +20,6 @@ opentelemetry-api == 1.20.0 opentelemetry-sdk == 1.20.0 Flask-APScheduler == 1.13.1 flask_executor == 1.0.0 -werkzeug == 3.1.3 +werkzeug == 3.1.6 gunicorn == 23.0.0 packaging == 24.0 \ No newline at end of file diff --git a/services/helper/config.yaml b/services/helper/config.yaml index 1147d571d7a22e7a9aa69dd7f1493a0523fff59f..b0b621e6d2de721c6835218a255def0e2cf9fb26 100644 --- a/services/helper/config.yaml +++ b/services/helper/config.yaml @@ -38,9 +38,9 @@ capif_configuration: psk: 3 package_paths: - helper_api: - path: /api - openapi_file: api/openapi/openapi.yaml + # helper_api: + # path: /api + # openapi_file: api/openapi/openapi.yaml configuration_api: path: /configuration openapi_file: configuration/openapi/openapi.yaml diff --git a/services/helper/helper_service/app.py b/services/helper/helper_service/app.py index 1218db6bfa3073a932174f573cecf37c4a4fca27..4f920fb2ef5bd65ca2ca80e7731fef459b17b6c7 100644 --- a/services/helper/helper_service/app.py +++ b/services/helper/helper_service/app.py @@ -4,14 +4,19 @@ import os import sys from pathlib import Path -import connexion +from connexion import FlaskApp import requests -from asgiref.wsgi import WsgiToAsgi +# from asgiref.wsgi import WsgiToAsgi from config import Config from db.db import get_mongo from flask import Flask from OpenSSL.crypto import (FILETYPE_PEM, TYPE_RSA, PKey, X509Req, dump_certificate_request, dump_privatekey) +from connexion.middleware import ConnexionMiddleware +# import traceback +# from flask import request + + # --- Paths setup: make 'services' discoverable so "import api..." works --- BASE_DIR = Path(__file__).resolve().parent @@ -25,7 +30,7 @@ if SERVICES_DIR.is_dir(): else: raise RuntimeError(f"Services directory not found at {SERVICES_DIR!s}") -app = connexion.App(__name__, specification_dir=str(SERVICES_DIR)) + config = Config().get_config() # Connect MongoDB and get TTL for superadmin certificate @@ -88,7 +93,7 @@ except Exception: # Request superadmin certificate url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(config["ca_factory"]["url"], config["ca_factory"]["port"]) -headers = {'X-Vault-Token': f"{config["ca_factory"]["token"]}"} +headers = {'X-Vault-Token': f"{config['ca_factory']['token']}"} data = { 'format':'pem_bundle', 'ttl': ttl_superadmin_cert, @@ -123,10 +128,29 @@ if not package_paths: logger.error("No package paths defined in configuration.") raise Exception("No package paths defined in configuration.") +# app = connexion.App(__name__, template_folder=str(SERVICES_DIR)) +app = FlaskApp(__name__, server_args={'template_folder': str(SERVICES_DIR)}) + +app.app.debug = True + +# @app.app.before_request +# def debug_context(): +# try: +# from connexion import request as conn_req +# # Intentamos acceder al contexto problemático +# _ = conn_req.path +# logging.debug("Contexto de Connexion OK") +# except RuntimeError: +# logging.error("!!! Error de Contexto detectado en la ruta: %s", request.path) +# traceback.print_stack() # Esto imprimirá EXACTAMENTE quién llamó a qué + +# Forzar que la aplicación use el middleware de contexto + + # Dynamically add all APIs defined in package_paths for name, pkg in package_paths.items(): - openapi_file = pkg.get("openapi_file") - base_path = pkg.get("path") + openapi_file = "services/" + pkg.get("openapi_file") + base_path = "/helper/" + pkg.get("path") if not openapi_file or not base_path: logger.warning(f"Skipping package_path '{name}' because 'openapi_file' or 'path' is missing.") @@ -143,10 +167,14 @@ for name, pkg in package_paths.items(): openapi_file, # relative to specification_dir (SERVICES_DIR) arguments={"title": title}, pythonic_params=True, - base_path="/helper/" + base_path + base_path= base_path ) +app.add_middleware(ConnexionMiddleware) + app.app.logger.setLevel(numeric_level) -asgi_app = WsgiToAsgi(app) \ No newline at end of file +flask_app = app +main_app = app.middleware +# asgi_app = WsgiToAsgi(app) diff --git a/services/helper/helper_service/services/visibility_control/auth.py b/services/helper/helper_service/services/visibility_control/auth.py index d3abf6e74ae960efdeb7454cf80e6c4dff8a1ad0..df586063420d3612c28c8d86609f67899465dba9 100644 --- a/services/helper/helper_service/services/visibility_control/auth.py +++ b/services/helper/helper_service/services/visibility_control/auth.py @@ -2,7 +2,7 @@ from functools import wraps from cryptography import x509 from cryptography.hazmat.backends import default_backend from flask import request -import connexion +# import connexion #from ..core.validate_user import ControlAccess from visibility_control.core.validate_user import ControlAccess diff --git a/services/helper/helper_service/wsgi.py b/services/helper/helper_service/wsgi.py index 55e6ab2d5441cbd2ab49f75d4ec3d670361820f4..078a874d2f6d96d7750b0acd635cfec039c2cf4d 100644 --- a/services/helper/helper_service/wsgi.py +++ b/services/helper/helper_service/wsgi.py @@ -1,4 +1,4 @@ -from app import asgi_app +from helper_service.app import app if __name__ == "__main__": - asgi_app.run() + app.run() diff --git a/services/helper/prepare_helper.sh b/services/helper/prepare_helper.sh index 3fe4988c2a0c3c5c3acbd545e7274029a3f2028c..f3cf257f23465c993d425e372f29a3c0f05d36cb 100644 --- a/services/helper/prepare_helper.sh +++ b/services/helper/prepare_helper.sh @@ -2,4 +2,4 @@ gunicorn -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8080 \ - --chdir /usr/src/app/helper_service wsgi:asgi_app \ No newline at end of file + --chdir /usr/src/app/helper_service app:main_app \ No newline at end of file diff --git a/services/helper/requirements.txt b/services/helper/requirements.txt index e240c8ae33a8aae4445f6fd7d8de5b01012d4be2..062edd147d0514757ad24a6a12829e30972b2b60 100644 --- a/services/helper/requirements.txt +++ b/services/helper/requirements.txt @@ -1,18 +1,9 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# prevent breaking dependencies from advent of connexion>=3.0 -connexion[swagger-ui] <= 2.14.2; python_version>"3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" +connexion[flask, swagger-ui, uvicorn] == 3.1.0; python_version>="3.6" +werkzeug == 3.1.6 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 -setuptools >= 21.0.0 -Flask == 2.1.1 +setuptools == 80.9.0 +Flask == 3.1.3 gunicorn == 23.0.0 -uvicorn == 0.34.2 -asgiref == 3.8.1 pymongo == 4.7.3 pyopenssl == 25.3.0 diff --git a/services/mock_server/requirements.txt b/services/mock_server/requirements.txt index 0764845fe7c34f969d1acfffea0be038793c0e55..08437cdaf0f1892f02146b52655e87fc355efb36 100644 --- a/services/mock_server/requirements.txt +++ b/services/mock_server/requirements.txt @@ -1 +1 @@ -flask == 3.0.3 \ No newline at end of file +Flask == 3.1.3 \ No newline at end of file diff --git a/services/register/requirements.txt b/services/register/requirements.txt index 2d5ea17f369c7ebb077319fba46c9582651ad2a9..fd0ec40fb85fc4e8a2a4027152a6a8eececcc281 100644 --- a/services/register/requirements.txt +++ b/services/register/requirements.txt @@ -1,6 +1,6 @@ python_dateutil >= 2.6.0 setuptools == 80.9.0 -Flask == 3.0.3 +Flask == 3.1.3 pymongo == 4.7.3 flask_jwt_extended == 4.6.0 pyopenssl == 25.3.0 diff --git a/tests/features/CAPIF Api Invoker Management/capif_api_invoker_managenet.robot b/tests/features/CAPIF Api Invoker Management/capif_api_invoker_managenet.robot index 3052e19447524d5aa45797bbe9d0358e0b8c6240..db49ee7afd1176b59f7409ffdce322b0305f6a74 100644 --- a/tests/features/CAPIF Api Invoker Management/capif_api_invoker_managenet.robot +++ b/tests/features/CAPIF Api Invoker Management/capif_api_invoker_managenet.robot @@ -237,3 +237,30 @@ Update Onboarded Network App without supported_features ... title=Bad Request ... detail=supportedFeatures not present in request ... cause=supportedFeatures not present + +Update Onboarded Network App with other invoker certificate + [Tags] capif_api_invoker_management-10 + ${new_notification_destination}= Set Variable + ... http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_new_callback + # Default Invoker Registration and Onboarding + ${register_user_info_1} ${url_1} ${request_body_1}= Invoker Default Onboarding invoker_username=${INVOKER_USERNAME}_1 + + ${register_user_info_2} ${url_2} ${request_body_2}= Invoker Default Onboarding invoker_username=${INVOKER_USERNAME}_2 + + Set To Dictionary + ... ${request_body_1} + ... notificationDestination=${new_notification_destination} + + ${resp}= Put Request Capif + ... ${url_1.path} + ... ${request_body_1} + ... server=${CAPIF_HTTPS_URL} + ... verify=ca.crt + ... username=${INVOKER_USERNAME}_2 + + # Check Results + Check Response Variable Type And Values ${resp} 403 ProblemDetails + ... status=403 + ... title=Unauthorized + ... detail=User not authorized + ... cause=Certificate not found in expected role diff --git a/tools/robot/basicRequirements.txt b/tools/robot/basicRequirements.txt index d6b316fa906fe0e2effe9d9e6d9cf06ce2e62439..3f4609f1492c569ae0d59d55c5f9c3a9dd44d503 100644 --- a/tools/robot/basicRequirements.txt +++ b/tools/robot/basicRequirements.txt @@ -17,7 +17,7 @@ click == 8.1.7 configparser == 5.3.0 cookiecutter == 2.1.1 coverage == 4.5.4 -cryptography == 42.0.8 +cryptography == 46.0.5 Deprecated == 1.2.13 distlib == 0.3.6 dnspython == 2.2.1 @@ -25,7 +25,7 @@ docutils == 0.19 exceptiongroup == 1.0.0rc9 filelock == 3.8.0 flake8 == 3.9.2 -flask == 3.0.3 +Flask == 3.1.3 h11 == 0.14.0 idna == 3.4 iniconfig == 1.1.1