#!/usr/bin/ruby -I./lib/ -I../lib/ require 'custodian/util/dns' require 'test/unit' require 'pp' # # Unit test for our DNS utility class. # # class TestDNSUtil < Test::Unit::TestCase # # Create the test suite environment: NOP. # def setup end # # Destroy the test suite environment: NOP. # def teardown end # # Test forward lookups # def test_lookup details = Custodian::Util::DNS.hostname_to_ip( 'bytemark.co.uk' ) assert( ( details == '2001:41c9:0:1019:81::80' ) || ( details == '80.68.81.80' ) ) details = Custodian::Util::DNS.hostname_to_ip( 'www.bytemark.co.uk' ) assert( ( details == '2001:41c9:0:1019:81::80' ) || ( details == '80.68.81.80' ) ) details = Custodian::Util::DNS.hostname_to_ip( 'ipv4.steve.org.uk' ) assert( details == '80.68.84.103' ) details = Custodian::Util::DNS.hostname_to_ip( 'ipv6.steve.org.uk' ) assert( details == '2001:41c8:10b:103::10' ) # # Failure case # details = Custodian::Util::DNS.hostname_to_ip( 'this.doesnot.exist' ) assert( details.nil? ) end # # Test forward lookups # def test_reverse_lookup # # IPv6 lookup # details = Custodian::Util::DNS.ip_to_hostname( '2001:41c9:0:1019:81::80' ) assert( details =~ /bytemark(-?hosting)?\.(com|eu|co\.uk)$/i ) # # IPv4 lookup # details = Custodian::Util::DNS.ip_to_hostname( '80.68.81.80' ) assert( details =~ /bytemark(-?hosting)?\.(com|eu|co\.uk)$/i ) # # Bogus lookup - should return nil. # details = Custodian::Util::DNS.ip_to_hostname( '800.683.853.348' ) assert( details.nil? ) end end