aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-02-08 13:31:53 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-02-09 08:39:52 +0800
commitdb28f7366a48de76ffd89fe74b32d9d0b362c62b (patch)
tree618c18fc24c1bee9acb44bf7103e38ec31e8aefd
parent9874f7dd3f26e964c9de53d2f5270a088dc79d97 (diff)
Add query vnfm swagger generate logic
Change-Id: Ic90e1ed16c88ccbba9da8c4b61dd2af17ac3c00a Issue-ID: VFC-714 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/tests/vnfs/tests.py2
-rw-r--r--lcm/ns/vnfs/serializers.py8
-rw-r--r--lcm/ns/vnfs/views.py13
3 files changed, 18 insertions, 5 deletions
diff --git a/lcm/ns/tests/vnfs/tests.py b/lcm/ns/tests/vnfs/tests.py
index 57924822..9650ed45 100644
--- a/lcm/ns/tests/vnfs/tests.py
+++ b/lcm/ns/tests/vnfs/tests.py
@@ -520,7 +520,7 @@ class TestGetVnfmInfoViews(TestCase):
}
response = self.client.get("/api/nslcm/v1/vnfms/%s" % self.vnfm_id)
- self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
+ self.failUnlessEqual(status.HTTP_200_OK, response.status_code, response.content)
context = json.loads(response.content)
self.assertEqual(expect_data, context)
diff --git a/lcm/ns/vnfs/serializers.py b/lcm/ns/vnfs/serializers.py
index a4edf8cb..da426d4d 100644
--- a/lcm/ns/vnfs/serializers.py
+++ b/lcm/ns/vnfs/serializers.py
@@ -194,11 +194,11 @@ class VnfmInfoRespSerializer(serializers.Serializer):
name = serializers.CharField(help_text="Name of VNFM", required=True)
type = serializers.CharField(help_text="Type of VNFM", required=True)
vimId = serializers.CharField(help_text="ID of VIM", required=True)
- vendor = serializers.CharField(help_text="Vendor of VNFM", required=True)
- version = serializers.CharField(help_text="Version of VNFM", required=True)
- description = serializers.CharField(help_text="Description of VNFM", required=True)
+ vendor = serializers.CharField(help_text="Vendor of VNFM", required=False, allow_null=True, allow_blank=True)
+ version = serializers.CharField(help_text="Version of VNFM", required=False, allow_null=True, allow_blank=True)
+ description = serializers.CharField(help_text="Description of VNFM", required=False, allow_null=True, allow_blank=True)
certificateUrl = serializers.CharField(help_text="Certificate Url of VNFM", required=True)
url = serializers.CharField(help_text="url of VNFM", required=True)
userName = serializers.CharField(help_text="User Name of VNFM", required=True)
password = serializers.CharField(help_text="Password of VNFM", required=True)
- createTime = serializers.CharField(help_text="Create Time of VNFM", required=True)
+ createTime = serializers.CharField(help_text="Create Time of VNFM", required=False, allow_null=True, allow_blank=True)
diff --git a/lcm/ns/vnfs/views.py b/lcm/ns/vnfs/views.py
index 61100975..a959d7e8 100644
--- a/lcm/ns/vnfs/views.py
+++ b/lcm/ns/vnfs/views.py
@@ -44,6 +44,7 @@ from lcm.ns.vnfs.serializers import ScaleVnfReqSerializer
from lcm.ns.vnfs.serializers import ScaleVnfRespSerializer
from lcm.ns.vnfs.serializers import VerifyVnfReqSerializer
from lcm.ns.vnfs.serializers import VerifyVnfRespSerializer
+from lcm.ns.vnfs.serializers import VnfmInfoRespSerializer
logger = logging.getLogger(__name__)
@@ -249,10 +250,22 @@ class NfVerifyView(APIView):
class NfVnfmInfoView(APIView):
+ @swagger_auto_schema(
+ request_body=None,
+ responses={
+ status.HTTP_200_OK: VnfmInfoRespSerializer(),
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
+ }
+ )
def get(self, request, vnfmid):
logger.debug("NfVnfmInfoView--get::> %s" % vnfmid)
try:
vnfm_info = get_vnfm_by_id(vnfmid)
+
+ resp_serializer = VnfmInfoRespSerializer(data=vnfm_info)
+ if not resp_serializer.is_valid():
+ raise Exception(resp_serializer.errors)
+
except NSLCMException as e:
logger.error(e.message)
return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)