diff options
| -rwxr-xr-x | t/test-protocol-rsync.rb | 91 | ||||
| -rwxr-xr-x | worker/tests/rsync.rb | 19 | 
2 files changed, 109 insertions, 1 deletions
| diff --git a/t/test-protocol-rsync.rb b/t/test-protocol-rsync.rb new file mode 100755 index 0000000..8dfa7b9 --- /dev/null +++ b/t/test-protocol-rsync.rb @@ -0,0 +1,91 @@ +#!/usr/bin/ruby -I../worker/tests/ -I./worker/tests/ + + +require 'test/unit' +require 'rsync' + + + + +# +# Unit test for the RSYNC-protocol probe. +# +class TestRSYNCProtocolProbe < 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 RSYNCTest object. +  # +  def test_init +    test_data_good = { +      "target_host" => "upload.ns.bytemark.co.uk", +      "test_type"   => "rsync", +      "verbose"     => 1, +      "test_port"   => 873, +      "test_alert"  => "DNS upload service is down", +    } + +    # +    # Missing a port number +    # +    test_data_bad_one = { +      "target_host" => "upload.ns.bytemark.co.uk", +      "test_type"   => "rsync", +      "verbose"     => 1, +      "test_alert"  => "DNS upload service is down", +    } + +    # +    #  Missing host to probe +    # +    test_data_bad_two = { +      "test_type"   => "rsync", +      "verbose"     => 1, +      "test_port"   => 873, +      "test_alert"  => "DNS upload service is down", +    } + + +    # +    #  Create a new test object.  This should succeed +    # +    good = RSYNCTest.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 = RSYNCTest.new( test_data_bad_one ) +    end + + +    # +    #  Now create a probe with a missing host. +    # +    assert_raise ArgumentError do +      bad = RSYNCTest.new( test_data_bad_two ) +    end + +  end + + + +end diff --git a/worker/tests/rsync.rb b/worker/tests/rsync.rb index 1d4e49f..02f2dfa 100755 --- a/worker/tests/rsync.rb +++ b/worker/tests/rsync.rb @@ -29,6 +29,23 @@ class RSYNCTest    #    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 +65,7 @@ class RSYNCTest      #  Get the hostname & port to test against.      #      host = @test_data['target_host'] -    port = 873 +    port = @test_data['test_port']      puts "rsync testing host #{host}:#{port}" if ( @test_data['verbose'] ) | 
