req_data = {
"nsInstanceId": self.ns_inst_id,
"context": json.JSONEncoder().encode(self.context),
- "vlindex": vl_id}
+ "vlIndex": vl_id}
response = self.client.post("/api/nslcm/v1/ns/vls", data=req_data)
self.assertEqual(status.HTTP_201_CREATED, response.status_code)
- self.assertEqual(0, response.data["result"])
+ self.assertEqual(0, response.data["result"], response.data)
@mock.patch.object(restcall, "call_req")
@mock.patch.object(vimadaptor.VimAdaptor, "create_network")
req_data = {
"nsInstanceId": self.ns_inst_id,
"context": json.JSONEncoder().encode(self.context),
- "vlindex": self.vl_id_1}
+ "vlIndex": self.vl_id_1}
mock_uuid4.return_value = '999'
mock_req_by_rest.return_value = [0, json.JSONEncoder().encode(vim_info), '200']
mock_create_network.return_value = [1, (1)]
class CreateVlReqSerializer(serializers.Serializer):
- index = serializers.CharField(help_text="Index of VL instance", required=True)
+ vlIndex = serializers.CharField(help_text="Index of VL instance", required=True)
nsInstanceId = serializers.CharField(help_text="ID of NS instance", required=False, allow_null=True)
context = serializers.CharField(help_text="Context of VL instance", required=False, allow_null=True)
additionalParamForNs = serializers.CharField(help_text="Additional param for NS", required=False, allow_null=True)
class CreateVlRespSerializer(serializers.Serializer):
- result = serializers.IntegerField(help_text="Index of VL instance", required=True)
+ result = serializers.IntegerField(help_text="Index of VL instance(0: success, 1: failed)", required=True)
detail = serializers.CharField(help_text="Detail of result", required=False, allow_null=True)
vlId = serializers.CharField(help_text="ID of VL instance", required=True)
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
+from drf_yasg.utils import swagger_auto_schema
from lcm.ns.vls.create_vls import CreateVls
from lcm.ns.vls.delete_vls import DeleteVls
from lcm.ns.vls.get_vls import GetVls
+from lcm.ns.vls.serializers import CreateVlReqSerializer, CreateVlRespSerializer
import logging
class VlView(APIView):
+ @swagger_auto_schema(
+ request_body=CreateVlReqSerializer(),
+ responses={
+ status.HTTP_201_CREATED: CreateVlRespSerializer()
+ }
+ )
def post(self, request):
logger.debug("VlsCreateView--post::> %s" % request.data)
+
+ req_serializer = CreateVlReqSerializer(data=request.data)
+ if not req_serializer.is_valid():
+ logger.error(req_serializer.errors)
+ resp = {"result": 1, "detail": req_serializer.errors, "vlId": ""}
+ return Response(data=resp, status=status.HTTP_201_CREATED)
+
resp = CreateVls(request.data).do()
+
+ resp_serializer = CreateVlRespSerializer(data=resp)
+ if not resp_serializer.is_valid():
+ logger.error(resp_serializer.errors)
+ resp = {"result": 1, "detail": resp_serializer.errors, "vlId": ""}
+ return Response(data=resp, status=status.HTTP_201_CREATED)
+
return Response(data=resp, status=status.HTTP_201_CREATED)