From 88b7bcd9aafd7f60acde56259fdb419af100ac78 Mon Sep 17 00:00:00 2001 From: sanket12345 Date: Mon, 9 Jan 2023 05:09:04 +0000 Subject: API support for Upgrade Scenarios -API Support in Automation- ONAPSDK for -Service Upgrade -CNF Upgrade Issue-ID: INT-2187 Change-Id: I09f42f825b818b770f02f1d801bcd0084b8b8bab Signed-off-by: sanket12345 --- tests/test_so_instantiation.py | 72 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) (limited to 'tests/test_so_instantiation.py') diff --git a/tests/test_so_instantiation.py b/tests/test_so_instantiation.py index 5c8f41a..ec796a9 100644 --- a/tests/test_so_instantiation.py +++ b/tests/test_so_instantiation.py @@ -31,6 +31,7 @@ from onapsdk.so.instantiation import ( SoServiceVnf, VfModuleInstantiation, VnfInstantiation, + ServiceOperation, VnfOperation ) from onapsdk.vid import Vid @@ -145,6 +146,48 @@ def test_service_macro_instantiation(mock_service_instantiation_send_message): assert url == (f"{ServiceInstantiation.base_url}/onap/so/infra/" f"serviceInstantiation/{ServiceInstantiation.api_version}/serviceInstances") +##upgrade service +@mock.patch.object(ServiceInstantiation, "send_message_json") +@mock.patch.object(OwningEntity, "get_by_owning_entity_id") +def test_svc_macro_so_action(mock_owning_entity_get, mock_svc_instantiation_send_message): + + mock_sdc_service = mock.MagicMock() + mock_aai_service_instance = mock.MagicMock() + mock_aai_service_instance.instance_id = mock.MagicMock() + mock_aai_service_instance.service_subscription = mock.MagicMock() + with pytest.raises(StatusError): + ServiceInstantiation. \ + so_service_action(operation_svc_type=mock.MagicMock(), + aai_service_instance=mock_aai_service_instance, + platform=mock.MagicMock(), + sdc_service=mock_sdc_service, + so_service=mock.MagicMock()) + relation_1 = mock.MagicMock() + relation_1.related_to = "owning-entity" + relation_1.relationship_data = [{"relationship-value": "test"}] + relation_2 = mock.MagicMock() + relation_2.related_to = "project" + relation_2.relationship_data = [{"relationship-value": "test"}] + + mock_aai_service_instance = mock.MagicMock() + mock_aai_service_instance.instance_id = mock.MagicMock() + mock_aai_service_instance.service_subscription = mock.MagicMock() + mock_aai_service_instance.relationships = (item for item in [relation_1, relation_2]) + + ##upgradeAPI of Service + svc_instance_upgrade = ServiceInstantiation. \ + so_service_action(operation_svc_type=ServiceOperation.UPGRADE_SERVICE, + aai_service_instance=mock_aai_service_instance, + platform=mock.MagicMock(), + sdc_service=mock_sdc_service, + so_service=mock.MagicMock()) + assert svc_instance_upgrade.name.startswith("Python_ONAP_SDK_service_instance_") + mock_svc_instantiation_send_message.assert_called() + method, _, url = mock_svc_instantiation_send_message.call_args[0] + assert method == "POST" + assert url == (f"{ServiceInstantiation.base_url}/onap/so/infra/" + f"serviceInstantiation/{ServiceInstantiation.api_version}/serviceInstances/" + f"{mock_aai_service_instance.instance_id}/upgrade") def test_service_instance_aai_service_instance(): customer_mock = mock.MagicMock() @@ -310,6 +353,7 @@ def test_vnf_macro_so_action(mock_owning_entity_get, mock_vnf_instantiation_send with pytest.raises(StatusError): VnfInstantiation.\ so_action(vnf_instance=mock.MagicMock(), + vnf_object=mock.MagicMock(), operation_type=mock.MagicMock(), aai_service_instance=mock.MagicMock(), line_of_business=mock.MagicMock(), @@ -339,7 +383,8 @@ def test_vnf_macro_so_action(mock_owning_entity_get, mock_vnf_instantiation_send line_of_business=mock.MagicMock(), platform=mock.MagicMock(), sdc_service=mock_sdc_service, - so_service=mock.MagicMock()) + so_service=mock.MagicMock(), + vnf_object=mock.MagicMock()) assert vnf_instance_update.name == "test_name_update" mock_vnf_instantiation_send_message.assert_called() method, _, url = mock_vnf_instantiation_send_message.call_args[0] @@ -358,7 +403,8 @@ def test_vnf_macro_so_action(mock_owning_entity_get, mock_vnf_instantiation_send line_of_business=mock.MagicMock(), platform=mock.MagicMock(), sdc_service=mock_sdc_service, - so_service=mock.MagicMock()) + so_service=mock.MagicMock(), + vnf_object=mock.MagicMock()) assert vnf_instance_healthcheck.name == "test_name_healthcheck" mock_vnf_instantiation_send_message.assert_called() method, _, url = mock_vnf_instantiation_send_message.call_args[0] @@ -368,6 +414,28 @@ def test_vnf_macro_so_action(mock_owning_entity_get, mock_vnf_instantiation_send f"{mock_aai_service_instance.instance_id}/vnfs/{mock_vnf_instance.vnf_id}/healthcheck") + ##upgradeAPI of cnf + mock_vnf_instance = mock.MagicMock() + mock_vnf_instance.vnf_name = "test_name_upgrade" + vnf_instance_upgrade = VnfInstantiation. \ + so_action(vnf_instance=mock_vnf_instance, + operation_type=VnfOperation.UPGRADE, + aai_service_instance=mock_aai_service_instance, + line_of_business=mock.MagicMock(), + platform=mock.MagicMock(), + sdc_service=mock_sdc_service, + so_service=mock.MagicMock(), + vnf_object=mock.MagicMock()) + assert vnf_instance_upgrade.name == "test_name_upgrade" + mock_vnf_instantiation_send_message.assert_called() + method, _, url = mock_vnf_instantiation_send_message.call_args[0] + assert method == "POST" + assert url == (f"{ServiceInstantiation.base_url}/onap/so/infra/" + f"serviceInstantiation/{ServiceInstantiation.api_version}/serviceInstances/" + f"{mock_aai_service_instance.instance_id}/vnfs/{mock_vnf_instance.vnf_id}/upgradeCnf") + + + @mock.patch.object(NetworkInstantiation, "send_message_json") @mock.patch.object(NetworkPreload, "send_message_json") def test_network_instantiation(mock_network_preload, mock_network_instantiation_send_message): -- cgit 1.2.3-korg