diff options
Diffstat (limited to 't')
| -rwxr-xr-x | t/test-custodian-util-ping.rb | 99 | 
1 files changed, 99 insertions, 0 deletions
| diff --git a/t/test-custodian-util-ping.rb b/t/test-custodian-util-ping.rb new file mode 100755 index 0000000..2659b5b --- /dev/null +++ b/t/test-custodian-util-ping.rb @@ -0,0 +1,99 @@ +#!/usr/bin/ruby1.8 -I./lib/ -I../lib/ + + +require 'custodian/util/ping' +require 'test/unit' + + + +# +# Unit test for our ping utility class. +# +# +class TestPingUtil < Test::Unit::TestCase + +  # +  # Create the test suite environment: NOP. +  # +  def setup +  end + +  # +  # Destroy the test suite environment: NOP. +  # +  def teardown +  end + + +  # +  # Test we can construct new objects. +  # +  def test_init + +    # +    # Normal construction works. +    # +    assert_nothing_raised do +        Custodian::Util::Ping.new("foo") +    end + +    # +    # A hostname must be supplied +    # +    assert_raise ArgumentError do +        Custodian::Util::Ping.new( nil ) +    end + + +    # +    # A hostname is a string, not an array, hash, or similar. +    # +    assert_raise ArgumentError do +      Custodian::Util::Ping.new( Hash.new) +    end +    assert_raise ArgumentError do +      Custodian::Util::Ping.new( Array.new) +    end + + +  end + + +  # +  #  Test IPv4 lookups +  # +  def test_lookup_ipv4 + +    helper = Custodian::Util::Ping.new( "ipv4.steve.org.uk" ); +    assert( helper.is_ipv4? ) +    assert( ! helper.is_ipv6? ) + +    helper = Custodian::Util::Ping.new( "www.google.com" ); +    assert( helper.is_ipv4? ) +    assert( ! helper.is_ipv6? ) + +  end + + +  # +  #  Test IPv6 lookups +  # +  def test_lookup_ipv6 + +    helper = Custodian::Util::Ping.new( "ipv6.google.com" ); +    assert( helper.is_ipv6? ) +    assert( ! helper.is_ipv4? ) +  end + + +  # +  #  Test lookup of hosts that don't work +  # +  def test_lookup_fail +    helper = Custodian::Util::Ping.new( "steve.steve.steve" ); +    assert( ! helper.is_ipv6? ) +    assert( ! helper.is_ipv4? ) +  end + + +end | 
