Optimized code and testcase of query vnf
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / tests / test_vnf_query.py
index 650d17e..599372e 100644 (file)
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file
+# limitations under the License.
+from django.test import TestCase, Client
+from rest_framework import status
+
+from lcm.pub.database.models import NfInstModel, StorageInstModel
+
+
+class ResourceTest(TestCase):
+    def setUp(self):
+        self.client = Client()
+        self.nf_inst_id = "01"
+        NfInstModel.objects.all().delete()
+        self.test_data_single_vnf = {
+            "vnfInstanceId": "1",
+            "vnfInstanceName": "VNF1",
+            "vnfProvider": None,
+            "instantiatedVnfInfo": {
+                "vnfState": None,
+                "extCpInfo": [],
+                "virtualStorageResourceInfo": [
+                    {
+                        "virtualStorageInstanceId": "s02",
+                        "storageResource": {
+                            "resourceId": "resource01",
+                            "vimId": "vim01"
+                        }
+                    }
+                ],
+                "extVirtualLink": [],
+                "vnfcResourceInfo": [],
+                "monitoringParameters": {},
+                "vimInfo": [],
+                "flavourId": None,
+                "virtualLinkResourceInfo": [],
+                "scaleStatus": []
+            },
+            "vnfdVersion": None,
+            "onboardedVnfPkgInfoId": None
+        }
+        self.test_data_multi_vnf = [
+            {
+                "vnfInstanceId": "1",
+                "vnfInstanceName": "VNF1",
+                "vnfProvider": None,
+                "instantiatedVnfInfo": {
+                    "vnfState": None,
+                    "extCpInfo": [],
+                    "virtualStorageResourceInfo": [
+                        {
+                            "virtualStorageInstanceId": "s01",
+                            "storageResource": {
+                                "resourceId": "resource01",
+                                "vimId": "vim01"
+                            }
+                        }
+                    ],
+                    "extVirtualLink": [],
+                    "vnfcResourceInfo": [],
+                    "monitoringParameters": {},
+                    "vimInfo": [],
+                    "flavourId": None,
+                    "virtualLinkResourceInfo": [],
+                    "scaleStatus": []
+                },
+                "vnfdVersion": None,
+                "onboardedVnfPkgInfoId": None
+            },
+            {
+                "vnfInstanceId": "2",
+                "vnfInstanceName": "VNF2",
+                "vnfProvider": None,
+                "instantiatedVnfInfo": {
+                    "vnfState": None,
+                    "extCpInfo": [],
+                    "virtualStorageResourceInfo": [
+                        {
+                            "virtualStorageInstanceId": "s02",
+                            "storageResource": {
+                                "resourceId": "resource02",
+                                "vimId": "vim02"
+                            }
+                        }
+                    ],
+                    "extVirtualLink": [],
+                    "vnfcResourceInfo": [],
+                    "monitoringParameters": {},
+                    "vimInfo": [],
+                    "flavourId": None,
+                    "virtualLinkResourceInfo": [],
+                    "scaleStatus": []
+                },
+                "vnfdVersion": None,
+                "onboardedVnfPkgInfoId": None
+            }
+        ]
+
+    def tearDown(self):
+        pass
+
+    def test_get_vnf(self):
+        vnf_inst_id = "1"
+        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1').save()
+        StorageInstModel(storageid='s02', vimid='vim01', resouceid='resource01', insttype=1, instid=vnf_inst_id).save()
+        response = self.client.get("/openoapi/vnflcm/v1/vnf_instances/%s" % vnf_inst_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(self.test_data_single_vnf, response.data)
+
+    def test_get_vnfs(self):
+        for i in range(1, 3):
+            NfInstModel(nfinstid='%s' % i, nf_name='VNF%s' % i).save()
+            StorageInstModel(storageid='s0%s' % i, vimid='vim0%s' % i, resouceid='resource0%s' % i,
+                             insttype=1, instid='%s' % i).save()
+        response = self.client.get("/openoapi/vnflcm/v1/vnf_instances", format='json')
+        self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
+        self.assertEqual(self.test_data_multi_vnf, response.data)