Sha256: 8659c662743ab43a60a72537139aff1fc1a9d5eab9e0573787044f0d12ea9e0d

Contents?: true

Size: 1.9 KB

Versions: 2

Compression:

Stored size: 1.9 KB

Contents

require 'test_helper'
require 'net/dns/rr'

class RRNSTest < Test::Unit::TestCase
  
  def setup
    @rr_name    = "google.com."
    @rr_type    = "NS"
    @rr_cls     = "IN"
    @rr_ttl     = 10800
    @rr_nsdname = "ns1.google.com."
    
    @rr_output  = "google.com.             10800   IN      NS      ns1.google.com."
  end
  
  
  def test_initialize_from_hash
    @record = Net::DNS::RR::NS.new(:name => @rr_name, :nsdname => @rr_nsdname)
    assert_equal @rr_output,  @record.inspect
    assert_equal @rr_name,    @record.name
    assert_equal @rr_type,    @record.type
    assert_equal @rr_cls,     @record.cls
    assert_equal @rr_ttl,     @record.ttl
    assert_equal @rr_nsdname, @record.nsdname
  end
  
  def test_initialize_from_string
    @record = Net::DNS::RR::NS.new("#{@rr_name} 10800 IN NS #{@rr_nsdname}")
    assert_equal @rr_output,  @record.inspect
    assert_equal @rr_name,    @record.name
    assert_equal @rr_type,    @record.type
    assert_equal @rr_cls,     @record.cls
    assert_equal @rr_ttl,     @record.ttl
    assert_equal @rr_nsdname, @record.nsdname
  end
  
  def test_parse
    data = "\006google\003com\000\000\002\000\001\000\000*0\000\020\003ns1\006google\003com\000"
    @record = Net::DNS::RR.parse(data)
    assert_equal @rr_output,  @record.inspect
    assert_equal @rr_name,    @record.name
    assert_equal @rr_type,    @record.type
    assert_equal @rr_cls,     @record.cls
    assert_equal @rr_ttl,     @record.ttl
    assert_equal @rr_nsdname, @record.nsdname
  end
  
  
  InvalidArguments = [
    { :name => "google.com", :address => "255.256" },
    { :name => "google.com" },
    Object.new,
    Array.new(7),
    "10800 IN A",
  ]
  
  InvalidArguments.each_with_index do |arguments, index|
    define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
      assert_raise(Net::DNS::RR::ArgumentError) { Net::DNS::RR::A.new(arguments) }
    end
  end

end
    

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
net-dns-0.6.1 test/rr/ns_test.rb
net-dns-0.6.0 test/rr/ns_test.rb