diff options
author | 2017-09-16 12:04:31 +0800 | |
---|---|---|
committer | 2017-09-16 12:04:31 +0800 | |
commit | 2994711131aa9df214fa09ee77d45023a13afabc (patch) | |
tree | e7d7bab5851865c3269138f3c379be1073f287c4 | |
parent | 7f062af4fa8adb4e8bbf2b79c9b72ab32f284cd4 (diff) |
Fix vfc lcm vnf operations unit tests
Change-Id: I4f7b6ea1f698b5add05e2931a992c0c65c8fe20e
Issue-ID: VFC-366
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
-rw-r--r-- | lcm/ns/tests/vnfs/tests.py | 170 | ||||
-rw-r--r-- | lcm/pub/msapi/aai.py | 15 | ||||
-rw-r--r-- | lcm/pub/msapi/extsys.py | 4 | ||||
-rw-r--r-- | lcm/pub/utils/restcall.py | 3 |
4 files changed, 108 insertions, 84 deletions
diff --git a/lcm/ns/tests/vnfs/tests.py b/lcm/ns/tests/vnfs/tests.py index 48e4ab15..f9cf3393 100644 --- a/lcm/ns/tests/vnfs/tests.py +++ b/lcm/ns/tests/vnfs/tests.py @@ -32,34 +32,35 @@ from lcm.ns.vnfs.heal_vnfs import NFHealService from lcm.pub.utils.jobutil import JobUtil, JOB_TYPE from lcm.pub.exceptions import NSLCMException -vnfm_info = {"vnfm-id": "example-vnfm-id-val-97336", - "vim-id": "example-vim-id-val-35532", - "certificate-url": "example-certificate-url-val-18046", - "resource-version": "example-resource-version-val-42094", - "esr-system-info-list": { - "esr-system-info": [ - { - "esr-system-info-id": "example-esr-system-info-id-val-7713", - "system-name": "example-system-name-val-19801", - "type": "example-type-val-24477", - "vendor": "example-vendor-val-50079", - "version": "example-version-val-93146", - "service-url": "example-service-url-val-68090", - "user-name": "example-user-name-val-14470", - "password": "example-password-val-84190", - "system-type": "example-system-type-val-42773", - "protocal": "example-protocal-val-85736", - "ssl-cacert": "example-ssl-cacert-val-33989", - "ssl-insecure": True, - "ip-address": "example-ip-address-val-99038", - "port": "example-port-val-27323", - "cloud-domain": "example-cloud-domain-val-55163", - "default-tenant": "example-default-tenant-val-99383", - "resource-version": "example-resource-version-val-15424" - } - ] - } - } +vnfm_info = { + "vnfm-id": "example-vnfm-id-val-97336", + "vim-id": "example-vim-id-val-35532", + "certificate-url": "example-certificate-url-val-18046", + "resource-version": "example-resource-version-val-42094", + "esr-system-info-list": { + "esr-system-info": [ + { + "esr-system-info-id": "example-esr-system-info-id-val-7713", + "system-name": "example-system-name-val-19801", + "type": "ztevmanagerdriver", + "vendor": "example-vendor-val-50079", + "version": "example-version-val-93146", + "service-url": "example-service-url-val-68090", + "user-name": "example-user-name-val-14470", + "password": "example-password-val-84190", + "system-type": "example-system-type-val-42773", + "protocal": "example-protocal-val-85736", + "ssl-cacert": "example-ssl-cacert-val-33989", + "ssl-insecure": True, + "ip-address": "example-ip-address-val-99038", + "port": "example-port-val-27323", + "cloud-domain": "example-cloud-domain-val-55163", + "default-tenant": "example-default-tenant-val-99383", + "resource-version": "example-resource-version-val-15424" + } + ] + } +} class TestGetVnfViews(TestCase): def setUp(self): @@ -182,51 +183,74 @@ class TestTerminateVnfViews(TestCase): response = self.client.post("/api/nslcm/v1/ns/vnfs/%s" % self.nf_inst_id, data=req_data) self.failUnlessEqual(status.HTTP_201_CREATED, response.status_code) - # @mock.patch.object(restcall, "call_req") - # def test_terminate_vnf(self, mock_call_req): - # job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id) - # - # nfinst = NfInstModel.objects.filter(nfinstid=self.nf_inst_id) - # if nfinst: - # self.failUnlessEqual(1, 1) - # else: - # self.failUnlessEqual(1, 0) - # - # mock_vals = { - # "/api/ztevmanagerdriver/v1/1/vnfs/111/terminate": - # [0, json.JSONEncoder().encode({"jobId": job_id}), '200'], - # "/external-system/esr-vnfm-list/esr-vnfm/1": - # [0, json.JSONEncoder().encode(vnfm_info), '200'], - # "/api/resmgr/v1/vnf/1": - # [0, json.JSONEncoder().encode({"jobId": job_id}), '200'], - # "/api/ztevmanagerdriver/v1/1/jobs/" + job_id + "?responseId=0": - # [0, json.JSONEncoder().encode({"jobId": job_id, - # "responsedescriptor": {"progress": "100", - # "status": JOB_MODEL_STATUS.FINISHED, - # "responseid": "3", - # "statusdescription": "creating", - # "errorcode": "0", - # "responsehistorylist": [ - # {"progress": "0", - # "status": JOB_MODEL_STATUS.PROCESSING, - # "responseid": "2", - # "statusdescription": "creating", - # "errorcode": "0"}]}}), '200']} - # - # req_data = { - # "terminationType": "forceful", - # "gracefulTerminationTimeout": "600"} - # - # def side_effect(*args): - # return mock_vals[args[4]] - # mock_call_req.side_effect = side_effect - # - # TerminateVnfs(req_data, self.nf_inst_id, job_id).run() - # nfinst = NfInstModel.objects.filter(nfinstid=self.nf_inst_id) - # if nfinst: - # self.failUnlessEqual(1, 0) - # else: - # self.failUnlessEqual(1, 1) + + @mock.patch.object(restcall, 'call_req') + def test_terminate_vnf(self, mock_call_req): + job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id) + + nfinst = NfInstModel.objects.filter(nfinstid=self.nf_inst_id) + if nfinst: + self.failUnlessEqual(1, 1) + else: + self.failUnlessEqual(1, 0) + + vnf_info = { + "vnf-id": "vnf-id-test111", + "vnf-name": "vnf-name-test111", + "vnf-type": "vnf-type-test111", + "in-maint": True, + "is-closed-loop-disabled": False, + "resource-version": "1505465356262" + } + job_info = { + "jobId": job_id, + "responsedescriptor": { + "progress": "100", + "status": JOB_MODEL_STATUS.FINISHED, + "responseid": "3", + "statusdescription": "creating", + "errorcode": "0", + "responsehistorylist": [ + { + "progress": "0", + "status": JOB_MODEL_STATUS.PROCESSING, + "responseid": "2", + "statusdescription": "creating", + "errorcode": "0" + } + ] + } + } + + mock_vals = { + "/external-system/esr-vnfm-list/esr-vnfm/1?depth=all": + [0, json.JSONEncoder().encode(vnfm_info), '200'], + "/api/ztevmanagerdriver/v1/1/vnfs/111/terminate": + [0, json.JSONEncoder().encode({"jobId": job_id}), '200'], + "/api/resmgr/v1/vnf/1": + [0, json.JSONEncoder().encode({"jobId": job_id}), '200'], + "/api/ztevmanagerdriver/v1/1/jobs/" + job_id + "?responseId=0": + [0, json.JSONEncoder().encode(job_info), '200'], + "/network/generic-vnfs/generic-vnf/111?depth=all": + [0, json.JSONEncoder().encode(vnf_info), '200'], + "/network/generic-vnfs/generic-vnf/111?resource-version=1505465356262": + [0, json.JSONEncoder().encode({}), '200'] + } + + def side_effect(*args): + return mock_vals[args[4]] + mock_call_req.side_effect = side_effect + + req_data = { + "terminationType": "forceful", + "gracefulTerminationTimeout": "600"} + + TerminateVnfs(req_data, self.nf_inst_id, job_id).run() + nfinst = NfInstModel.objects.filter(nfinstid=self.nf_inst_id) + if nfinst: + self.failUnlessEqual(1, 0) + else: + self.failUnlessEqual(1, 1) class TestScaleVnfViews(TestCase): def setUp(self): diff --git a/lcm/pub/msapi/aai.py b/lcm/pub/msapi/aai.py index 25f61626..f553d50d 100644 --- a/lcm/pub/msapi/aai.py +++ b/lcm/pub/msapi/aai.py @@ -21,6 +21,7 @@ from lcm.pub.config.config import AAI_BASE_URL, AAI_USER, AAI_PASSWD from lcm.pub.exceptions import NSLCMException from lcm.pub.utils import restcall + logger = logging.getLogger(__name__) @@ -31,13 +32,13 @@ def call_aai(resource, method, content=''): } return restcall.call_req(AAI_BASE_URL, - AAI_USER, - AAI_PASSWD, - restcall.rest_no_auth, - resource, - method, - content, - additional_headers) + AAI_USER, + AAI_PASSWD, + restcall.rest_no_auth, + resource, + method, + content, + additional_headers) def create_customer_aai(global_customer_id, data): resource = "/business/customers/customer/%s" % global_customer_id diff --git a/lcm/pub/msapi/extsys.py b/lcm/pub/msapi/extsys.py index 26b61bd4..0214406b 100644 --- a/lcm/pub/msapi/extsys.py +++ b/lcm/pub/msapi/extsys.py @@ -109,7 +109,7 @@ def convert_sdnc_info(sdnc_info_aai): def get_vnfm_by_id(vnfm_inst_id): - uri = '/external-system/esr-vnfm-list/esr-vnfm/%s?depth=all' % vnfm_inst_id + uri = "/external-system/esr-vnfm-list/esr-vnfm/%s?depth=all" % vnfm_inst_id ret = call_aai(uri, "GET") if ret[0] > 0: logger.error('Send get VNFM information request to extsys failed.') @@ -140,7 +140,7 @@ def convert_vnfm_info(vnfm_info_aai): def select_vnfm(vnfm_type, vim_id): - uri = '/external-system/esr-vnfm-list?depth=all' + uri = "/external-system/esr-vnfm-list?depth=all" ret = call_aai(uri, "GET") if ret[0] > 0: logger.error("Failed to call %s: %s", uri, ret[1]) diff --git a/lcm/pub/utils/restcall.py b/lcm/pub/utils/restcall.py index 16f89ee8..e4fca719 100644 --- a/lcm/pub/utils/restcall.py +++ b/lcm/pub/utils/restcall.py @@ -29,8 +29,7 @@ HTTP_404_NOTFOUND, HTTP_403_FORBIDDEN, HTTP_401_UNAUTHORIZED, HTTP_400_BADREQUES logger = logging.getLogger(__name__) -def call_req(base_url, user, passwd, auth_type, resource, method, - content='', additional_headers={}): +def call_req(base_url, user, passwd, auth_type, resource, method, content='', additional_headers={}): callid = str(uuid.uuid1()) logger.debug("[%s]call_req('%s','%s','%s',%s,'%s','%s','%s')" % ( callid, base_url, user, passwd, auth_type, resource, method, content)) |