diff --git a/src/device/tests/test_unitary_gnmi_openconfig.py b/src/device/tests/test_unitary_gnmi_openconfig.py index 4c2dca5d56aa34d7d51a8d92bf98417e856d3774..7d33d1a71e6a999ebdc549d327c27d4357c476d3 100644 --- a/src/device/tests/test_unitary_gnmi_openconfig.py +++ b/src/device/tests/test_unitary_gnmi_openconfig.py @@ -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))