summaryrefslogtreecommitdiffstats
path: root/lcm/lcm/nf/tests/test_query_vnf_lcm_op.py
diff options
context:
space:
mode:
Diffstat (limited to 'lcm/lcm/nf/tests/test_query_vnf_lcm_op.py')
-rw-r--r--lcm/lcm/nf/tests/test_query_vnf_lcm_op.py189
1 files changed, 189 insertions, 0 deletions
diff --git a/lcm/lcm/nf/tests/test_query_vnf_lcm_op.py b/lcm/lcm/nf/tests/test_query_vnf_lcm_op.py
new file mode 100644
index 00000000..b08d4b05
--- /dev/null
+++ b/lcm/lcm/nf/tests/test_query_vnf_lcm_op.py
@@ -0,0 +1,189 @@
+# Copyright (C) 2018 Verizon. All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# 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.
+
+import json
+
+from django.test import TestCase, Client
+from rest_framework import status
+
+from lcm.pub.database.models import VNFLcmOpOccModel
+
+
+class TestVNFLcmOpOccs(TestCase):
+ def setUp(self):
+ self.client = Client()
+ self.vnf_lcm_op_occ_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
+ VNFLcmOpOccModel.objects.all().delete()
+ self.test_single_vnf_lcm_op = {
+ "id": "99442b18-a5c7-11e8-998c-bf1755941f16",
+ "operationState": "STARTING",
+ "stateEnteredTime": "2018-07-09",
+ "startTime": "2018-07-09",
+ "vnfInstanceId": "cd552c9c-ab6f-11e8-b354-236c32aa91a1",
+ "grantId": None,
+ "operation": "SCALE",
+ "isAutomaticInvocation": False,
+ "operationParams": {},
+ "isCancelPending": False,
+ "cancelMode": None,
+ "error": None,
+ "resourceChanges": None,
+ "changedInfo": None,
+ "changedExtConnectivity": None,
+ "_links": {
+ "self": {
+ "href": "demo"
+ },
+ "vnfInstance": "demo"
+ }
+ }
+ self.test_vnflcmop_with_exclude_default = [{
+ "id": "99442b18-a5c7-11e8-998c-bf1755941f16",
+ "operationState": "STARTING",
+ "stateEnteredTime": "2018-07-09",
+ "startTime": "2018-07-09",
+ "vnfInstanceId": "cd552c9c-ab6f-11e8-b354-236c32aa91a1",
+ "grantId": None,
+ "operation": "SCALE",
+ "isAutomaticInvocation": False,
+ "isCancelPending": False,
+ "cancelMode": None,
+ "_links": {
+ "self": {
+ "href": "demo"
+ },
+ "vnfInstance": "demo"
+ }
+ }]
+
+ self.test_multiple_vnf_lcm_op = [{
+ "id": "a6b9415c-ab99-11e8-9d37-dbb5e0378955",
+ "operationState": "STARTING",
+ "stateEnteredTime": "2018-07-09",
+ "startTime": "2018-07-09",
+ "vnfInstanceId": "cd552c9c-ab6f-11e8-b354-236c32aa91a1",
+ "grantId": None,
+ "operation": "INSTANTIATE",
+ "isAutomaticInvocation": False,
+ "operationParams": {},
+ "isCancelPending": False,
+ "cancelMode": None,
+ "error": None,
+ "resourceChanges": None,
+ "changedInfo": None,
+ "changedExtConnectivity": None,
+ "_links": {
+ "self": {
+ "href": "demo"
+ },
+ "vnfInstance": "demo"
+ }
+ }]
+ self.test_multiple_vnf_lcm_op.append(
+ self.test_single_vnf_lcm_op)
+
+ def tearDown(self):
+ pass
+
+ 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",
+ 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", format='json')
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertEqual([self.test_single_vnf_lcm_op], response.data)
+
+ 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 = {
+ "status": 500,
+ "detail": "LCM Operation Occurances do not exist"
+ }
+ self.assertEqual(expected_data, response.data)
+
+ 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",
+ state_entered_time="2018-07-09", start_time="2018-07-09",
+ vnf_instance_id=vnf_instance_id,
+ 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": {"href": "demo"}, "vnfInstance": "demo"})).save()
+
+ lcm_op_id = "99442b18-a5c7-11e8-998c-bf1755941f16"
+ 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", 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)
+
+ 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_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",
+ 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?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)