summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFu Jinhua <fu.jinhua@zte.com.cn>2018-08-23 04:05:41 +0000
committerGerrit Code Review <gerrit@onap.org>2018-08-23 04:05:41 +0000
commit126717bdd6faf6e46d9bf8be9e6d08333504f8be (patch)
tree71f87aeeaab60c15099820199f900f6928de4ca5
parent55d065515532b09de632bd05b088f33b4ba5fbed (diff)
parentbf6cb8aaf21802d03292b5c24e9b54480da5feb7 (diff)
Merge "Ns descriptor related stuffs."
-rw-r--r--catalog/packages/biz/nspackage.py (renamed from catalog/packages/biz/ns_package.py)0
-rw-r--r--catalog/packages/tests/test_pnf_descriptor.py80
-rw-r--r--catalog/packages/views/catalog_views.py13
3 files changed, 86 insertions, 7 deletions
diff --git a/catalog/packages/biz/ns_package.py b/catalog/packages/biz/nspackage.py
index cf1f2cd5..cf1f2cd5 100644
--- a/catalog/packages/biz/ns_package.py
+++ b/catalog/packages/biz/nspackage.py
diff --git a/catalog/packages/tests/test_pnf_descriptor.py b/catalog/packages/tests/test_pnf_descriptor.py
new file mode 100644
index 00000000..2761d5dc
--- /dev/null
+++ b/catalog/packages/tests/test_pnf_descriptor.py
@@ -0,0 +1,80 @@
+# Copyright 2017 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+
+from django.test import TestCase
+from rest_framework import status
+from rest_framework.test import APIClient
+
+
+class TestPnfDescriptor(TestCase):
+ def setUp(self):
+ self.client = APIClient()
+
+ def tearDown(self):
+ pass
+
+ def test_pnfd_create_normal(self):
+ reqest_data = {
+ 'userDefinedData': {
+ 'key1': 'value1',
+ 'key2': 'value2',
+ 'key3': 'value3',
+ }
+ }
+ expected_reponse_data = {
+ 'pnfdOnboardingState': 'CREATED',
+ 'pnfdUsageState': 'NOT_IN_USE',
+ 'userDefinedData': {
+ 'key1': 'value1',
+ 'key2': 'value2',
+ 'key3': 'value3',
+ },
+ '_links': None
+ }
+ response = self.client.post(
+ '/api/nsd/v1/pnf_descriptors',
+ data=reqest_data,
+ format='json'
+ )
+ response.data.pop('id')
+ self.assertEqual(response.status_code, status.HTTP_201_CREATED)
+ self.assertEqual(expected_reponse_data, response.data)
+
+ def test_query_multiple_pnfds_normal(self):
+ pass
+
+ def test_query_single_pnfd_normal(self):
+ pass
+
+ def test_delete_single_pnfd_normal(self):
+ pass
+
+ def test_pnfd_content_upload_normal(self):
+ with open('pnfd_content.txt', 'wb') as fp:
+ fp.write('test')
+
+ with open('pnfd_content.txt', 'rb') as fp:
+ resp = self.client.put(
+ "/api/nsd/v1/pnf_descriptors/22/pnfd_content",
+ {'file': fp},
+ )
+ self.assertEqual(resp.status_code, status.HTTP_204_NO_CONTENT)
+ self.assertEqual({}, resp.data)
+
+ os.remove('pnfd_content.txt')
+
+ def test_pnfd_content_upload_failure(self):
+ pass
diff --git a/catalog/packages/views/catalog_views.py b/catalog/packages/views/catalog_views.py
index b735cb56..157af9fd 100644
--- a/catalog/packages/views/catalog_views.py
+++ b/catalog/packages/views/catalog_views.py
@@ -20,8 +20,7 @@ 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 vnfpackage, ns_package
+from catalog.packages.biz import vnfpackage, nspackage
from catalog.packages.serializers.catalog_serializers import InternalErrorRequestSerializer
from catalog.packages.serializers.catalog_serializers import NfPackageDistributeRequestSerializer
from catalog.packages.serializers.catalog_serializers import NfPackageSerializer
@@ -60,7 +59,7 @@ def nspackages_rc(request, *args, **kwargs):
if request.method == 'GET':
# Gets ns package list
- ret = ns_package.ns_get_csars()
+ ret = nspackage.ns_get_csars()
normal_status = status.HTTP_200_OK
if ret[0] == 0:
@@ -78,7 +77,7 @@ def nspackages_rc(request, *args, **kwargs):
csar_id = ignore_case_get(request.data, "csarId")
logger.debug("csar_id is %s", csar_id)
- ret = ns_package.ns_on_distribute(csar_id)
+ ret = nspackage.ns_on_distribute(csar_id)
normal_status = status.HTTP_202_ACCEPTED
logger.debug("Leave %s, Return value is %s", fun_name(), ret)
@@ -190,7 +189,7 @@ def ns_rd_csar(request, *args, **kwargs):
fun_name(), request.method, csar_id)
ret, normal_status, response_serializer, validation_error = None, None, None, None
if request.method == 'GET':
- ret = ns_package.ns_get_csar(csar_id)
+ ret = nspackage.ns_get_csar(csar_id)
normal_status = status.HTTP_200_OK
if ret[0] == 0:
response_serializer = NsPackageSerializer(data=ret[1])
@@ -198,7 +197,7 @@ def ns_rd_csar(request, *args, **kwargs):
if validation_error:
return validation_error
elif request.method == 'DELETE':
- ret = ns_package.ns_delete_csar(csar_id)
+ ret = nspackage.ns_delete_csar(csar_id)
normal_status = status.HTTP_200_OK
logger.info("Leave %s, Return value is %s", fun_name(), ret)
if ret[0] != 0:
@@ -291,7 +290,7 @@ def ns_model_parser(request, *args, **kwargs):
fun_name(),
csar_id,
inputs)
- ret = ns_package.parse_nsd(csar_id, inputs)
+ ret = nspackage.parse_nsd(csar_id, inputs)
logger.info("Leave %s, Return value is %s", fun_name(), ret)
if ret[0] != 0:
return Response(