Exemple #1
0
def test_pnf_instance_pnf():
    service_instance = mock.MagicMock()
    pnf_instance = PnfInstance.create_from_api_response(
        PNF_INSTANCE, service_instance)

    assert pnf_instance._pnf is None
    service_instance.sdc_service.pnfs = []
    with pytest.raises(ResourceNotFound) as exc:
        pnf_instance.pnf
    assert exc.type == ResourceNotFound
    assert pnf_instance._pnf is None

    pnf = mock.MagicMock()
    pnf.model_version_id = "da467f24-a26d-4620-b185-e1afa1d365ac"
    service_instance.sdc_service.pnfs = [pnf]
    assert pnf == pnf_instance.pnf
    assert pnf_instance._pnf is not None
    assert pnf_instance.pnf == pnf_instance._pnf
Exemple #2
0
def test_create_pnf_instance_from_api_response():
    service_instance = mock.MagicMock()
    pnf_instance = PnfInstance.create_from_api_response(
        PNF_INSTANCE, service_instance)
    assert pnf_instance.pnf_name == "blablabla"
    assert pnf_instance.pnf_id == "546b282b-2ff7-41a4-9329-55c9a2888477"
    assert pnf_instance.equip_type == "pnf"
    assert pnf_instance.equip_vendor == "PNF"
    assert pnf_instance.equip_model == "Simulated Device"
    assert pnf_instance.orchestration_status == "Active"
    assert pnf_instance.ipaddress_v4_oam == "172.30.1.6"
    assert pnf_instance.sw_version == "2.3.5"
    assert pnf_instance.in_maint == False
    assert pnf_instance.serial_number == "123"
    assert pnf_instance.ipaddress_v6_oam == "0:0:0:0:0:ffff:a0a:011"
    assert pnf_instance.resource_version == "1610142659380"
    assert pnf_instance.nf_role == "sdn controller"
    assert pnf_instance.model_customization_id == "137ce8e8-bee9-465f-b7e1-0c006f10b443"
    assert pnf_instance.model_invariant_id == "2ca7ea68-cf61-449c-a733-8122bcac1f9a"
    assert pnf_instance.model_version_id == "da467f24-a26d-4620-b185-e1afa1d365ac"

    assert pnf_instance.url.endswith(pnf_instance.pnf_name)
Exemple #3
0
def test_delete_pnf_instance(mock_send_message):
    pnf = PnfInstance(mock.MagicMock, "test_pnf", False)
    pnf.delete()
    method, _, address = mock_send_message.call_args[0]
    assert method == "DELETE"
    assert address == f"{pnf.url}?resource-version={pnf.resource_version}"
Exemple #4
0
def test_build_so_input(mock_send_message):

    pnf = mock.MagicMock()
    pnf.model_version_id = "test_pnf_model_version_id"
    pnf.model_name = "test_model"

    vnf = mock.MagicMock()
    vnf.model_version_id = "test_vnf_model_version_id"
    vnf.model_name = "vnf_test_model"

    vf_module = mock.MagicMock()
    vf_module.model_version_id = "test_vfm_model_version_id"
    vf_module.model_name = "test..vfm_model..name"

    vnf.vf_modules = [vf_module]

    instance = mock.MagicMock()
    instance.service_subscription = mock.MagicMock()
    instance.service_subscription.service_type = "1234"

    instance.sdc_service.pnfs = [pnf]
    instance.sdc_service.vnfs = [vnf]

    pnf_instance = PnfInstance(instance,
                               pnf_name="test_pnf",
                               in_maint=False,
                               model_version_id="test_pnf_model_version_id")

    vnf_instance = VnfInstance(instance,
                               vnf_name="test_name",
                               vnf_id="test_vnf_id",
                               vnf_type="test_vnf_type",
                               in_maint=False,
                               is_closed_loop_disabled=True,
                               model_version_id="test_vnf_model_version_id")

    vf_module_instance = VfModuleInstance(
        vnf_instance=vnf_instance,
        vf_module_name="test_vfm_name",
        model_version_id="test_vfm_model_version_id",
        vf_module_id="test_vf_module_id",
        is_base_vf_module=True,
        automated_assignment=False)

    vnf_instance.vnf.vf_modules = [vf_module]
    type(vnf_instance).vf_modules = mock.PropertyMock(
        return_value=[vf_module_instance])
    instance.pnfs = [pnf_instance]
    instance.vnf_instances = [vnf_instance]

    test_so_input_no_params = vnf_instance._build_so_input()

    assert isinstance(test_so_input_no_params, SoService)
    assert len(test_so_input_no_params.vnfs[0].parameters) == 0

    vnf_param1 = mock.MagicMock()
    vnf_param1.name = "test_name"
    vnf_param1.value = "test_value"

    test_so_input = vnf_instance._build_so_input([vnf_param1])

    assert isinstance(test_so_input, SoService)
    assert test_so_input.subscription_service_type == "1234"
    assert not test_so_input.instance_name
    assert len(test_so_input.vnfs) == 1

    test_so_input_vnf = test_so_input.vnfs[0]

    assert test_so_input_vnf.model_name == "vnf_test_model"
    assert test_so_input_vnf.instance_name == "test_name"
    assert len(test_so_input_vnf.parameters) == 1
    assert test_so_input_vnf.parameters["test_name"] == "test_value"
    assert len(test_so_input_vnf.vf_modules) == 1

    test_so_input_vnf_vf_module = test_so_input_vnf.vf_modules[0]

    assert test_so_input_vnf_vf_module.model_name == "vfm_model"
    assert test_so_input_vnf_vf_module.instance_name == "test_vfm_name"
    assert len(test_so_input_vnf_vf_module.parameters) == 0

    assert len(test_so_input.pnfs) == 1
    assert test_so_input.pnfs[0].model_name == "test_model"
    assert test_so_input.pnfs[0].instance_name == "test_pnf"
Exemple #5
0
def test_pnf_count(mock_send_message_json):
    mock_send_message_json.return_value = COUNT
    assert PnfInstance.count() == 12