From bb7533ad0175979f893724eed272148ff65f438c Mon Sep 17 00:00:00 2001 From: "peukerl@telekom.de" Date: Fri, 16 Jun 2023 09:05:05 +0200 Subject: pnf-functionalities added, parameters for service-instantiation added Issue-ID: INT-2250 Signed-off-by: peukerl@telekom.de Change-Id: I71d7ea0e05be0571a195c093a59fe3d08a138493 --- tests/test_so_instantiation.py | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'tests/test_so_instantiation.py') diff --git a/tests/test_so_instantiation.py b/tests/test_so_instantiation.py index 1374b84..8f2a93e 100644 --- a/tests/test_so_instantiation.py +++ b/tests/test_so_instantiation.py @@ -32,6 +32,7 @@ from onapsdk.so.instantiation import ( VfModuleInstantiation, VnfInstantiation, PnfInstantiation, + PnfRegistrationParameters, ServiceOperation, VnfOperation ) @@ -946,6 +947,59 @@ def test_service_instantiation_multicloud(mock_send_message_json): data = json.loads(kwargs["data"]) assert any(filter(lambda x: x == {"name": "orchestrator", "value": "multicloud"}, data["requestDetails"]["requestParameters"]["userParams"])) +@mock.patch.object(PnfInstantiation, "send_message_json") +@mock.patch.object(OwningEntity, "get_by_owning_entity_id") +def test_pnf_instantiation_so_service(mock_owning_entity_get, mock_send_message_json): + aai_service_instance_mock = mock.MagicMock() + aai_service_instance_mock.instance_id = "test_instance_id" + + 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"}] + + aai_service_instance_mock.relationships = (item for item in [relation_1, relation_2]) + + so_pnf = SoServicePnf( + model_name="test_so_service_pnf_model_name_1", + instance_name="test_so_service_pnf_instance_name_1", + registration_parameters=PnfRegistrationParameters( + model_number="test_model_number", + oam_v4_ip_address="test_ip", + oam_v6_ip_address="test_mac", + serial_number="test_serial_number", + software_version="test_software_version", + unit_type="test_unit_type", + vendor_name="test_vendor" + ) + ) + + _ = PnfInstantiation. \ + instantiate_macro(aai_service_instance=aai_service_instance_mock, + pnf_object=mock.MagicMock(), + line_of_business="test_lob", + platform="test_platform", + cloud_region=mock.MagicMock(), + tenant=mock.MagicMock(), + sdc_service=mock.MagicMock(), + so_pnf=so_pnf) + + _, kwargs = mock_send_message_json.call_args + data = json.loads(kwargs["data"]) + + pnf_data = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["pnfs"][0] + + assert pnf_data["instanceName"] == "test_so_service_pnf_instance_name_1" + + assert pnf_data["pnfRegistrationFields"]["modelNumber"] == "test_model_number" + assert pnf_data["pnfRegistrationFields"]["oamV4IpAddress"] == "test_ip" + assert pnf_data["pnfRegistrationFields"]["oamV6IpAddress"] == "test_mac" + assert pnf_data["pnfRegistrationFields"]["serialNumber"] == "test_serial_number" + assert pnf_data["pnfRegistrationFields"]["softwareVersion"] == "test_software_version" + assert pnf_data["pnfRegistrationFields"]["unitType"] == "test_unit_type" + assert pnf_data["pnfRegistrationFields"]["vendorName"] == "test_vendor" @mock.patch.object(ServiceInstantiation, "send_message_json") def test_service_instantiation_so_service(mock_send_message_json): @@ -954,6 +1008,10 @@ def test_service_instantiation_so_service(mock_send_message_json): so_service = SoService( subscription_service_type="test_so_service", + parameters={ + "service_param_1": "service_param_1_value", + "service_param_2": "service_param_2_value" + }, vnfs=[ SoServiceVnf( model_name="test_so_service_vnf_model_name_1", @@ -1014,11 +1072,17 @@ def test_service_instantiation_so_service(mock_send_message_json): assert data["requestDetails"]["requestParameters"]["subscriptionServiceType"] == "test_so_service" assert len(data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["vnfs"]) == 2 assert len(data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["pnfs"]) == 2 + + instance_params = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["instanceParams"] vnf_1_data = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["vnfs"][0] vnf_2_data = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["vnfs"][1] pnf_1_data = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["pnfs"][0] pnf_2_data = data["requestDetails"]["requestParameters"]["userParams"][1]["service"]["resources"]["pnfs"][1] + assert len(instance_params[0]) == 2 + assert instance_params[0]["service_param_1"] == "service_param_1_value" + assert instance_params[0]["service_param_2"] == "service_param_2_value" + assert vnf_1_data["instanceName"] == "test_so_service_vnf_instance_name_1" assert len(vnf_1_data["instanceParams"][0]) == 2 assert vnf_1_data["instanceParams"][0]["param_1"] == "param_1_value" -- cgit 1.2.3-korg