From: maopeng zhang Date: Fri, 9 Feb 2018 10:50:45 +0000 (+0000) Subject: Merge "modify the swagger api bug" X-Git-Tag: v1.1.0~143 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=4c9b9402a323fb4de91d1d82ff9eff2928f49e6a;hp=9586301e0f04ff26eaac0c589b1d405e61399fc1;p=vfc%2Fnfvo%2Flcm.git Merge "modify the swagger api bug" --- diff --git a/lcm/jobs/views.py b/lcm/jobs/views.py index 55093bd3..7439b630 100644 --- a/lcm/jobs/views.py +++ b/lcm/jobs/views.py @@ -14,6 +14,7 @@ import logging import traceback +from drf_yasg import openapi from rest_framework.response import Response from rest_framework.views import APIView from rest_framework import status @@ -31,7 +32,13 @@ logger = logging.getLogger(__name__) class JobView(APIView): @swagger_auto_schema( - request_body=None, + manual_parameters=[ + openapi.Parameter('responseId', + openapi.IN_QUERY, + "responseId", + type=openapi.TYPE_INTEGER + ), + ], responses={ status.HTTP_200_OK: JobQueryRespSerializer(), status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" diff --git a/lcm/ns/tests/sfcs/test_create_flow_classifier.py b/lcm/ns/tests/sfcs/test_create_flow_classifier.py index 2c48c293..1f69931d 100644 --- a/lcm/ns/tests/sfcs/test_create_flow_classifier.py +++ b/lcm/ns/tests/sfcs/test_create_flow_classifier.py @@ -11,46 +11,61 @@ # 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 mock -# import json -# from test_data import nsd_model -# from rest_framework import status -# from lcm.pub.utils import restcall -# from lcm.pub.database.models import FPInstModel -# from django.test import Client -# from django.test import TestCase -# -# -# class TestSfc(TestCase): -# def setUp(self): -# self.client = Client() -# FPInstModel.objects.all().delete() -# FPInstModel(fpinstid="fp_inst_1", fpid="fpd_1", sdncontrollerid="test").save() -# -# def tearDown(self): -# FPInstModel.objects.all().delete() -# -# @mock.patch.object(restcall, 'call_req') -# def test_create_flow_classifier_success(self, mock_call_req): -# data = { -# "fpinstid": "fp_inst_1", -# "context": json.dumps(nsd_model) -# } -# mock_vals = { -# "/api/aai-esr-server/v1/sdncontrollers/test": -# [0, json.JSONEncoder().encode({"url": "url_1"}), '200'], -# "/api/sdncdriver/v1.0/createflowclassfier": -# [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'], -# "/api/microservices/v1/services": -# [0, None, '200'] -# -# } -# -# def side_effect(*args): -# return mock_vals[args[4]] -# -# mock_call_req.side_effect = side_effect -# resp = self.client.post("/api/nslcm/v1/ns/create_flow_classifier", data) -# ret = FPInstModel.objects.get(fpinstid="fp_inst_1") -# self.assertEqual(resp.status_code, status.HTTP_200_OK) -# self.assertEqual("test_id_1", ret.flowclassifiers) +import mock +import json +from test_data import nsd_model +from rest_framework import status +from lcm.pub.utils import restcall +from lcm.pub.database.models import FPInstModel +from django.test import Client +from django.test import TestCase + + +class TestSfc(TestCase): + def setUp(self): + self.client = Client() + FPInstModel.objects.all().delete() + FPInstModel(fpinstid="fp_inst_1", fpid="fpd_1", sdncontrollerid="test").save() + + def tearDown(self): + FPInstModel.objects.all().delete() + + @mock.patch.object(restcall, 'call_req') + def test_create_flow_classifier_success(self, mock_call_req): + data = { + "fpinstid": "fp_inst_1", + "context": json.dumps(nsd_model) + } + mock_vals = { + "/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/test?depth=all": + [0, json.JSONEncoder().encode({ + "thirdparty-sdnc-id": "1", + "esr-system-info-list": { + "esr-system-info": [{ + "service-url": "url_1", + "thirdparty-sdnc-id": "1", + "user-name": "aa", + "password": "123", + "vendor": "zte", + "version": "v1.0", + "protocal": "http", + "product-name": "bbb", + "type": "11" + }] + } + }), '200'], + "/api/ztesdncdriver/v1/createflowclassfier": + [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'], + "/api/microservices/v1/services": + [0, None, '200'] + + } + + def side_effect(*args): + return mock_vals[args[4]] + + mock_call_req.side_effect = side_effect + resp = self.client.post("/api/nslcm/v1/ns/create_flow_classifier", data) + ret = FPInstModel.objects.get(fpinstid="fp_inst_1") + self.assertEqual(resp.status_code, status.HTTP_200_OK) + self.assertEqual("test_id_1", ret.flowclassifiers) diff --git a/lcm/ns/tests/sfcs/test_create_port_chain.py b/lcm/ns/tests/sfcs/test_create_port_chain.py index 7391dac9..978d5f6a 100644 --- a/lcm/ns/tests/sfcs/test_create_port_chain.py +++ b/lcm/ns/tests/sfcs/test_create_port_chain.py @@ -11,47 +11,62 @@ # 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 mock -# import json -# from test_data import nsd_model -# from rest_framework import status -# from lcm.pub.utils import restcall -# from lcm.pub.database.models import FPInstModel -# from django.test import Client -# from django.test import TestCase -# -# -# class TestSfc(TestCase): -# def setUp(self): -# self.client = Client() -# FPInstModel.objects.all().delete() -# FPInstModel(fpinstid="fp_inst_1", sdncontrollerid="test_sdncontrollerid", -# symmetric=1, flowclassifiers="test_flowclassifiers", -# portpairgroups=json.JSONEncoder().encode([{"groupid": "1"}])).save() -# -# def tearDown(self): -# FPInstModel.objects.all().delete() -# -# @mock.patch.object(restcall, 'call_req') -# def test_create_port_chain_success(self, mock_call_req): -# data = { -# "fpinstid": "fp_inst_1", -# "context": json.dumps(nsd_model) -# } -# mock_vals = { -# "/api/aai-esr-server/v1/sdncontrollers/test_sdncontrollerid": -# [0, json.JSONEncoder().encode({"url": "url_1"}), '200'], -# "/api/sdncdriver/v1.0/createportchain": -# [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'], -# "/api/microservices/v1/services": -# [0, None, '200'] -# } -# -# def side_effect(*args): -# return mock_vals[args[4]] -# -# mock_call_req.side_effect = side_effect -# resp = self.client.post("/api/nslcm/v1/ns/create_port_chain", data) -# ret = FPInstModel.objects.get(fpinstid="fp_inst_1") -# self.assertEqual(resp.status_code, status.HTTP_200_OK) -# self.assertEqual("test_id_1", ret.sfcid) +import mock +import json +from test_data import nsd_model +from rest_framework import status +from lcm.pub.utils import restcall +from lcm.pub.database.models import FPInstModel +from django.test import Client +from django.test import TestCase + + +class TestSfc(TestCase): + def setUp(self): + self.client = Client() + FPInstModel.objects.all().delete() + FPInstModel(fpinstid="fp_inst_1", sdncontrollerid="test_sdncontrollerid", + symmetric=1, flowclassifiers="test_flowclassifiers", + portpairgroups=json.JSONEncoder().encode([{"groupid": "1"}])).save() + + def tearDown(self): + FPInstModel.objects.all().delete() + + @mock.patch.object(restcall, 'call_req') + def test_create_port_chain_success(self, mock_call_req): + data = { + "fpinstid": "fp_inst_1", + "context": json.dumps(nsd_model) + } + mock_vals = { + "/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/test_sdncontrollerid?depth=all": + [0, json.JSONEncoder().encode({ + "thirdparty-sdnc-id": "1", + "esr-system-info-list": { + "esr-system-info": [{ + "service-url": "url_1", + "thirdparty-sdnc-id": "1", + "user-name": "aa", + "password": "123", + "vendor": "zte", + "version": "v1.0", + "protocal": "http", + "product-name": "bbb", + "type": "11" + }] + } + }), '200'], + "/api/ztesdncdriver/v1/createportchain": + [0, json.JSONEncoder().encode({"id": "test_id_1"}), '200'], + "/api/microservices/v1/services": + [0, None, '200'] + } + + def side_effect(*args): + return mock_vals[args[4]] + + mock_call_req.side_effect = side_effect + resp = self.client.post("/api/nslcm/v1/ns/create_port_chain", data) + ret = FPInstModel.objects.get(fpinstid="fp_inst_1") + self.assertEqual(resp.status_code, status.HTTP_200_OK) + self.assertEqual("test_id_1", ret.sfcid)