diff options
-rwxr-xr-x | t/test-protocol-ssh.rb | 91 | ||||
-rwxr-xr-x | worker/tests/ssh.rb | 18 |
2 files changed, 109 insertions, 0 deletions
diff --git a/t/test-protocol-ssh.rb b/t/test-protocol-ssh.rb new file mode 100755 index 0000000..2f4f998 --- /dev/null +++ b/t/test-protocol-ssh.rb @@ -0,0 +1,91 @@ +#!/usr/bin/ruby -I../worker/tests/ -I./worker/tests/ + + +require 'test/unit' +require 'ssh' + + + + +# +# Unit test for the SSH-protocol probe. +# +class TestSSHProtocolProbe < Test::Unit::TestCase + + # + # Create the test suite environment: NOP. + # + def setup + end + + # + # Destroy the test suite environment: NOP. + # + def teardown + end + + + # + # Test we can create a new SSHTest object. + # + def test_init + test_data_good = { + "target_host" => "127.0.0.1", + "test_type" => "ssh", + "verbose" => 1, + "test_port" => 22, + "test_alert" => "SSH service down", + } + + # + # Missing a port number + # + test_data_bad_one = { + "target_host" => "127.0.0.1", + "test_type" => "ssh", + "verbose" => 1, + "test_alert" => "SSH service down", + } + + # + # Missing a host to probe + # + test_data_bad_two = { + "test_type" => "ssh", + "verbose" => 1, + "test_port" => 22, + "test_alert" => "SSH service down", + } + + + # + # Create a new test object. This should succeed + # + good = SSHTest.new( test_data_good ) + assert( good ) + + # + # There will be no error setup + # + assert( good.error().nil? ) + + # + # Now create a probe with a missing port. + # + assert_raise ArgumentError do + bad = SSHTest.new( test_data_bad_one ) + end + + + # + # Now create a probe with a missing host. + # + assert_raise ArgumentError do + bad = SSHTest.new( test_data_bad_two ) + end + + end + + + +end diff --git a/worker/tests/ssh.rb b/worker/tests/ssh.rb index 9f15860..18815b4 100755 --- a/worker/tests/ssh.rb +++ b/worker/tests/ssh.rb @@ -27,6 +27,24 @@ class SSHTest # def initialize( data ) @test_data = data + @error = nil + + + # + # Ensure we have a host to probe + # + if ( @test_data["target_host"].nil? ) + @error = "Missing target for the test." + raise ArgumentError, @error + end + + # + # Ensure we have a port to test. + # + if ( @test_data["test_port"].nil? ) + @error = "Missing port for the test." + raise ArgumentError, @error + end end |