Loading services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +8 −3 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ def cert_validation(): if cn != "superadmin": cert_signature = cert.signature.hex() if request.method != 'POST': result = valid_user.validate_user_cert(args["subscriptionId"], args["subscriberId"], cert_signature) else: result = valid_user.validate_user_cert_post(args["subscriberId"], cert_signature) if result is not None: return result Loading @@ -37,6 +40,8 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def subscriber_id_subscriptions_post(subscriber_id, body): # noqa: E501 """subscriber_id_subscriptions_post Loading Loading @@ -76,7 +81,7 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res @cert_validation() def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch Loading @@ -97,7 +102,7 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio res = events_ops.patch_event(body, subscriber_id, subscription_id) return res @cert_validation() def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put Loading services/TS29222_CAPIF_Events_API/capif_events/core/validate_user.py +20 −0 Original line number Diff line number Diff line Loading @@ -30,3 +30,23 @@ class ControlAccess(Resource): exception = "An exception occurred in validate subscriber" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) def validate_user_cert_post(self, subscriber_id, cert_signature): cert_col = self.db.get_col_by_name(self.db.certs_col) try: my_query = {'id':subscriber_id} cert_entry = cert_col.find_one(my_query) if cert_entry is not None: 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=CustomJSONEncoder), status=401, mimetype="application/json") except Exception as e: exception = "An exception occurred in validate subscriber" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) No newline at end of file tests/features/CAPIF Api Events/capif_events_api.robot +4 −4 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ Provider receives an ACL unavailable event when invoker remove Security Context. ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=4 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -603,7 +603,7 @@ Invoker receives an Invoker Authorization Revoked and ACL unavailable event when ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=4 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -1065,7 +1065,7 @@ Provider receives an ACL unavailable event when invoker remove Security Context ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=0 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -1141,7 +1141,7 @@ Invoker receives an Invoker Authorization Revoked and ACL unavailable event when ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=0 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading
services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +8 −3 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ def cert_validation(): if cn != "superadmin": cert_signature = cert.signature.hex() if request.method != 'POST': result = valid_user.validate_user_cert(args["subscriptionId"], args["subscriberId"], cert_signature) else: result = valid_user.validate_user_cert_post(args["subscriberId"], cert_signature) if result is not None: return result Loading @@ -37,6 +40,8 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def subscriber_id_subscriptions_post(subscriber_id, body): # noqa: E501 """subscriber_id_subscriptions_post Loading Loading @@ -76,7 +81,7 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res @cert_validation() def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch Loading @@ -97,7 +102,7 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio res = events_ops.patch_event(body, subscriber_id, subscription_id) return res @cert_validation() def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put Loading
services/TS29222_CAPIF_Events_API/capif_events/core/validate_user.py +20 −0 Original line number Diff line number Diff line Loading @@ -30,3 +30,23 @@ class ControlAccess(Resource): exception = "An exception occurred in validate subscriber" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) def validate_user_cert_post(self, subscriber_id, cert_signature): cert_col = self.db.get_col_by_name(self.db.certs_col) try: my_query = {'id':subscriber_id} cert_entry = cert_col.find_one(my_query) if cert_entry is not None: 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=CustomJSONEncoder), status=401, mimetype="application/json") except Exception as e: exception = "An exception occurred in validate subscriber" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) No newline at end of file
tests/features/CAPIF Api Events/capif_events_api.robot +4 −4 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ Provider receives an ACL unavailable event when invoker remove Security Context. ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=4 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -603,7 +603,7 @@ Invoker receives an Invoker Authorization Revoked and ACL unavailable event when ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=4 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -1065,7 +1065,7 @@ Provider receives an ACL unavailable event when invoker remove Security Context ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=0 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading Loading @@ -1141,7 +1141,7 @@ Invoker receives an Invoker Authorization Revoked and ACL unavailable event when ... notification_destination=${NOTIFICATION_DESTINATION_URL}/testing ... supported_features=0 ${resp}= Post Request Capif ... /capif-events/v1/${register_user_info_provider['amf_id']}/subscriptions ... /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions ... json=${request_body} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt Loading