Add notification system util in GVNFM
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / tests / test_query_vnf_lcm_op.py
index 2e1c15a..b08d4b0 100644 (file)
@@ -25,7 +25,7 @@ class TestVNFLcmOpOccs(TestCase):
         self.client = Client()
         self.vnf_lcm_op_occ_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
         VNFLcmOpOccModel.objects.all().delete()
-        self.test_single_vnf_lcm_op = [{
+        self.test_single_vnf_lcm_op = {
             "id": "99442b18-a5c7-11e8-998c-bf1755941f16",
             "operationState": "STARTING",
             "stateEnteredTime": "2018-07-09",
@@ -42,10 +42,12 @@ class TestVNFLcmOpOccs(TestCase):
             "changedInfo": None,
             "changedExtConnectivity": None,
             "_links": {
-                "self": "demo",
+                "self": {
+                    "href": "demo"
+                },
                 "vnfInstance": "demo"
             }
-        }]
+        }
         self.test_vnflcmop_with_exclude_default = [{
             "id": "99442b18-a5c7-11e8-998c-bf1755941f16",
             "operationState": "STARTING",
@@ -58,7 +60,9 @@ class TestVNFLcmOpOccs(TestCase):
             "isCancelPending": False,
             "cancelMode": None,
             "_links": {
-                "self": "demo",
+                "self": {
+                    "href": "demo"
+                },
                 "vnfInstance": "demo"
             }
         }]
@@ -80,17 +84,19 @@ class TestVNFLcmOpOccs(TestCase):
             "changedInfo": None,
             "changedExtConnectivity": None,
             "_links": {
-                "self": "demo",
+                "self": {
+                    "href": "demo"
+                },
                 "vnfInstance": "demo"
             }
         }]
         self.test_multiple_vnf_lcm_op.append(
-            self.test_single_vnf_lcm_op[0])
+            self.test_single_vnf_lcm_op)
 
     def tearDown(self):
         pass
 
-    def test_get_vnflcmopocc(self):
+    def test_get_vnflcmopoccs(self):
         lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
         vnf_instance_id = "cd552c9c-ab6f-11e8-b354-236c32aa91a1"
         VNFLcmOpOccModel(id=lcm_op_id, operation_state="STARTING",
@@ -99,12 +105,12 @@ class TestVNFLcmOpOccs(TestCase):
                          grant_id=None, operation="SCALE", is_automatic_invocation=False,
                          operation_params='{}', is_cancel_pending=False, cancel_mode=None,
                          error=None, resource_changes=None, changed_ext_connectivity=None,
-                         links=json.dumps({"self": "demo", "vnfInstance": "demo"})).save()
+                         links=json.dumps({"self": {"href": "demo"}, "vnfInstance": "demo"})).save()
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs", format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
-        self.assertEqual(self.test_single_vnf_lcm_op, response.data)
+        self.assertEqual([self.test_single_vnf_lcm_op], response.data)
 
-    def test_get_vnflcmopocc_with_id_not_exist(self):
+    def test_get_vnflcmopoccs_with_id_not_exist(self):
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs?id=dummy", format='json')
         self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
         expected_data = {
@@ -113,7 +119,7 @@ class TestVNFLcmOpOccs(TestCase):
         }
         self.assertEqual(expected_data, response.data)
 
-    def test_get_vnflcmopocc_with_filters(self):
+    def test_get_vnflcmopoccs_with_filters(self):
         lcm_op_id = "a6b9415c-ab99-11e8-9d37-dbb5e0378955"
         vnf_instance_id = "cd552c9c-ab6f-11e8-b354-236c32aa91a1"
         VNFLcmOpOccModel(id=lcm_op_id, operation_state="STARTING",
@@ -122,7 +128,7 @@ class TestVNFLcmOpOccs(TestCase):
                          grant_id=None, operation="INSTANTIATE", is_automatic_invocation=False,
                          operation_params='{}', is_cancel_pending=False, cancel_mode=None,
                          error=None, resource_changes=None, changed_ext_connectivity=None,
-                         links=json.dumps({"self": "demo", "vnfInstance": "demo"})).save()
+                         links=json.dumps({"self": {"href": "demo"}, "vnfInstance": "demo"})).save()
 
         lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
         VNFLcmOpOccModel(id=lcm_op_id, operation_state="STARTING",
@@ -131,20 +137,20 @@ class TestVNFLcmOpOccs(TestCase):
                          grant_id=None, operation="SCALE", is_automatic_invocation=False,
                          operation_params='{}', is_cancel_pending=False, cancel_mode=None,
                          error=None, resource_changes=None, changed_ext_connectivity=None,
-                         links=json.dumps({"self": "demo", "vnfInstance": "demo"})).save()
+                         links=json.dumps({"self": {"href": "demo"}, "vnfInstance": "demo"})).save()
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs", format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(self.test_multiple_vnf_lcm_op, response.data)
 
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs?operation=SCALE", format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
-        self.assertEqual(self.test_single_vnf_lcm_op, response.data)
+        self.assertEqual([self.test_single_vnf_lcm_op], response.data)
 
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs?vnfInstanceId=%s" % vnf_instance_id, format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(self.test_multiple_vnf_lcm_op, response.data)
 
-    def test_get_vnflcmopocc_with_extra_flags(self):
+    def test_get_vnflcmopoccs_with_extra_flags(self):
         lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
         vnf_instance_id = "cd552c9c-ab6f-11e8-b354-236c32aa91a1"
         VNFLcmOpOccModel(id=lcm_op_id, operation_state="STARTING",
@@ -153,7 +159,31 @@ class TestVNFLcmOpOccs(TestCase):
                          grant_id=None, operation="SCALE", is_automatic_invocation=False,
                          operation_params='{}', is_cancel_pending=False, cancel_mode=None,
                          error=None, resource_changes=None, changed_ext_connectivity=None,
-                         links=json.dumps({"self": "demo", "vnfInstance": "demo"})).save()
+                         links=json.dumps({"self": {"href": "demo"}, "vnfInstance": "demo"})).save()
         response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs?exclude_default", format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(self.test_vnflcmop_with_exclude_default, response.data)
+
+    def test_get_vnflcmopocc_with_id(self):
+        lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
+        vnf_instance_id = "cd552c9c-ab6f-11e8-b354-236c32aa91a1"
+        VNFLcmOpOccModel(id=lcm_op_id, operation_state="STARTING",
+                         state_entered_time="2018-07-09", start_time="2018-07-09",
+                         vnf_instance_id=vnf_instance_id,
+                         grant_id=None, operation="SCALE", is_automatic_invocation=False,
+                         operation_params='{}', is_cancel_pending=False, cancel_mode=None,
+                         error=None, resource_changes=None, changed_ext_connectivity=None,
+                         links=json.dumps({"self": {"href": "demo"}, "vnfInstance": "demo"})).save()
+        response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs/" + lcm_op_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(self.test_single_vnf_lcm_op, response.data)
+
+    def test_single_vnflcmopocc_with_unknown_id(self):
+        lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
+        response = self.client.get("/api/vnflcm/v1/vnf_lcm_op_occs/" + lcm_op_id, format='json')
+        self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+        expected_data = {
+            "status": 500,
+            "detail": "LCM Operation Occurance does not exist"
+        }
+        self.assertEqual(expected_data, response.data)