From 7c2c32a5df84c04faf02c94221d71b2fd375dff0 Mon Sep 17 00:00:00 2001 From: Marcin Usielski Date: Thu, 16 Jan 2025 08:20:18 +0000 Subject: [PATCH] test --- test/test_helpers.py | 498 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 498 insertions(+) diff --git a/test/test_helpers.py b/test/test_helpers.py index b8712586c..f9f01de1b 100644 --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -1079,3 +1079,501 @@ def test_remove_state_hops_from_sm_adb(): current_hops = remove_state_hops_from_sm(source_hops, "PROXY_PC") assert expected_hops == current_hops + + +def test_remove_proxy_pc(): + from moler.helpers import remove_state_hops_from_sm + source_hops = { + "STCL": { + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STIF": { + "STCL": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STNB": { + "STCL": "OMA", + "STIF": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STNRT": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STUE": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "DB": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STBU": { + "STCL": "STIF", + "STNB": "STIF", + "STNRT": "STIF", + "STUE": "STIF", + "DB": "STIF", + "STTCF": "STIF", + "FISH": "STIF", + "NOT_CONNECTED": "STIF", + "OMA": "STIF", + "PROXY_PC": "STIF", + "STUS": "STIF", + "UNIX_LOCAL": "STIF", + "UNIX_LOCAL_ROOT": "STIF", + "UPUE": "STIF", + }, + "STTCF": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "FISH": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "NOT_CONNECTED": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "PROXY_PC": "UNIX_LOCAL", + "STUS": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "OMA": { + "STBU": "STIF", + "NOT_CONNECTED": "PROXY_PC", + "STUS": "PROXY_PC", + "UNIX_LOCAL": "PROXY_PC", + "UNIX_LOCAL_ROOT": "PROXY_PC", + }, + "PROXY_PC": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "UNIX_LOCAL", + "UNIX_LOCAL_ROOT": "UNIX_LOCAL", + "UPUE": "OMA", + }, + "STUS": { + "STCL": "PROXY_PC", + "STIF": "PROXY_PC", + "STNB": "PROXY_PC", + "STNRT": "PROXY_PC", + "STUE": "PROXY_PC", + "DB": "PROXY_PC", + "STBU": "PROXY_PC", + "STTCF": "PROXY_PC", + "FISH": "PROXY_PC", + "NOT_CONNECTED": "PROXY_PC", + "OMA": "PROXY_PC", + "UNIX_LOCAL": "PROXY_PC", + "UNIX_LOCAL_ROOT": "PROXY_PC", + "UPUE": "PROXY_PC", + }, + "UNIX_LOCAL": { + "STCL": "PROXY_PC", + "STIF": "PROXY_PC", + "STNB": "PROXY_PC", + "STNRT": "PROXY_PC", + "STUE": "PROXY_PC", + "DB": "PROXY_PC", + "STBU": "PROXY_PC", + "STTCF": "PROXY_PC", + "FISH": "PROXY_PC", + "OMA": "PROXY_PC", + "STUS": "PROXY_PC", + "UPUE": "PROXY_PC", + }, + "UNIX_LOCAL_ROOT": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "NOT_CONNECTED": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "PROXY_PC": "UNIX_LOCAL", + "STUS": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "UPUE": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "PROXY_PC": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + }, + } + + expected_hops = { + "STCL": { + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STIF": { + "STCL": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STNB": { + "STCL": "OMA", + "STIF": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STNRT": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STUE": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "DB": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "STBU": { + "STCL": "STIF", + "STNB": "STIF", + "STNRT": "STIF", + "STUE": "STIF", + "DB": "STIF", + "STTCF": "STIF", + "FISH": "STIF", + "NOT_CONNECTED": "STIF", + "OMA": "STIF", + "STUS": "STIF", + "UNIX_LOCAL": "STIF", + "UNIX_LOCAL_ROOT": "STIF", + "UPUE": "STIF", + }, + "STTCF": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "FISH": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + "UPUE": "OMA", + }, + "NOT_CONNECTED": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "STUS": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "OMA": { + "STBU": "STIF", + "NOT_CONNECTED": "UNIX_LOCAL", + "STUS": "UNIX_LOCAL", + "UNIX_LOCAL_ROOT": "UNIX_LOCAL", + }, + "STUS": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "NOT_CONNECTED": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "UNIX_LOCAL_ROOT": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "UNIX_LOCAL": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "UPUE": "OMA", + }, + "UNIX_LOCAL_ROOT": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "NOT_CONNECTED": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "STUS": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "UPUE": { + "STCL": "OMA", + "STIF": "OMA", + "STNB": "OMA", + "STNRT": "OMA", + "STUE": "OMA", + "DB": "OMA", + "STBU": "OMA", + "STTCF": "OMA", + "FISH": "OMA", + "NOT_CONNECTED": "OMA", + "STUS": "OMA", + "UNIX_LOCAL": "OMA", + "UNIX_LOCAL_ROOT": "OMA", + }, + } + forbidden_hops = { + 'STUS': { + 'STCL': 'OMA', + 'STIF': 'OMA', + 'STNB': 'OMA', + 'STNRT': 'OMA', + 'STUE': 'OMA', + 'DB': 'OMA', + 'STBU': 'OMA', + 'STTCF': 'OMA', + 'FISH': 'OMA', + 'UPUE': 'OMA', + } + } + + additional_hops = { + "STUS": { + "STCL": "UNIX_LOCAL", + "STIF": "UNIX_LOCAL", + "STNB": "UNIX_LOCAL", + "STNRT": "UNIX_LOCAL", + "STUE": "UNIX_LOCAL", + "DB": "UNIX_LOCAL", + "STBU": "UNIX_LOCAL", + "STTCF": "UNIX_LOCAL", + "FISH": "UNIX_LOCAL", + "OMA": "UNIX_LOCAL", + "UPUE": "UNIX_LOCAL", + }, + "OMA": { + "STUS": "UNIX_LOCAL", + }, + } + + current_hops = remove_state_hops_from_sm(source_hops=source_hops, state_to_remove="PROXY_PC", forbidden_hops=forbidden_hops, + additional_hops=additional_hops) + assert expected_hops == current_hops