diff options
author | Jeff Forcier <jeff@bitprophet.org> | 2019-12-03 14:04:00 -0500 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2019-12-03 14:04:00 -0500 |
commit | 84fa355a253d30d6c39adaea8bb095ced0c3b751 (patch) | |
tree | dda481f679fbd57b7a1760dfa42903b5a9e58b59 /tests | |
parent | 8ce1e4c36c43363dcc5964daaf6e06754bf12cc2 (diff) |
Apply %h tokenization to HostName
This was another spot that incidentally occurred in older (and moved)
code, but was made incorrect after cleanup
Diffstat (limited to 'tests')
-rw-r--r-- | tests/configs/hostname-exec-tokenized | 2 | ||||
-rw-r--r-- | tests/configs/hostname-tokenized | 1 | ||||
-rw-r--r-- | tests/test_config.py | 10 |
3 files changed, 13 insertions, 0 deletions
diff --git a/tests/configs/hostname-exec-tokenized b/tests/configs/hostname-exec-tokenized new file mode 100644 index 00000000..1cae2c03 --- /dev/null +++ b/tests/configs/hostname-exec-tokenized @@ -0,0 +1,2 @@ +Match exec "ping %h" + HostName pingable.%h diff --git a/tests/configs/hostname-tokenized b/tests/configs/hostname-tokenized new file mode 100644 index 00000000..1905c0cc --- /dev/null +++ b/tests/configs/hostname-tokenized @@ -0,0 +1 @@ +HostName prefix.%h diff --git a/tests/test_config.py b/tests/test_config.py index 7c86667a..5e9aa059 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -467,6 +467,10 @@ Host * cmd = config.lookup("some-random-host")["proxycommand"] assert cmd == "default-proxy" + def test_hostname_tokenization(self): + result = load_config("hostname-tokenized").lookup("whatever") + assert result["hostname"] == "prefix.whatever" + class TestSSHConfigDict(object): def test_SSHConfigDict_construct_empty(self): @@ -774,6 +778,12 @@ class TestMatchExec(object): with raises(ConfigParseError): load_config("match-exec-no-arg") + @patch("paramiko.config.invoke.run") + def test_works_with_tokenized_hostname(self, run): + run.side_effect = _expect("ping target") + result = load_config("hostname-exec-tokenized").lookup("target") + assert result["hostname"] == "pingable.target" + class TestMatchHost(object): def test_matches_target_name_when_no_hostname(self): |