Commit da5cc31d authored by Pelayo Torres's avatar Pelayo Torres
Browse files

fix supported features apiStatusMonitoring

parent a78904e8
Loading
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -54,12 +54,12 @@ class EventSubscriptionsOperations(Resource):
                current_app.logger.error("Bad url format")
                current_app.logger.error("Bad url format")
                return bad_request_error(detail="Bad Param", cause = "Detected Bad formar of param", invalid_params=[{"param": "notificationDestination", "reason": "Not valid URL format"}])
                return bad_request_error(detail="Bad Param", cause = "Detected Bad formar of param", invalid_params=[{"param": "notificationDestination", "reason": "Not valid URL format"}])


            # if event_subscription.supported_features is None:
            if event_subscription.supported_features is None:
            #     return bad_request_error(
                return bad_request_error(
            #         detail="supportedFeatures must be present in this request",
                    detail="supportedFeatures must be present in this request",
            #         cause="supportedFeatures missed",
                    cause="supportedFeatures missed",
            #         invalid_params=[{"param": "supportedFeatures", "reason": "not defined"}]
                    invalid_params=[{"param": "supportedFeatures", "reason": "not defined"}]
            #     )
                )


            ## Verify that this subscriberID exist in publishers or invokers
            ## Verify that this subscriberID exist in publishers or invokers


+20 −20
Original line number Original line Diff line number Diff line
@@ -33,14 +33,14 @@ class Notifications():
                current_app.logger.debug(url)
                current_app.logger.debug(url)
                data = EventNotification(sub["subscription_id"], events=redis_event.get('event'))
                data = EventNotification(sub["subscription_id"], events=redis_event.get('event'))
                if redis_event.get('key', None) != None and redis_event.get('information', None) != None:
                if redis_event.get('key', None) != None and redis_event.get('information', None) != None:
                    # if EventSubscription.return_supp_feat_dict(sub["supported_features"])["EnhancedEventReport"]:
                    if EventSubscription.return_supp_feat_dict(sub["supported_features"])["EnhancedEventReport"]:
                        event_detail={}
                        event_detail={}
                        for pos, key in enumerate(redis_event.get('key', None)):
                        for pos, key in enumerate(redis_event.get('key', None)):
                            current_app.logger.debug(f"information: {redis_event.get('information', None)[pos]}")
                            current_app.logger.debug(f"information: {redis_event.get('information', None)[pos]}")
                        if redis_event.get('event', None) in ["SERVICE_API_AVAILABLE", "SERVICE_API_UNAVAILABLE"]:
                            if redis_event.get('event', None) in ["SERVICE_API_AVAILABLE", "SERVICE_API_UNAVAILABLE"] and key == "apiIds":
                                event_detail["apiIds"]=[redis_event.get('information', None)[pos]]
                                event_detail["apiIds"]=[redis_event.get('information', None)[pos]]
                            # if EventSubscription.return_supp_feat_dict(sub["supported_features"])["ApiStatusMonitoring"] and  "serviceAPIDescriptions" in information:
                            elif EventSubscription.return_supp_feat_dict(sub["supported_features"])["ApiStatusMonitoring"] and  key == "serviceAPIDescriptions":
                            #     event_detail["serviceAPIDescriptions"]=information["serviceAPIDescription"]
                                event_detail["serviceAPIDescriptions"]=redis_event.get('information', None)[pos]
                            elif redis_event.get('event', None) in ["SERVICE_API_UPDATE"]:
                            elif redis_event.get('event', None) in ["SERVICE_API_UPDATE"]:
                                event_detail["serviceAPIDescriptions"]=redis_event.get('information', None)[pos]
                                event_detail["serviceAPIDescriptions"]=redis_event.get('information', None)[pos]
                            elif redis_event.get('event', None) in ["API_INVOKER_ONBOARDED", "API_INVOKER_OFFBOARDED", "API_INVOKER_UPDATED"]:
                            elif redis_event.get('event', None) in ["API_INVOKER_ONBOARDED", "API_INVOKER_OFFBOARDED", "API_INVOKER_UPDATED"]:
+14 −26
Original line number Original line Diff line number Diff line
@@ -132,7 +132,6 @@ class PublishServiceOperations(Resource):
            if res.status_code == 201:
            if res.status_code == 201:
                current_app.logger.info("Service published")
                current_app.logger.info("Service published")
                if serviceapidescription.api_status is None or len(serviceapidescription.api_status.aef_ids) > 0:
                if serviceapidescription.api_status is None or len(serviceapidescription.api_status.aef_ids) > 0:
                    if serviceapidescription.supported_features is not None:
                    if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                    if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                        current_app.logger.info(f"Service available")
                        current_app.logger.info(f"Service available")
                        RedisEvent("SERVICE_API_AVAILABLE",
                        RedisEvent("SERVICE_API_AVAILABLE",
@@ -144,12 +143,6 @@ class PublishServiceOperations(Resource):
                                    ["apiIds"],
                                    ["apiIds"],
                                    [str(api_id)]).send_event()
                                    [str(api_id)]).send_event()
                else:
                else:
                        current_app.logger.info("Service available")
                        RedisEvent("SERVICE_API_AVAILABLE",
                                   ["apiIds"],
                                   [str(api_id)]).send_event()
                else:
                    if serviceapidescription.supported_features is not None:
                    if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                    if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                        current_app.logger.info(f"Service unavailable")
                        current_app.logger.info(f"Service unavailable")
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                        RedisEvent("SERVICE_API_UNAVAILABLE",
@@ -160,11 +153,6 @@ class PublishServiceOperations(Resource):
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                                    ["apiIds"],
                                    ["apiIds"],
                                    [str(api_id)]).send_event()
                                    [str(api_id)]).send_event()
                    else:
                        current_app.logger.info("Service available")
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                                   ["apiIds"],
                                   [str(api_id)]).send_event()


            return res
            return res