Commit f49ad870 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device component - gNMI/OpenConfig Driver:

WORK IN PROGRESS
- Corrected basic unitary test for network instances
parent 48c2413c
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ def populate_network_instances_storage(
            prefix = match.group(3)
            ni_p_s_storage = network_instance_protocol_static_storage.setdefault((name, protocol, prefix), dict())
            ni_p_s_storage['prefix'   ] = prefix
            ni_p_s_storage['next_hops'] = resource_value.get('next_hops')
            ni_p_s_storage['next_hops'] = sorted(resource_value.get('next_hops'))
            continue

        match = re.match(r'^\/network\_instance\[([^\]]+)\]\/table\[([^\,]+)\,([^\]]+)\]$', resource_key)
@@ -161,7 +161,7 @@ def populate_network_instances_storage(
            ni_v_storage = network_instance_vlans_storage.setdefault((name, vlan_id), dict())
            ni_v_storage['vlan_id'] = vlan_id
            ni_v_storage['name'   ] = resource_value.get('name')
            ni_v_storage['members'] = resource_value.get('members')
            ni_v_storage['members'] = sorted(resource_value.get('members'))
            continue


@@ -389,6 +389,12 @@ def test_get_network_instances(
    populate_network_instances_storage(storage, results_getconfig)
    expected_getconfig = get_expected_network_instance_config(storage)

    for resource_key, resource_value in results_getconfig:
        match = re.match(r'^\/network\_instance\[([^\]]+)\]\/vlan\[([^\]]+)\]$', resource_key)
        if match is None: continue
        members = resource_value.get('members')
        if len(members) > 0: resource_value['members'] = sorted(members)

    diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))
    num_diffs = len(diff_data)
    if num_diffs > 0: LOGGER.error('Differences[{:d}]:\n{:s}'.format(num_diffs, str(diff_data.pretty())))
@@ -481,6 +487,9 @@ def test_set_network_instances(
            'protocol': 'DIRECTLY_CONNECTED', 'address_family': 'IPV6'
        })
    ])
    for resource_key, resource_value in expected_getconfig:
        if resource_key == '/network_instance[default]/vlan[1]':
            resource_value['members'] = list()
    LOGGER.info('expected_getconfig = {:s}'.format(str(sorted(expected_getconfig))))

    permitted_retries = 5
@@ -490,6 +499,12 @@ def test_set_network_instances(
        results_getconfig = driver.GetConfig(resources_to_get)
        LOGGER.info('results_getconfig = {:s}'.format(str(results_getconfig)))

        for resource_key, resource_value in results_getconfig:
            match = re.match(r'^\/network\_instance\[([^\]]+)\]\/vlan\[([^\]]+)\]$', resource_key)
            if match is None: continue
            members = resource_value.get('members')
            if len(members) > 0: resource_value['members'] = sorted(members)

        diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))
        num_diffs = len(diff_data)
        if num_diffs == 0: break
@@ -562,6 +577,12 @@ def test_del_network_instances(
    results_getconfig = driver.GetConfig(resources_to_get)
    LOGGER.info('results_getconfig = {:s}'.format(str(results_getconfig)))

    for resource_key, resource_value in results_getconfig:
        match = re.match(r'^\/network\_instance\[([^\]]+)\]\/vlan\[([^\]]+)\]$', resource_key)
        if match is None: continue
        members = resource_value.get('members')
        if len(members) > 0: resource_value['members'] = sorted(members)

    expected_getconfig = get_expected_network_instance_config(storage)

    diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))