Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!172Resolve "(CTTC) Extend gNMI-OpenConfig SBI driver"
...@@ -141,7 +141,7 @@ def populate_network_instances_storage( ...@@ -141,7 +141,7 @@ def populate_network_instances_storage(
prefix = match.group(3) prefix = match.group(3)
ni_p_s_storage = network_instance_protocol_static_storage.setdefault((name, protocol, prefix), dict()) ni_p_s_storage = network_instance_protocol_static_storage.setdefault((name, protocol, prefix), dict())
ni_p_s_storage['prefix' ] = prefix 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 continue
match = re.match(r'^\/network\_instance\[([^\]]+)\]\/table\[([^\,]+)\,([^\]]+)\]$', resource_key) match = re.match(r'^\/network\_instance\[([^\]]+)\]\/table\[([^\,]+)\,([^\]]+)\]$', resource_key)
...@@ -161,7 +161,7 @@ def populate_network_instances_storage( ...@@ -161,7 +161,7 @@ def populate_network_instances_storage(
ni_v_storage = network_instance_vlans_storage.setdefault((name, vlan_id), dict()) ni_v_storage = network_instance_vlans_storage.setdefault((name, vlan_id), dict())
ni_v_storage['vlan_id'] = vlan_id ni_v_storage['vlan_id'] = vlan_id
ni_v_storage['name' ] = resource_value.get('name') 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 continue
...@@ -389,6 +389,12 @@ def test_get_network_instances( ...@@ -389,6 +389,12 @@ def test_get_network_instances(
populate_network_instances_storage(storage, results_getconfig) populate_network_instances_storage(storage, results_getconfig)
expected_getconfig = get_expected_network_instance_config(storage) 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)) diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))
num_diffs = len(diff_data) num_diffs = len(diff_data)
if num_diffs > 0: LOGGER.error('Differences[{:d}]:\n{:s}'.format(num_diffs, str(diff_data.pretty()))) 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( ...@@ -481,6 +487,9 @@ def test_set_network_instances(
'protocol': 'DIRECTLY_CONNECTED', 'address_family': 'IPV6' '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)))) LOGGER.info('expected_getconfig = {:s}'.format(str(sorted(expected_getconfig))))
permitted_retries = 5 permitted_retries = 5
...@@ -490,6 +499,12 @@ def test_set_network_instances( ...@@ -490,6 +499,12 @@ def test_set_network_instances(
results_getconfig = driver.GetConfig(resources_to_get) results_getconfig = driver.GetConfig(resources_to_get)
LOGGER.info('results_getconfig = {:s}'.format(str(results_getconfig))) 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)) diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))
num_diffs = len(diff_data) num_diffs = len(diff_data)
if num_diffs == 0: break if num_diffs == 0: break
...@@ -562,6 +577,12 @@ def test_del_network_instances( ...@@ -562,6 +577,12 @@ def test_del_network_instances(
results_getconfig = driver.GetConfig(resources_to_get) results_getconfig = driver.GetConfig(resources_to_get)
LOGGER.info('results_getconfig = {:s}'.format(str(results_getconfig))) 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) expected_getconfig = get_expected_network_instance_config(storage)
diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig)) diff_data = deepdiff.DeepDiff(sorted(expected_getconfig), sorted(results_getconfig))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment