Example #1
0
 def test_get_nf_csars_normal(self):
     NfPackageModel(uuid="01", nfpackageid="1", vnfdid="2").save()
     resp = self.client.get("/openoapi/nslcm/v1/vnfpackage")
     self.assertEqual(resp.status_code, status.HTTP_200_OK)
     self.assertEqual(1, len(resp.data["csars"]))
     self.assertEqual("1", resp.data["csars"][0]["csarId"])
     self.assertEqual("2", resp.data["csars"][0]["vnfdId"])
Example #2
0
 def test_delete_pending_csar_when_in_using(self, mock_call_req):
     mock_call_req.return_value = [0, json.JSONEncoder().encode({
         "processState": "normal"}), "200"]
     NfPackageModel(uuid="01", nfpackageid="1").save()
     NfInstModel(nfinstid="01", package_id="1").save()
     NfPkgDeletePendingThread(csar_id="1", job_id='2').run()
     self.assert_job_result("2", 100, "CSAR(1) is in using, cannot be deleted.")
Example #3
0
    def test_delete_csar_when_successfully(self, mock_call_req, mock_delete_image, mock_init_):
        mock_vals = {
            ("/openoapi/catalog/v1/csars/1", "DELETE"):
                [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
            ("/openoapi/catalog/v1/csars/1?processState=deleting", "PUT"):
                [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
            ("/openoapi/catalog/v1/csars/1?processState=deleteFailed", "PUT"):
                [0, json.JSONEncoder().encode({"successfully": "successfully"}), "200"],
            ("/openoapi/catalog/v1/csars/1", "GET"):
                [0, json.JSONEncoder().encode({"notProcessState": "notProcessState"}), "200"],
            ("/openoapi/extsys/v1/vims", "GET"):
                [0, json.JSONEncoder().encode([{
                    "vimId": "002",
                    "url": "url_test",
                    "userName": "******",
                    "password": "******",
                    "tenant": "test"}]), "200"]}
        mock_delete_image.return_value = [0, json.JSONEncoder().encode({"test": "test"}), '200']

        def side_effect(*args):
            return mock_vals[(args[4], args[5])]

        mock_call_req.side_effect = side_effect
        mock_init_.return_value = None
        VnfPackageFileModel(vnfpid="1", imageid="001", vimid="002").save()
        NfPackageModel(uuid="01", nfpackageid="1").save()
        NfPkgDeletePendingThread(csar_id="1", job_id='2').run()
        self.assert_job_result("2", 100, "Delete CSAR(1) successfully.")
Example #4
0
 def nf_package_save(self):
     JobUtil.add_job_status(self.job_id, 30, "Save CSAR(%s) to database." % self.csar_id)
     vnfd_ver = self.nfd["metadata"].get("vnfd_version")
     if not vnfd_ver:
         vnfd_ver = self.nfd["metadata"].get("vnfdVersion")
     NfPackageModel(
         uuid=str(uuid.uuid4()),
         nfpackageid=self.csar_id,
         vnfdid=self.nfd_id,
         vendor=self.nfd["metadata"].get("vendor", "undefined"),
         vnfdversion=vnfd_ver,
         vnfversion=self.nfd["metadata"].get("version", "undefined"),
         vnfdmodel=json.JSONEncoder().encode(self.nfd)
         ).save()
Example #5
0
    def test_nf_on_boarding_when_nfd_already_exists(self, mock_call_req):
        mock_vals = {
            "/openoapi/catalog/v1/csars/2":
                [0, json.JSONEncoder().encode({
                    "onBoardState": "onBoardFailed", "processState": "deleteFailed"}), '200'],
            "/openoapi/catalog/v1/servicetemplates/queryingrawdata":
                [0, json.JSONEncoder().encode(self.vnfd_raw_data), '200']}

        def side_effect(*args):
            return mock_vals[args[4]]

        mock_call_req.side_effect = side_effect
        NfPackageModel(uuid="1", nfpackageid="2", vnfdid="zte_vbras_1.0").save()
        NfOnBoardingThread(csar_id="2", vim_ids=["1"], lab_vim_id="", job_id="4").run()
        self.assert_job_result("4", 255, "NFD(zte_vbras_1.0) already exists.")
Example #6
0
 def test_get_csar_successfully(self, mock_call_req):
     mock_call_req.return_value = [0, json.JSONEncoder().encode({
         "name": "1", "provider": "2", "version": "3", "operationalState": "4",
         "usageState": "5", "onBoardState": "6", "processState": "7",
         "deletionPending": "8", "downloadUri": "9", "createTime": "10",
         "modifyTime": "11", "format": "12", "size": "13"
         }), '200']
     NfPackageModel(uuid="1", vnfdid="001", vendor="vendor",
                    vnfdversion="1.2.0", vnfversion="1.1.0", nfpackageid="13").save()
     VnfPackageFileModel(id="1", filename="filename", imageid="00001",
                         vimid="1", vimuser="******", tenant="12", status="1", vnfpid="13").save()
     NfInstModel(nfinstid="1", mnfinstid="001", nf_name="name", package_id="13").save()
     resp = self.client.get("/openoapi/nslcm/v1/vnfpackage/13")
     self.assertEqual(resp.status_code, status.HTTP_200_OK)
     expect_data = {
         "csarId": '13',
         "packageInfo": {
             "vnfdId": "001",
             "vnfdProvider": "vendor",
             "vnfdVersion": "1.2.0",
             "vnfVersion": "1.1.0",
             "name": "1",
             "provider": "2",
             "version": "3",
             "operationalState": "4",
             "usageState": "5",
             "onBoardState": "6",
             "processState": "7",
             "deletionPending": "8",
             "downloadUri": "9",
             "createTime": "10",
             "modifyTime": "11",
             "format": "12",
             "size": "13"},
         "imageInfo": [{
             "index": "0",
             "fileName": "filename",
             "imageId": "00001",
             "vimId": "1",
             "vimUser": "******",
             "tenant": "12",
             "status": "1"}],
         "vnfInstanceInfo": [{
             "vnfInstanceId": "1",
             "vnfInstanceName": "name"}]}
     self.assertEqual(expect_data, resp.data)
Example #7
0
 def setUp(self):
     self.ns_inst_id = str(uuid.uuid4())
     self.job_id = str(uuid.uuid4())
     self.data = {
         'nsInstanceId':
         self.ns_inst_id,
         'additionalParamForNs': {
             "inputs": json.dumps({})
         },
         'additionalParamForVnf': [{
             'vnfprofileid': 'VBras',
             'additionalparam': {
                 'inputs': json.dumps({
                     'vnf_param1': '11',
                     'vnf_param2': '22'
                 }),
                 'vnfminstanceid': "1"
             }
         }],
         'vnfIndex':
         '1'
     }
     self.client = Client()
     NfPackageModel(uuid=str(uuid.uuid4()),
                    nfpackageid='package_id1',
                    vnfdid='zte_vbras',
                    vendor='zte',
                    vnfdversion='1.0.0',
                    vnfversion='1.0.0',
                    vnfdmodel=json.dumps(vnfd_model_dict)).save()
     NSInstModel(id=self.ns_inst_id,
                 name='ns',
                 nspackage_id='1',
                 nsd_id='nsd_id',
                 description='description',
                 status='instantiating',
                 nsd_model=json.dumps(nsd_model_dict),
                 create_time=now_time(),
                 lastuptime=now_time()).save()
Example #8
0
 def test_delete_pending_csar_when_not_deletion_pending(self, mock_call_req):
     NfPackageModel(uuid="01", nfpackageid="1").save()
     mock_call_req.return_value = [0, json.JSONEncoder().encode({
         "deletionPending": "false"}), "200"]
     NfPkgDeletePendingThread(csar_id="1", job_id='2').run()
     self.assert_job_result("2", 100, "CSAR(1) need not to be deleted.")
Example #9
0
 def test_delete_pending_csar_when_deleting(self, mock_call_req):
     NfPackageModel(uuid="01", nfpackageid="1").save()
     mock_call_req.return_value = [0, json.JSONEncoder().encode({
         "processState": "deleting"}), "200"]
     NfPkgDeletePendingThread(csar_id="1", job_id='2').run()
     self.assert_job_result("2", 100, "CSAR(1) is deleting now.")