from catalog.packages.ns_package import NsPackage
from catalog.packages.nf_package import NfPackage
from catalog.packages.nf_package import NfDistributeThread
+from catalog.packages.nf_package import NfPkgDeleteThread
from django.test import Client
from catalog.pub.database.models import NSDModel, NfPackageModel, JobStatusModel, JobModel
from rest_framework import status
NfDistributeThread("dd", ["1"], "1", "5").run()
self.assert_job_result("5", 100, "CSAR(dd) distribute successfully.")
- NSDModel.objects.filter(id="dd").delete()
+ NfPackageModel.objects.filter(nfpackageid="dd").delete()
def test_ns_package_delete(self):
response = self.client.delete("/api/catalog/v1/nspackages/" + str(self.ns_csarId))
self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
- def test_nf_package_delete(self):
+ def test_nf_package_delete_error(self):
+ # Delete it directly
+
#response = self.client.delete("/api/catalog/v1/vnfpackages/" + str(self.nf_csarId))
#self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
pass
+ @mock.patch.object(NfDistributeThread, 'get_vnfd')
+ def test_nf_package_delete(self,mock_get_vnfd):
+ # First distribute a VNF
+ local_file_name = "/url/local/filename"
+ vnfd = json.JSONEncoder().encode(self.vnfd_json)
+ mock_get_vnfd.return_value = self.vnfd_json,local_file_name,vnfd
+
+ NfDistributeThread("bb", ["1"], "1", "5").run()
+ self.assert_job_result("5", 100, "CSAR(bb) distribute successfully.")
+ self.assert_nfmodel_result("bb",1)
+
+ # Then delete it
+ NfPkgDeleteThread("bb", "6", False).run()
+ self.assert_nfmodel_result("bb",0)
+
+
+
def assert_job_result(self, job_id, job_progress, job_detail):
jobs = JobStatusModel.objects.filter(
jobid=job_id,
)
self.assertEquals(size, len(nsdmodels))
+
+ def assert_nfmodel_result(self,csar_id,size):
+ vnfdmodels = NfPackageModel.objects.filter(
+ nfpackageid = csar_id
+ )
+
+ self.assertEquals(size, len(vnfdmodels))