aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2019-07-12 10:59:19 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2019-07-12 11:19:28 +0800
commit2bd210a0ebf4c3c861365eb63b5fd558b792420a (patch)
treeaa0b89bade20dec906b8f319c8f5735fad037546
parentd9949426185df3323dea4db239293328c5395808 (diff)
Refactor codes for create and get ns
Change-Id: I7a4caf88017df761bed198213ec9afb7b1efd301 Issue-ID: VFC-1429 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/tests/test_ns_create.py2
-rw-r--r--lcm/ns/views/deprecated/create_ns_view.py82
2 files changed, 40 insertions, 44 deletions
diff --git a/lcm/ns/tests/test_ns_create.py b/lcm/ns/tests/test_ns_create.py
index dee1fcbb..ef00a6e1 100644
--- a/lcm/ns/tests/test_ns_create.py
+++ b/lcm/ns/tests/test_ns_create.py
@@ -49,7 +49,6 @@ class TestNsInstantiate(TestCase):
def test_create_ns_empty_data(self, mock_do_biz):
mock_do_biz.side_effect = Exception("Exception in CreateNS.")
response = self.client.post("/api/nslcm/v1/ns", data={})
- self.assertEqual(response.data["error"], "Exception in CreateNS.")
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
self.assertIn("error", response.data)
@@ -58,7 +57,6 @@ class TestNsInstantiate(TestCase):
mock_do_biz.side_effect = Exception("nsd not exists.")
self.create_ns_dict["csarId"] = "1"
response = self.client.post("/api/nslcm/v1/ns", data=self.create_ns_dict, format='json')
- self.assertEqual(response.data["error"], "nsd not exists.")
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
self.assertIn("error", response.data)
diff --git a/lcm/ns/views/deprecated/create_ns_view.py b/lcm/ns/views/deprecated/create_ns_view.py
index 4fb6f938..428b5eca 100644
--- a/lcm/ns/views/deprecated/create_ns_view.py
+++ b/lcm/ns/views/deprecated/create_ns_view.py
@@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
-import traceback
from drf_yasg.utils import swagger_auto_schema
from rest_framework import status
@@ -27,6 +26,7 @@ from lcm.ns.serializers.deprecated.ns_serializers import _QueryNsRespSerializer
from lcm.pub.exceptions import NSLCMException
from lcm.pub.exceptions import BadRequestException
from lcm.pub.utils.values import ignore_case_get
+from .common import view_safe_call_with_log
logger = logging.getLogger(__name__)
@@ -39,19 +39,15 @@ class CreateNSView(APIView):
status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
}
)
+ @view_safe_call_with_log(logger=logger)
def get(self, request):
- try:
- logger.debug("CreateNSView::get")
- ret = GetNSInfoService().get_ns_info()
- logger.debug("CreateNSView::get::ret=%s", ret)
- resp_serializer = _QueryNsRespSerializer(data=ret, many=True)
- if not resp_serializer.is_valid():
- raise NSLCMException(resp_serializer.errors)
- return Response(data=resp_serializer.data, status=status.HTTP_200_OK)
- except Exception as e:
- logger.error(traceback.format_exc())
- logger.error("Exception in GetNS: %s", e.args[0])
- return Response(data={'error': e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.debug("CreateNSView::get")
+ ret = GetNSInfoService().get_ns_info()
+ logger.debug("CreateNSView::get::ret=%s", ret)
+ resp_serializer = _QueryNsRespSerializer(data=ret, many=True)
+ if not resp_serializer.is_valid():
+ raise NSLCMException(resp_serializer.errors)
+ return Response(data=resp_serializer.data, status=status.HTTP_200_OK)
@swagger_auto_schema(
request_body=_CreateNsReqSerializer(),
@@ -61,36 +57,38 @@ class CreateNSView(APIView):
status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
}
)
+ @view_safe_call_with_log(logger=logger)
def post(self, request):
logger.debug("Enter CreateNS: %s", request.data)
- try:
- req_serializer = _CreateNsReqSerializer(data=request.data)
- if not req_serializer.is_valid():
- raise BadRequestException(req_serializer.errors)
+ req_serializer = _CreateNsReqSerializer(data=request.data)
+ if not req_serializer.is_valid():
+ raise BadRequestException(req_serializer.errors)
- if ignore_case_get(request.data, 'test') == "test":
- return Response(data={'nsInstanceId': "test"}, status=status.HTTP_201_CREATED)
- csar_id = ignore_case_get(request.data, 'csarId')
- ns_name = ignore_case_get(request.data, 'nsName')
- description = ignore_case_get(request.data, 'description')
- context = ignore_case_get(request.data, 'context')
- ns_inst_id = CreateNSService(csar_id, ns_name, description, context).do_biz()
+ if ignore_case_get(request.data, 'test') == "test":
+ return Response(
+ data={'nsInstanceId': "test"},
+ status=status.HTTP_201_CREATED
+ )
+ csar_id = ignore_case_get(request.data, 'csarId')
+ ns_name = ignore_case_get(request.data, 'nsName')
+ description = ignore_case_get(request.data, 'description')
+ context = ignore_case_get(request.data, 'context')
+ ns_inst_id = CreateNSService(
+ csar_id,
+ ns_name,
+ description,
+ context
+ ).do_biz()
- logger.debug("CreateNSView::post::ret={'nsInstanceId':%s}", ns_inst_id)
- resp_serializer = _CreateNsRespSerializer(
- data={'nsInstanceId': ns_inst_id,
- 'nsInstanceName': 'nsInstanceName',
- 'nsInstanceDescription': 'nsInstanceDescription',
- 'nsdId': 123,
- 'nsdInfoId': 456,
- 'nsState': 'NOT_INSTANTIATED',
- '_links': {'self': {'href': 'href'}}})
- if not resp_serializer.is_valid():
- raise NSLCMException(resp_serializer.errors)
- return Response(data=resp_serializer.data, status=status.HTTP_201_CREATED)
- except BadRequestException as e:
- return Response(data={'error': e.args[0]}, status=status.HTTP_400_BAD_REQUEST)
- except Exception as e:
- logger.error(traceback.format_exc())
- logger.error("Exception in CreateNS: %s", e.args[0])
- return Response(data={'error': e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.debug("CreateNSView::post::ret={'nsInstanceId':%s}", ns_inst_id)
+ resp_serializer = _CreateNsRespSerializer(
+ data={'nsInstanceId': ns_inst_id,
+ 'nsInstanceName': 'nsInstanceName',
+ 'nsInstanceDescription': 'nsInstanceDescription',
+ 'nsdId': 123,
+ 'nsdInfoId': 456,
+ 'nsState': 'NOT_INSTANTIATED',
+ '_links': {'self': {'href': 'href'}}})
+ if not resp_serializer.is_valid():
+ raise NSLCMException(resp_serializer.errors)
+ return Response(data=resp_serializer.data, status=status.HTTP_201_CREATED)