Refactor codes for vnf pkg 19/86019/1
authorfujinhua <fu.jinhua@zte.com.cn>
Tue, 23 Apr 2019 06:17:01 +0000 (14:17 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Tue, 23 Apr 2019 06:17:01 +0000 (14:17 +0800)
Change-Id: I773ca4a01a0d543c624a0dca56505654e73c7ef3
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
catalog/packages/views/common.py
catalog/packages/views/vnf_package_subscription_views.py
catalog/pub/exceptions.py

index 43455c5..d336ec1 100644 (file)
@@ -19,6 +19,7 @@ from rest_framework import status
 from rest_framework.response import Response
 
 from catalog.pub.exceptions import CatalogException
+from catalog.pub.exceptions import BadRequestException
 from catalog.pub.exceptions import NsdmBadRequestException
 from catalog.pub.exceptions import PackageNotFoundException
 from catalog.pub.exceptions import ResourceNotFoundException
@@ -87,6 +88,12 @@ def view_safe_call_with_log(logger):
                     detail=e.message,
                     status=status.HTTP_404_NOT_FOUND
                 )
+            except BadRequestException as e:
+                logger.error(e.message)
+                return make_error_resp(
+                    detail=e.message,
+                    status=status.HTTP_400_BAD_REQUEST
+                )
             except NsdmBadRequestException as e:
                 logger.error(e.message)
                 return make_error_resp(
index 303f0d4..32904e3 100755 (executable)
@@ -28,20 +28,19 @@ from catalog.packages.biz.vnf_pkg_subscription import QuerySubscription
 from catalog.packages.biz.vnf_pkg_subscription import TerminateSubscription
 from catalog.packages.views.common import validate_data
 from catalog.pub.exceptions import VnfPkgSubscriptionException
+from catalog.pub.exceptions import BadRequestException
 from .common import view_safe_call_with_log
 
 logger = logging.getLogger(__name__)
-VALID_FILTERS = ["callbackUri", "notificationTypes", "vnfdId", "vnfPkgId", "operationalState", "usageState"]
 
-
-def get_problem_details_serializer(status_code, error_message):
-    problem_details = {
-        "status": status_code,
-        "detail": error_message
-    }
-    problem_details_serializer = ProblemDetailsSerializer(data=problem_details)
-    problem_details_serializer.is_valid()
-    return problem_details_serializer
+VALID_FILTERS = [
+    "callbackUri",
+    "notificationTypes",
+    "vnfdId",
+    "vnfPkgId",
+    "operationalState",
+    "usageState"
+]
 
 
 class CreateQuerySubscriptionView(APIView):
@@ -74,9 +73,8 @@ class CreateQuerySubscriptionView(APIView):
         logger.debug("SubscribeNotification--get::> %s" % request.query_params)
 
         if request.query_params and not set(request.query_params).issubset(set(VALID_FILTERS)):
-            problem_details_serializer = get_problem_details_serializer(status.HTTP_400_BAD_REQUEST,
-                                                                        "Not a valid filter")
-            return Response(data=problem_details_serializer.data, status=status.HTTP_400_BAD_REQUEST)
+            raise BadRequestException("Not a valid filter")
+
         resp_data = QuerySubscription().query_multi_subscriptions(request.query_params)
 
         subscriptions_serializer = PkgmSubscriptionsSerializer(data=resp_data)
index a935420..e0dac0e 100644 (file)
@@ -17,6 +17,10 @@ class CatalogException(Exception):
     pass
 
 
+class BadRequestException(CatalogException):
+    pass
+
+
 class ResourceNotFoundException(CatalogException):
     pass