Loading services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py +10 −10 Original line number Diff line number Diff line import connexion from ..models.service_api_description import ServiceAPIDescription # noqa: E501 from ..core.serviceapidescriptions import PublishServiceOperations from ..models.service_api_description import ServiceAPIDescription # noqa: E501 from published_apis.models.problem_details import ProblemDetails # noqa: E501 from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 from published_apis import util from flask import Response, request, current_app from flask import request, current_app from cryptography import x509 from cryptography.hazmat.backends import default_backend from ..core.validate_user import ControlAccess from functools import wraps import asyncio service_operations = PublishServiceOperations() valid_user = ControlAccess() def cert_validation(): def _cert_validation(f): @wraps(f) Loading @@ -42,11 +36,17 @@ def cert_validation(): if result is not None: return result result = service_operations.check_apf(args["apfId"]) if result is not None: return result result = f(**kwargs) return result return __cert_validation return _cert_validation # @cert_validation() def apf_id_service_apis_get(apf_id): # noqa: E501 """apf_id_service_apis_get Loading @@ -62,7 +62,7 @@ def apf_id_service_apis_get(apf_id): # noqa: E501 return res # @cert_validation() def apf_id_service_apis_post(apf_id, body): # noqa: E501 """apf_id_service_apis_post Loading services/TS29222_CAPIF_Publish_Service_API/published_apis/core/resources.py +3 −2 Original line number Diff line number Diff line from abc import ABC, abstractmethod from abc import ABC from db.db import MongoDatabse class Resource(ABC): def __init__(self): Loading services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py +16 −16 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ service_api_not_found_message = "Service API not found" class PublishServiceOperations(Resource): def __check_apf(self, apf_id): def check_apf(self, apf_id): providers_col = self.db.get_col_by_name(self.db.capif_provider_col) current_app.logger.debug("Checking apf id") Loading Loading @@ -49,10 +49,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug("Geting service apis") result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result service = mycol.find({"apf_id": apf_id}, {"_id": 0, "api_name": 1, "api_id": 1, "aef_profiles": 1, "description": 1, "supported_features": 1, "shareable_info": 1, "service_api_category": 1, "api_supp_feats": 1, "pub_api_path": 1, "ccf_id": 1}) Loading Loading @@ -85,10 +85,10 @@ class PublishServiceOperations(Resource): try: current_app.logger.debug("Publishing service") result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result service = mycol.find_one( {"api_name": serviceapidescription.api_name}) Loading Loading @@ -144,10 +144,10 @@ class PublishServiceOperations(Resource): try: current_app.logger.debug( "Geting service api with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} service_api = mycol.find_one(my_query, {"_id": 0, "api_name": 1, "api_id": 1, "aef_profiles": 1, "description": 1, Loading Loading @@ -176,10 +176,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug( "Removing api service with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} serviceapidescription = mycol.find_one(my_query) Loading Loading @@ -217,10 +217,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug( "Updating service api with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} serviceapidescription = mycol.find_one(my_query) Loading services/TS29222_CAPIF_Publish_Service_API/published_apis/db/db.py +7 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,13 @@ if monitoring_value == "true": class MongoDatabse(): # _instance = None # def __new__(cls): # if cls._instance is None: # cls._instance = super(MongoDatabse, cls).__new__(cls) # return cls._instance def __init__(self): self.config = Config().get_config() self.db = self.__connect() Loading @@ -20,7 +27,6 @@ class MongoDatabse(): self.capif_provider_col = self.config['mongo']['capif_provider_col'] self.certs_col = self.config['mongo']['certs_col'] def get_col_by_name(self, name): return self.db[name].with_options(codec_options=CodecOptions(tz_aware=True)) Loading services/run_capif_tests.sh +1 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ CAPIF_HTTPS_PORT=443 # VAULT access configuration CAPIF_VAULT=vault CAPIF_VAULT_PORT=8200 CAPIF_VAULT_TOKEN=read-ca-token CAPIF_VAULT_TOKEN=dev-only-token MOCK_SERVER_URL=http://mock-server:9100 NOTIFICATION_DESTINATION_URL=http://mock-server:9100 Loading Loading
services/TS29222_CAPIF_Publish_Service_API/published_apis/controllers/default_controller.py +10 −10 Original line number Diff line number Diff line import connexion from ..models.service_api_description import ServiceAPIDescription # noqa: E501 from ..core.serviceapidescriptions import PublishServiceOperations from ..models.service_api_description import ServiceAPIDescription # noqa: E501 from published_apis.models.problem_details import ProblemDetails # noqa: E501 from published_apis.models.service_api_description import ServiceAPIDescription # noqa: E501 from published_apis import util from flask import Response, request, current_app from flask import request, current_app from cryptography import x509 from cryptography.hazmat.backends import default_backend from ..core.validate_user import ControlAccess from functools import wraps import asyncio service_operations = PublishServiceOperations() valid_user = ControlAccess() def cert_validation(): def _cert_validation(f): @wraps(f) Loading @@ -42,11 +36,17 @@ def cert_validation(): if result is not None: return result result = service_operations.check_apf(args["apfId"]) if result is not None: return result result = f(**kwargs) return result return __cert_validation return _cert_validation # @cert_validation() def apf_id_service_apis_get(apf_id): # noqa: E501 """apf_id_service_apis_get Loading @@ -62,7 +62,7 @@ def apf_id_service_apis_get(apf_id): # noqa: E501 return res # @cert_validation() def apf_id_service_apis_post(apf_id, body): # noqa: E501 """apf_id_service_apis_post Loading
services/TS29222_CAPIF_Publish_Service_API/published_apis/core/resources.py +3 −2 Original line number Diff line number Diff line from abc import ABC, abstractmethod from abc import ABC from db.db import MongoDatabse class Resource(ABC): def __init__(self): Loading
services/TS29222_CAPIF_Publish_Service_API/published_apis/core/serviceapidescriptions.py +16 −16 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ service_api_not_found_message = "Service API not found" class PublishServiceOperations(Resource): def __check_apf(self, apf_id): def check_apf(self, apf_id): providers_col = self.db.get_col_by_name(self.db.capif_provider_col) current_app.logger.debug("Checking apf id") Loading Loading @@ -49,10 +49,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug("Geting service apis") result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result service = mycol.find({"apf_id": apf_id}, {"_id": 0, "api_name": 1, "api_id": 1, "aef_profiles": 1, "description": 1, "supported_features": 1, "shareable_info": 1, "service_api_category": 1, "api_supp_feats": 1, "pub_api_path": 1, "ccf_id": 1}) Loading Loading @@ -85,10 +85,10 @@ class PublishServiceOperations(Resource): try: current_app.logger.debug("Publishing service") result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result service = mycol.find_one( {"api_name": serviceapidescription.api_name}) Loading Loading @@ -144,10 +144,10 @@ class PublishServiceOperations(Resource): try: current_app.logger.debug( "Geting service api with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} service_api = mycol.find_one(my_query, {"_id": 0, "api_name": 1, "api_id": 1, "aef_profiles": 1, "description": 1, Loading Loading @@ -176,10 +176,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug( "Removing api service with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} serviceapidescription = mycol.find_one(my_query) Loading Loading @@ -217,10 +217,10 @@ class PublishServiceOperations(Resource): current_app.logger.debug( "Updating service api with id: " + service_api_id) result = self.__check_apf(apf_id) # result = self.__check_apf(apf_id) if result != None: return result # if result != None: # return result my_query = {'apf_id': apf_id, 'api_id': service_api_id} serviceapidescription = mycol.find_one(my_query) Loading
services/TS29222_CAPIF_Publish_Service_API/published_apis/db/db.py +7 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,13 @@ if monitoring_value == "true": class MongoDatabse(): # _instance = None # def __new__(cls): # if cls._instance is None: # cls._instance = super(MongoDatabse, cls).__new__(cls) # return cls._instance def __init__(self): self.config = Config().get_config() self.db = self.__connect() Loading @@ -20,7 +27,6 @@ class MongoDatabse(): self.capif_provider_col = self.config['mongo']['capif_provider_col'] self.certs_col = self.config['mongo']['certs_col'] def get_col_by_name(self, name): return self.db[name].with_options(codec_options=CodecOptions(tz_aware=True)) Loading
services/run_capif_tests.sh +1 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ CAPIF_HTTPS_PORT=443 # VAULT access configuration CAPIF_VAULT=vault CAPIF_VAULT_PORT=8200 CAPIF_VAULT_TOKEN=read-ca-token CAPIF_VAULT_TOKEN=dev-only-token MOCK_SERVER_URL=http://mock-server:9100 NOTIFICATION_DESTINATION_URL=http://mock-server:9100 Loading