diff --git a/hier_config/options.py b/hier_config/options.py index f0cc4f9..f6239d7 100644 --- a/hier_config/options.py +++ b/hier_config/options.py @@ -350,7 +350,6 @@ "ip telnet source-interface", "ip tacacs source-interface", "logging source-interface", - "tacacs-server", ], "re_search": "^spanning-tree vlan ([\\d,-]+) priority", } diff --git a/tests/test_various.py b/tests/test_various.py new file mode 100644 index 0000000..f505a77 --- /dev/null +++ b/tests/test_various.py @@ -0,0 +1,26 @@ +from hier_config import HConfig, Host + + +def test_issue104() -> None: + running_config_raw = ( + "tacacs-server deadtime 3\n" "tacacs-server host 192.168.1.99 key 7 Test12345\n" + ) + generated_config_raw = ( + "tacacs-server host 192.168.1.98 key 0 Test135 timeout 3\n" + "tacacs-server host 192.168.100.98 key 0 test135 timeout 3\n" + ) + + host = Host(hostname="test", os="nxos") + running_config = HConfig(host=host) + running_config.load_from_string(running_config_raw) + generated_config = HConfig(host=host) + generated_config.load_from_string(generated_config_raw) + rem = running_config.config_to_get_to(generated_config) + expected_rem_lines = { + "no tacacs-server deadtime 3", + "no tacacs-server host 192.168.1.99 key 7 Test12345", + "tacacs-server host 192.168.1.98 key 0 Test135 timeout 3", + "tacacs-server host 192.168.100.98 key 0 test135 timeout 3", + } + rem_lines = {line.cisco_style_text() for line in rem.all_children()} + assert expected_rem_lines == rem_lines