Dealing with test related stuffs.
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / tests / test_query_vnf.py
index e092223..95f387b 100644 (file)
@@ -15,7 +15,8 @@
 from django.test import TestCase, Client
 from rest_framework import status
 
-from lcm.pub.database.models import NfInstModel, StorageInstModel
+from lcm.pub.database.models import (NfInstModel, VLInstModel,
+                                     VNFCInstModel, VmInstModel, StorageInstModel)
 
 
 class ResourceTest(TestCase):
@@ -27,8 +28,9 @@ class ResourceTest(TestCase):
             "id": "1",
             "vnfInstanceName": "VNF1",
             "vnfProvider": None,
+            "instantiationState": "INSTANTIATED",
             "instantiatedVnfInfo": {
-                "vnfState": None,
+                "vnfState": "STARTED",
                 "extCpInfo": [],
                 "virtualStorageResourceInfo": [
                     {
@@ -54,8 +56,9 @@ class ResourceTest(TestCase):
                 "id": "1",
                 "vnfInstanceName": "VNF1",
                 "vnfProvider": None,
+                "instantiationState": "INSTANTIATED",
                 "instantiatedVnfInfo": {
-                    "vnfState": None,
+                    "vnfState": "STARTED",
                     "extCpInfo": [],
                     "virtualStorageResourceInfo": [
                         {
@@ -80,8 +83,9 @@ class ResourceTest(TestCase):
                 "id": "2",
                 "vnfInstanceName": "VNF2",
                 "vnfProvider": None,
+                "instantiationState": "INSTANTIATED",
                 "instantiatedVnfInfo": {
-                    "vnfState": None,
+                    "vnfState": "STARTED",
                     "extCpInfo": [],
                     "virtualStorageResourceInfo": [
                         {
@@ -109,7 +113,7 @@ class ResourceTest(TestCase):
 
     def test_get_vnf(self):
         vnf_inst_id = "1"
-        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1').save()
+        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1', status='INSTANTIATED').save()
         StorageInstModel(storageid='s02',
                          vimid='vim01',
                          resouceid='resource01',
@@ -119,10 +123,42 @@ class ResourceTest(TestCase):
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(self.test_data_single_vnf, response.data)
 
+    def test_get_vnf_not_exist(self):
+        response = self.client.get("/api/vnflcm/v1/vnf_instances/x", format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        self.assertEqual({'error': 'VnfInst(x) does not exist.'}, response.data)
+
+    def test_get_vnf_net_not_exist(self):
+        vnf_inst_id = "1"
+        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1', status='INSTANTIATED').save()
+        VLInstModel(ownerid=vnf_inst_id, relatednetworkid='x', ownertype='0').save()
+        response = self.client.get("/api/vnflcm/v1/vnf_instances/%s" % vnf_inst_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        self.assertEqual({'error': 'NetworkInst(x) does not exist.'}, response.data)
+
+    def test_get_vnf_vm_not_exist(self):
+        vnf_inst_id = "1"
+        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1', status='INSTANTIATED').save()
+        VNFCInstModel(instid=vnf_inst_id, vmid='x').save()
+        response = self.client.get("/api/vnflcm/v1/vnf_instances/%s" % vnf_inst_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        self.assertEqual({'error': 'VmInst(x) does not exist.'}, response.data)
+
+    def test_get_vnf_storage_not_exist(self):
+        vnf_inst_id = "1"
+        NfInstModel(nfinstid=vnf_inst_id, nf_name='VNF1', status='INSTANTIATED').save()
+        VNFCInstModel(instid=vnf_inst_id,
+                      vmid='x',).save()
+        VmInstModel(vmid='x', insttype='0').save()
+        response = self.client.get("/api/vnflcm/v1/vnf_instances/%s" % vnf_inst_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        self.assertEqual({'error': 'StorageInst(x) does not exist.'}, response.data)
+
     def test_get_vnfs(self):
         for i in range(1, 3):
             NfInstModel(nfinstid='%s' % i,
-                        nf_name='VNF%s' % i).save()
+                        nf_name='VNF%s' % i,
+                        status='INSTANTIATED').save()
             StorageInstModel(storageid='s0%s' % i,
                              vimid='vim0%s' % i,
                              resouceid='resource0%s' % i,
@@ -131,3 +167,8 @@ class ResourceTest(TestCase):
         response = self.client.get("/api/vnflcm/v1/vnf_instances", format='json')
         self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
         self.assertEqual(self.test_data_multi_vnf, response.data)
+
+    def test_get_vnfs_not_exist(self):
+        response = self.client.get("/api/vnflcm/v1/vnf_instances", format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        self.assertEqual({'error': 'VnfInsts does not exist.'}, response.data)