summaryrefslogtreecommitdiff
path: root/test/test_config.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_config.rb')
-rw-r--r--test/test_config.rb128
1 files changed, 127 insertions, 1 deletions
diff --git a/test/test_config.rb b/test/test_config.rb
index 3a10cd2..d44fbce 100644
--- a/test/test_config.rb
+++ b/test/test_config.rb
@@ -310,7 +310,7 @@ class TestConfig < NetSSHTest
net_ssh = Net::SSH::Config.translate(config)
assert_equal true, net_ssh[:forward_agent]
assert_equal true, net_ssh[:compression]
- assert_equal 2345, net_ssh[:port]
+ assert_equal 22, net_ssh[:port]
end
def test_load_with_match_block_with_host
@@ -361,6 +361,132 @@ class TestConfig < NetSSHTest
end
end
+ def test_load_with_match_block_with_multi_space_separated_hosts_condition
+ # Extra tabs are thrown in between, for good measure
+ data = %q{
+ Match host foo,*.baz.com
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_equal 1234, config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_equal 1234, config['port']
+ end
+ end
+
+ def test_load_with_match_block_with_quoted_hosts_condition
+ data = %q{
+ Match host "foo,*.baz.com"
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_equal 1234, config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_equal 1234, config['port']
+ end
+ end
+
+ def test_load_with_match_block_with_equal_signed_hosts_condition
+ data = %q{
+ Match host=foo,*.baz.com
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_equal 1234, config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_equal 1234, config['port']
+ end
+ end
+
+ def test_load_with_match_block_with_quoted_equal_signed_hosts_condition
+ data = %q{
+ Match host="foo,*.baz.com"
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_equal 1234, config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_equal 1234, config['port']
+ end
+ end
+
+ def test_load_with_match_block_with_whitespace_separated_equal_signed_hosts_condition
+ data = %q{
+ Match host = foo,*.baz.com
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_equal 1234, config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_equal 1234, config['port']
+ end
+ end
+
+ def test_load_with_match_block_with_multi_equal_signed_hosts_condition
+ data = %q{
+ Match host==foo,*.baz.com
+ Port 1234
+ Compression no
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "foo")
+ assert_nil config['port']
+ end
+ end
+
+ def test_load_with_multiple_hosts_criteria
+ data = %q{
+ Match host *.baz.com host !bar.baz.com
+ Port 1234
+ }
+ with_config_from_data data do |f|
+ config = Net::SSH::Config.load(f, "bar2")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bbaz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "bar.baz.com")
+ assert_nil config['port']
+ config = Net::SSH::Config.load(f, "meh.baz.com")
+ assert_equal 1234, config['port']
+ end
+ end
+
private
def with_home_env(value,&block)