diff options
author | 2018-02-08 13:31:53 +0800 | |
---|---|---|
committer | 2018-02-09 08:39:52 +0800 | |
commit | db28f7366a48de76ffd89fe74b32d9d0b362c62b (patch) | |
tree | 618c18fc24c1bee9acb44bf7103e38ec31e8aefd | |
parent | 9874f7dd3f26e964c9de53d2f5270a088dc79d97 (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.py | 2 | ||||
-rw-r--r-- | lcm/ns/vnfs/serializers.py | 8 | ||||
-rw-r--r-- | lcm/ns/vnfs/views.py | 13 |
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) |