Add vfc-vnflcm instantiation auto-swagger
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / tests / test_vnf_create.py
index 3d3e9ad..f159273 100644 (file)
@@ -16,8 +16,9 @@ import json
 import uuid
 
 import mock
-from django.test import TestCase, Client
+from django.test import TestCase
 from rest_framework import status
+from rest_framework.test import APIClient
 
 from lcm.nf.vnfs.const import c1_data_get_tenant_id, c4_data_create_network, c2_data_create_volume, \
     c5_data_create_subnet, c3_data_get_volume, c6_data_create_port, c7_data_create_flavor, c8_data_list_image, \
@@ -32,7 +33,7 @@ from lcm.pub.vimapi import api
 
 class TestNFInstantiate(TestCase):
     def setUp(self):
-        self.client = Client()
+        self.client = APIClient()
         self.grant_result = {
             "vim": {
                 "vimid": 'vimid_1',
@@ -51,6 +52,28 @@ class TestNFInstantiate(TestCase):
                                              descp=job_detail)
         self.assertEqual(1, len(jobs))
 
+    def test_create_vnf_identifier_when_vnf_is_exist(self):
+        NfInstModel.objects.create(nfinstid='1111',
+                                   nf_name='vFW_01',
+                                   package_id='222',
+                                   version='',
+                                   vendor='',
+                                   netype='',
+                                   vnfd_model='',
+                                   status='NOT_INSTANTIATED',
+                                   nf_desc='vFW in Nanjing TIC Edge',
+                                   vnfdid='111',
+                                   create_time=now_time())
+        data = {
+            "vnfdId": "111",
+            "vnfInstanceName": "vFW_01",
+            "vnfInstanceDescription": "vFW in Nanjing TIC Edge"
+        }
+        response = self.client.post("/api/vnflcm/v1/vnf_instances", data=data, format='json')
+        self.failUnlessEqual(status.HTTP_500_INTERNAL_SERVER_ERROR, response.status_code)
+        context = json.loads(response.content)
+        self.assertEqual({'error': 'VNF is already exist.'}, context)
+
     @mock.patch.object(restcall, 'call_req')
     def test_create_vnf_identifier(self, mock_call_req):
         r2_get_vnfpackage_from_catalog = [0, json.JSONEncoder().encode(vnfpackage_info), '200']
@@ -68,7 +91,7 @@ class TestNFInstantiate(TestCase):
     @mock.patch.object(InstVnf, 'run')
     def test_instantiate_vnf(self, mock_run):
         mock_run.re.return_value = None
-        response = self.client.post("/api/vnflcm/v1/vnf_instances/12/instantiate", data={}, format='json')
+        response = self.client.post("/api/vnflcm/v1/vnf_instances/12/instantiate", data=inst_req_data, format='json')
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code)
 
     def test_instantiate_vnf_when_inst_id_not_exist(self):
@@ -84,7 +107,7 @@ class TestNFInstantiate(TestCase):
         self.assert_job_result(self.job_id, 255, "VNF nf_inst_id is not exist.")
 
     @mock.patch.object(restcall, 'call_req')
-    def test_instantiate_vnf_when_get_rawdata_by_csarid_failed(self, mock_call_req):
+    def test_instantiate_vnf_when_get_packageinfo_by_csarid_failed(self, mock_call_req):
         NfInstModel.objects.create(nfinstid='1111',
                                    nf_name='vFW_01',
                                    package_id='222',