diff options
-rwxr-xr-x | t/test-protocol-jabber.rb | 91 | ||||
-rwxr-xr-x | worker/tests/jabber.rb | 21 |
2 files changed, 111 insertions, 1 deletions
diff --git a/t/test-protocol-jabber.rb b/t/test-protocol-jabber.rb new file mode 100755 index 0000000..7d9ac27 --- /dev/null +++ b/t/test-protocol-jabber.rb @@ -0,0 +1,91 @@ +#!/usr/bin/ruby -I../worker/tests/ -I./worker/tests/ + + +require 'test/unit' +require 'jabber' + + + + +# +# Unit test for the Jabber-protocol probe. +# +class TestJABBERProtocolProbe < 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 JABBERTest object. + # + def test_init + test_data_good = { + "target_host" => "chat.bytemark.co.uk", + "test_type" => "jabber", + "test_port" => 5222, + "verbose" => 1, + "test_alert" => "Chat server is down", + } + + # + # Missing a port number + # + test_data_bad_one = { + "target_host" => "chat.bytemark.co.uk", + "test_type" => "jabber", + "verbose" => 1, + "test_alert" => "Chat server is down", + } + + # + # Missing a host to probe + # + test_data_bad_two = { + "test_type" => "jabber", + "test_port" => 5222, + "verbose" => 1, + "test_alert" => "Chat server is down", + } + + + # + # Create a new test object. This should succeed + # + good = JABBERTest.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 = JABBERTest.new( test_data_bad_one ) + end + + + # + # Now create a probe with a missing host. + # + assert_raise ArgumentError do + bad = JABBERTest.new( test_data_bad_two ) + end + + end + + + +end diff --git a/worker/tests/jabber.rb b/worker/tests/jabber.rb index bc4a5ec..ab628d5 100755 --- a/worker/tests/jabber.rb +++ b/worker/tests/jabber.rb @@ -29,6 +29,25 @@ class JABBERTest # 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 @@ -48,7 +67,7 @@ class JABBERTest # Get the hostname & port to test against. # host = @test_data['target_host'] - port = 5222 + port = @test_data['test_port'] puts "Jabber testing host #{host}:#{port}" if ( @test_data['verbose'] ) |