Ocf70 upgrade flask library to latest version

All CAPIF APIs are upgraded to Flask 3.0.3. Robot tests are passing. Concerning the application server, we still use gunicorn but with uvicorn workers (UvicornH11Worker).

Merge request reports

Loading
+6 −5
Changes for services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/default_controller.py: 6 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -70,8 +70,9 @@ def onboarded_invokers_onboarding_id_put(onboarding_id, body): # noqa: E501
    :rtype: APIInvokerEnrolmentDetails
    """
    current_app.logger.info("Updating invoker")
    if connexion.request.is_json:
        body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json())  # noqa: E501
    if request.is_json:
        body = APIInvokerEnrolmentDetails.from_dict(request.get_json())  # noqa: E501

    res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body)

    return res
@@ -92,10 +93,10 @@ def onboarded_invokers_post(body): # noqa: E501
    identity = get_jwt_identity()
    username, uuid = identity.split()

    if connexion.request.is_json:
        body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json())  # noqa: E501

    current_app.logger.info("Creating Invoker")
    if request.is_json:
        body = APIInvokerEnrolmentDetails.from_dict(request.get_json())  # noqa: E501

    res = invoker_operations.add_apiinvokerenrolmentdetail(body, username, uuid)

    return res
+1 −1
Changes for services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/resources.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
from abc import ABC, abstractmethod
from db.db import MongoDatabse
from api_invoker_management.db.db import MongoDatabse

class Resource(ABC):

+6 −6
Changes for services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/responses.py: 6 added lines, 6 removed lines.
Original line number Diff line number Diff line
from ..models.problem_details import ProblemDetails
from ..encoder import JSONEncoder
from ..encoder import CustomJSONEncoder
from flask import Response
import json
from ..util import serialize_clean_camel_case
@@ -8,7 +8,7 @@ mimetype = "application/json"


def make_response(object, status):
    res = Response(json.dumps(object, cls=JSONEncoder), status=status, mimetype=mimetype)
    res = Response(json.dumps(object, cls=CustomJSONEncoder), status=status, mimetype=mimetype)

    return res

@@ -17,25 +17,25 @@ def internal_server_error(detail, cause):
    prob = ProblemDetails(title="Internal Server Error", status=500, detail=detail, cause=cause)
    prob = serialize_clean_camel_case(prob)

    return Response(json.dumps(prob, cls=JSONEncoder), status=500, mimetype=mimetype)
    return Response(json.dumps(prob, cls=CustomJSONEncoder), status=500, mimetype=mimetype)


def forbidden_error(detail, cause):
    prob = ProblemDetails(title="Forbidden", status=403, detail=detail, cause=cause)
    prob = serialize_clean_camel_case(prob)

    return Response(json.dumps(prob, cls=JSONEncoder), status=403, mimetype=mimetype)
    return Response(json.dumps(prob, cls=CustomJSONEncoder), status=403, mimetype=mimetype)


def bad_request_error(detail, cause, invalid_params):
    prob = ProblemDetails(title="Bad Request", status=400, detail=detail, cause=cause, invalid_params=invalid_params)
    prob = serialize_clean_camel_case(prob)

    return Response(json.dumps(prob, cls=JSONEncoder), status=400, mimetype=cause)
    return Response(json.dumps(prob, cls=CustomJSONEncoder), status=400, mimetype=cause)


def not_found_error(detail, cause):
    prob = ProblemDetails(title="Not Found", status=404, detail=detail, cause=cause)
    prob = serialize_clean_camel_case(prob)

    return Response(json.dumps(prob, cls=JSONEncoder), status=404, mimetype=mimetype)
 No newline at end of file
    return Response(json.dumps(prob, cls=CustomJSONEncoder), status=404, mimetype=mimetype)
 No newline at end of file
+2 −2
Changes for services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/validate_user.py: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
from flask import current_app, Response
import json
from ..models.problem_details import ProblemDetails
from ..encoder import JSONEncoder
from ..encoder import CustomJSONEncoder
from .resources import Resource
from .responses import internal_server_error
from ..util import serialize_clean_camel_case
@@ -21,7 +21,7 @@ class ControlAccess(Resource):
                if cert_entry["cert_signature"] != cert_signature:
                    prob = ProblemDetails(title="Unauthorized", detail="User not authorized", cause="You are not the owner of this resource")
                    prob = serialize_clean_camel_case(prob)
                    return Response(json.dumps(prob, cls=JSONEncoder), status=401, mimetype="application/json")
                    return Response(json.dumps(prob, cls=CustomJSONEncoder), status=401, mimetype="application/json")

        except Exception as e:
            exception = "An exception occurred in validate invoker"
+1 −1
Changes for services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/db/db.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
import time
from pymongo import MongoClient
from pymongo.errors import AutoReconnect
from config import Config
from api_invoker_management.config import Config
from bson.codec_options import CodecOptions
import os
from opentelemetry.instrumentation.pymongo import PymongoInstrumentor
Loading
Loading