aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorying.yunlong <ying.yunlong@zte.com.cn>2017-09-16 12:04:31 +0800
committerying.yunlong <ying.yunlong@zte.com.cn>2017-09-16 12:04:31 +0800
commit2994711131aa9df214fa09ee77d45023a13afabc (patch)
treee7d7bab5851865c3269138f3c379be1073f287c4
parent7f062af4fa8adb4e8bbf2b79c9b72ab32f284cd4 (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.py170
-rw-r--r--lcm/pub/msapi/aai.py15
-rw-r--r--lcm/pub/msapi/extsys.py4
-rw-r--r--lcm/pub/utils/restcall.py3
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))