Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (77 sloc) 2.81 KB
require 'test_helper'
require 'net/dns/rr'
class RRCNAMETest < Test::Unit::TestCase
def setup
@rr_name = "www.google.com."
@rr_type = "CNAME"
@rr_cls = "IN"
@rr_ttl = 550317
@rr_value = "www.l.google.com."
@rr_cname = @rr_value
@rr_output = "www.google.com. 550317 IN CNAME www.l.google.com."
@rr = Net::DNS::RR::CNAME.new(:name => @rr_name, :cname => @rr_cname, :ttl => @rr_ttl)
end
def test_initialize_from_hash
@record = Net::DNS::RR::CNAME.new(:name => @rr_name, :cname => @rr_value, :ttl => @rr_ttl)
assert_equal @rr_output, @record.to_s
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_cname, @record.cname
assert_equal @rr_value, @record.value
end
def test_initialize_from_string
@record = Net::DNS::RR::CNAME.new("#{@rr_name} #{@rr_ttl} #{@rr_cls} #{@rr_type} #{@rr_value}")
assert_equal @rr_output, @record.to_s
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_cname, @record.cname
assert_equal @rr_value, @record.value
end
def test_parse
data = "\003www\006google\003com\000\000\005\000\001\000\be\255\000\022\003www\001l\006google\003com\000"
@record = Net::DNS::RR.parse(data)
assert_equal @rr_output, @record.to_s
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_cname, @record.cname
assert_equal @rr_value, @record.value
end
InvalidArguments = [
# FIXME: { :name => "google.com", :cname => "foo___bar" },
# FIXME: { :name => "google.com", :cname => "foo$bar" },
{ :name => "google.com" },
Object.new,
Array.new(7),
"10800 IN CNAME",
"google.com. 10800 IN CNAME",
]
InvalidArguments.each_with_index do |arguments, index|
define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
assert_raises(ArgumentError) { p Net::DNS::RR::CNAME.new(arguments) }
end
end
def test_cname_getter
assert_equal @rr_cname, @rr.cname
end
def test_value
assert_equal @rr_value, @rr.value
end
def test_inspect
assert_equal "www.google.com. 550317 IN CNAME www.l.google.com.",
@rr.inspect
end
def test_to_s
assert_equal "www.google.com. 550317 IN CNAME www.l.google.com.",
@rr.to_s
end
def test_to_a
assert_equal ["www.google.com.", 550317, "IN", "CNAME", "www.l.google.com."],
@rr.to_a
end
end
Jump to Line
Something went wrong with that request. Please try again.