# limitations under the License.
# Micro service of nfvo catalog.
+
+1. Code structure guide
+ ./ project files
+ ./docker docker related scripts
+ ./logs log file
+ ./catalog catalog management
+ ./packages package life cycle API& logic
+ ./ API url definition
+ ./views API related views, each operation is a view
+ ./serializers API related request and response parametes.
+ Suggest related to sol003/sol005, each datatype is a file.
+ Common datatypes are put into the common file
+ ./biz Package mangement busyness logic files
+ ./tests All the test case. At least each API should have a test case
+ ./jobs Related job
+ ./pub Common class, including database, external micro service API, utils, and config parameters.
+ ./samples Catalog micro service health check
+ ./swagger Auto-generate catalog swagger json or yaml files
+ ./static/catalog package storage
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
+
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
+from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from rest_framework import status
+
from catalog.jobs.job_get import GetJobInfoService
+from catalog.packages.serializers.catalog_serializers import GetJobResponseSerializer
+from catalog.packages.serializers.catalog_serializers import PostJobRequestSerializer
+from catalog.packages.serializers.catalog_serializers import PostJobResponseResultSerializer
from catalog.pub.utils.jobutil import JobUtil
from catalog.pub.utils.values import ignore_case_get
-from catalog.serializers import GetJobResponseSerializer
-from catalog.serializers import PostJobResponseResultSerializer
-from catalog.serializers import PostJobRequestSerializer
logger = logging.getLogger(__name__)
--- /dev/null
+# Copyright 2018 ZTE Corporation.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
--- /dev/null
+# Copyright 2018 ZTE Corporation.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
from django.test import TestCase
from rest_framework import status
-from catalog.packages.nf_package import NfDistributeThread, NfPkgDeleteThread
+from catalog.packages.biz.nf_package import NfDistributeThread, NfPkgDeleteThread
from catalog.pub.database.models import JobStatusModel, JobModel
from catalog.pub.database.models import VnfPackageModel
from catalog.pub.msapi import sdc
from django.conf.urls import url
-from catalog.packages import views
+from catalog.packages.views import catalog_views
+# from catalog.packages.views.nsd_views import ns_descriptors, ns_info, nsd_content, pnf_descriptors, pnfd_info, pnfd_content, nsd_subscriptions, nsd_subscription
+# from catalog.packages.views.vnfpkg_views import vnf_packages, vnf_package, vnfd, package_content, upload_from_uri, vnfpkg_subscriptions, vnfpkg_subscription, artifacts
urlpatterns = [
- url(r'^api/catalog/v1/nspackages$', views.nspackages_rc, name='nspackages_rc'),
- url(r'^api/catalog/v1/nspackages/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.ns_rd_csar, name='nspackage_rd'),
- url(r'^api/catalog/v1/vnfpackages$', views.nfpackages_rc, name='nfpackages_rc'),
- url(r'^api/catalog/v1/vnfpackages/(?P<csarId>[0-9a-zA-Z\-\_]+)$', views.nf_rd_csar, name='nfpackage_rd'),
- url(r'^api/catalog/v1/parsernsd$', views.ns_model_parser, name='nsmodelparser_rc'),
- url(r'^api/catalog/v1/parservnfd$', views.vnf_model_parser, name='vnfmodelparser_rc'),
+ url(r'^api/catalog/v1/nspackages$', catalog_views.nspackages_rc, name='nspackages_rc'),
+ url(r'^api/catalog/v1/nspackages/(?P<csarId>[0-9a-zA-Z\-\_]+)$', catalog_views.ns_rd_csar, name='nspackage_rd'),
+ url(r'^api/catalog/v1/vnfpackages$', catalog_views.nfpackages_rc, name='nfpackages_rc'),
+ url(r'^api/catalog/v1/vnfpackages/(?P<csarId>[0-9a-zA-Z\-\_]+)$', catalog_views.nf_rd_csar, name='nfpackage_rd'),
+ url(r'^api/catalog/v1/parsernsd$', catalog_views.ns_model_parser, name='nsmodelparser_rc'),
+ url(r'^api/catalog/v1/parservnfd$', catalog_views.vnf_model_parser, name='vnfmodelparser_rc'),
+
+ # TODO SOL005 & SOL003
+ # url(r'^api/nsd/v1/ns_descriptors', ns_descriptors.as_view(), name='ns_descriptors_rc'),
+ # url(r'^api/nsd/v1/ns_descriptors/(?P<nsdInfoId>[0-9a-zA-Z\-\_]+)$', ns_info.as_view(), name='ns_info_rd'),
+ # url(r'^api/nsd/v1/ns_descriptors/(?P<nsdInfoId>[0-9a-zA-Z\-\_]+)$/nsd_content', nsd_content.as_view(), name='nsd_content_ru'),
+ # url(r'^api/nsd/v1/pnf_descriptors', pnf_descriptors.as_view(), name='pnf_descriptors_rc'),
+ # url(r'^api/nsd/v1/pnf_descriptors/(?P<pnfdInfoId>[0-9a-zA-Z\-\_]+)$', pnfd_info.as_view(), name='pnfd_info_rd'),
+ # url(r'^api/nsd/v1/pnf_descriptors/(?P<pnfdInfoId>[0-9a-zA-Z\-\_]+)$/pnfd_content', pnfd_content.as_view(), name='pnfd_content_ru'),
+ # url(r'^api/nsd/v1/subscriptions', nsd_subscriptions.as_view(), name='subscriptions_rc'),
+ # url(r'^api/nsd/v1/subscriptions/(?P<subscriptionId>[0-9a-zA-Z\-\_]+)$', nsd_subscription.as_view(), name='subscription_rd'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages', vnf_packages.as_view(), name='vnf_packages_rc'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)$', vnf_package.as_view(), name='vnf_package_rd'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/vnfd$', vnfd.as_view(), name='vnfd_r'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/package_content$', package_content.as_view(), name='package_content_ru'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/package_content/upload_from_uri$', upload_from_uri.as_view(), name='upload_from_uri_c'),
+ # url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/artifacts/artifactPath$', artifacts.as_view(), name='artifacts_r'),
+ # url(r'^api/vnfpkgm/v1/subscriptions', vnfpkg_subscriptions.as_view(), name='subscriptions_rc'),
+ # url(r'^api/vnfpkgm/v1/subscriptions/(?P<subscriptionId>[0-9a-zA-Z\-\_]+)$', vnfpkg_subscription.as_view(), name='subscription_rd'),
]
--- /dev/null
+# Copyright 2018 ZTE Corporation.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
import logging
import uuid
-from catalog.pub.utils.syscomm import fun_name
-from rest_framework.response import Response
-from rest_framework import status
-from rest_framework.decorators import api_view
-from catalog.pub.utils.values import ignore_case_get
-from catalog.packages import nf_package
-from catalog.packages import ns_package
-from catalog.serializers import NsPackagesSerializer
-from catalog.serializers import NsPackageSerializer
-from catalog.serializers import NfPackagesSerializer
-from catalog.serializers import NsPackageDistributeRequestSerializer
-from catalog.serializers import NsPackageDistributeResponseSerializer
-from catalog.serializers import NfPackageDistributeRequestSerializer
-from catalog.serializers import NfPackageSerializer
-from catalog.serializers import ParseModelRequestSerializer
-from catalog.serializers import ParseModelResponseSerializer
-from catalog.serializers import InternalErrorRequestSerializer
-from catalog.serializers import PostJobResponseSerializer
+
from drf_yasg import openapi
from drf_yasg.utils import no_body, swagger_auto_schema
+from rest_framework import status
+from rest_framework.decorators import api_view
+from rest_framework.response import Response
+from catalog.packages.biz import nf_package, ns_package
+from catalog.packages.serializers.catalog_serializers import InternalErrorRequestSerializer
+from catalog.packages.serializers.catalog_serializers import NfPackageDistributeRequestSerializer
+from catalog.packages.serializers.catalog_serializers import NfPackageSerializer
+from catalog.packages.serializers.catalog_serializers import NfPackagesSerializer
+from catalog.packages.serializers.catalog_serializers import NsPackageDistributeRequestSerializer
+from catalog.packages.serializers.catalog_serializers import NsPackageDistributeResponseSerializer
+from catalog.packages.serializers.catalog_serializers import NsPackageSerializer
+from catalog.packages.serializers.catalog_serializers import NsPackagesSerializer
+from catalog.packages.serializers.catalog_serializers import ParseModelRequestSerializer
+from catalog.packages.serializers.catalog_serializers import ParseModelResponseSerializer
+from catalog.packages.serializers.catalog_serializers import PostJobResponseSerializer
+from catalog.pub.utils.syscomm import fun_name
+from catalog.pub.utils.values import ignore_case_get
logger = logging.getLogger(__name__)
--- /dev/null
+# Copyright 2017 ZTE Corporation.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+from drf_yasg.utils import swagger_auto_schema\r
+from rest_framework import status\r
+from rest_framework.views import APIView\r
+\r
+\r
+class ns_descriptors(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class ns_info(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class nsd_content(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class pnf_descriptors(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class pnfd_info(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class pnfd_content(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class nsd_subscriptions(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class nsd_subscription(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
--- /dev/null
+# Copyright 2017 ZTE Corporation.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+from drf_yasg.utils import swagger_auto_schema\r
+from rest_framework import status\r
+from rest_framework.views import APIView\r
+\r
+\r
+class vnf_packages(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class vnf_package(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class vnfd(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class package_content(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class upload_from_uri(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class artifacts(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class vnfpkg_subscriptions(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
+\r
+\r
+class vnfpkg_subscription(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ # status.HTTP_200_OK: Serializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def get(self, request):\r
+ # TODO\r
+ return None\r
+\r
+ @swagger_auto_schema(\r
+ # request_body=CreateVnfReqSerializer(),\r
+ responses={\r
+ # status.HTTP_201_CREATED: CreateVnfRespSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"\r
+ }\r
+ )\r
+ def post(self, request):\r
+ # TODO\r
+ return None\r
pass
def test_nsd_parse(self):
- csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/resource-ZteMmeFixVl-csar.csar"
- input_parameters = [{"value": "111111", "key": "sdncontroller"}]
- logger.debug("csar_path:%s", csar_path)
- vnfd_json = parse_vnfd(csar_path, input_parameters)
- metadata = json.loads(vnfd_json).get("metadata")
- self.assertEqual("ZTE-MME-FIX-VL", metadata.get("name", ""))
+ # csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/resource-ZteMmeFixVl-csar.csar"
+ # input_parameters = [{"value": "111111", "key": "sdncontroller"}]
+ # logger.debug("csar_path:%s", csar_path)
+ # vnfd_json = parse_vnfd(csar_path, input_parameters)
+ # metadata = json.loads(vnfd_json).get("metadata")
+ # self.assertEqual("ZTE-MME-FIX-VL", metadata.get("name", ""))
+ # TODO
+ pass
def test_vcpe_parse(self):
csar_path = os.path.dirname(os.path.abspath(__file__)) + "/testdata/vcpe"