net-dns 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +6 -14
- data/.gitignore +1 -1
- data/.rspec +1 -0
- data/.rubocop.yml +3 -0
- data/.rubocop_defaults.yml +364 -0
- data/.rubocop_todo.yml +207 -0
- data/.travis.yml +9 -16
- data/CHANGELOG.md +12 -1
- data/Gemfile +6 -2
- data/LICENSE.txt +56 -0
- data/README.md +94 -77
- data/Rakefile +23 -56
- data/bin/console +14 -0
- data/demo/check_soa.rb +27 -38
- data/demo/threads.rb +3 -7
- data/lib/net/dns.rb +4 -11
- data/lib/net/dns/core_ext.rb +8 -15
- data/lib/net/dns/header.rb +58 -66
- data/lib/net/dns/names.rb +25 -23
- data/lib/net/dns/packet.rb +136 -139
- data/lib/net/dns/question.rb +36 -39
- data/lib/net/dns/resolver.rb +103 -113
- data/lib/net/dns/resolver/socks.rb +45 -51
- data/lib/net/dns/resolver/timeouts.rb +17 -26
- data/lib/net/dns/rr.rb +107 -117
- data/lib/net/dns/rr/a.rb +46 -55
- data/lib/net/dns/rr/aaaa.rb +40 -49
- data/lib/net/dns/rr/classes.rb +26 -29
- data/lib/net/dns/rr/cname.rb +33 -41
- data/lib/net/dns/rr/hinfo.rb +44 -56
- data/lib/net/dns/rr/mr.rb +33 -42
- data/lib/net/dns/rr/mx.rb +37 -47
- data/lib/net/dns/rr/ns.rb +33 -41
- data/lib/net/dns/rr/null.rb +8 -11
- data/lib/net/dns/rr/ptr.rb +14 -20
- data/lib/net/dns/rr/soa.rb +27 -30
- data/lib/net/dns/rr/srv.rb +13 -17
- data/lib/net/dns/rr/txt.rb +8 -11
- data/lib/net/dns/rr/types.rb +97 -99
- data/lib/net/dns/version.rb +5 -13
- data/net-dns.gemspec +17 -29
- data/{fixtures → spec/fixtures}/resolv.conf +0 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/unit/resolver/dns_timeout_spec.rb +36 -0
- data/spec/unit/resolver/tcp_timeout_spec.rb +46 -0
- data/spec/unit/resolver/udp_timeout_spec.rb +46 -0
- data/test/test_helper.rb +12 -3
- data/test/{header_test.rb → unit/header_test.rb} +43 -46
- data/test/{names_test.rb → unit/names_test.rb} +1 -1
- data/test/{packet_test.rb → unit/packet_test.rb} +3 -5
- data/test/{question_test.rb → unit/question_test.rb} +3 -5
- data/test/{resolver_test.rb → unit/resolver_test.rb} +10 -13
- data/test/{rr → unit/rr}/a_test.rb +10 -17
- data/test/{rr → unit/rr}/aaaa_test.rb +7 -14
- data/test/{rr → unit/rr}/classes_test.rb +14 -16
- data/test/{rr → unit/rr}/cname_test.rb +7 -14
- data/test/{rr → unit/rr}/hinfo_test.rb +16 -22
- data/test/{rr → unit/rr}/mr_test.rb +12 -18
- data/test/{rr → unit/rr}/mx_test.rb +18 -24
- data/test/{rr → unit/rr}/ns_test.rb +10 -16
- data/test/{rr → unit/rr}/types_test.rb +10 -8
- data/test/{rr_test.rb → unit/rr_test.rb} +33 -37
- metadata +77 -49
- data/test/resolver/timeouts_test.rb +0 -109
@@ -5,9 +5,7 @@ class Net::DNS::Resolver
|
|
5
5
|
attr_reader :config
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
class ResolverTest < Test::Unit::TestCase
|
10
|
-
|
8
|
+
class ResolverTest < Minitest::Test
|
11
9
|
def test_initialize
|
12
10
|
assert_nothing_raised { Net::DNS::Resolver.new }
|
13
11
|
end
|
@@ -17,7 +15,7 @@ class ResolverTest < Test::Unit::TestCase
|
|
17
15
|
end
|
18
16
|
|
19
17
|
def test_initialize_with_multi_name_servers
|
20
|
-
resolver = Net::DNS::Resolver.new(
|
18
|
+
resolver = Net::DNS::Resolver.new(config_file: File.expand_path('../../spec/fixtures/resolv.conf', __dir__))
|
21
19
|
assert_equal ['192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4'], resolver.nameservers
|
22
20
|
end
|
23
21
|
|
@@ -28,7 +26,7 @@ class ResolverTest < Test::Unit::TestCase
|
|
28
26
|
end
|
29
27
|
|
30
28
|
def test_query_with_no_nameservers_should_raise_resolvererror
|
31
|
-
assert_raises(Net::DNS::Resolver::Error) { Net::DNS::Resolver.new(:
|
29
|
+
assert_raises(Net::DNS::Resolver::Error) { Net::DNS::Resolver.new(nameservers: []).query("example.com") }
|
32
30
|
end
|
33
31
|
|
34
32
|
# def test_send_to_ipv6_nameserver_should_not_raise_einval
|
@@ -58,7 +56,7 @@ class ResolverTest < Test::Unit::TestCase
|
|
58
56
|
|
59
57
|
def test_make_query_packet_from_string_like_ipv6
|
60
58
|
packet = _make_query_packet("2001:1ac0::200:0:a5d1:6004:2", Net::DNS::A, cls = Net::DNS::IN)
|
61
|
-
assert_equal "2.0.0.0.4.0.0.6.1.d.5.a.0.0.0.0.0.0.2.0.0.0.0.0.0.c.a.1.1.0.0.2.ip6.arpa",
|
59
|
+
assert_equal "2.0.0.0.4.0.0.6.1.d.5.a.0.0.0.0.0.0.2.0.0.0.0.0.0.c.a.1.1.0.0.2.ip6.arpa", packet.question.first.qName
|
62
60
|
assert_equal Net::DNS::PTR.to_i, packet.question.first.qType.to_i
|
63
61
|
assert_equal Net::DNS::IN.to_i, packet.question.first.qClass.to_i
|
64
62
|
end
|
@@ -79,33 +77,33 @@ class ResolverTest < Test::Unit::TestCase
|
|
79
77
|
|
80
78
|
def test_should_return_state_without_exception
|
81
79
|
res = Net::DNS::Resolver.new
|
82
|
-
assert_nothing_raised {res.state}
|
80
|
+
assert_nothing_raised { res.state }
|
83
81
|
end
|
84
82
|
|
85
83
|
RubyPlatforms = [
|
86
|
-
["darwin9.0", false],
|
84
|
+
["darwin9.0", false], # Mac OS X
|
87
85
|
["darwin", false], # JRuby on Mac OS X
|
88
86
|
["linux-gnu", false],
|
89
87
|
["mingw32", true], # ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mingw32]
|
90
88
|
["mswin32", true], # ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mswin32]
|
91
89
|
["mswin32", true], # ruby 1.8.6 (2008-04-22 rev 6555) [x86-jruby1.1.1]
|
92
|
-
]
|
90
|
+
].freeze
|
93
91
|
|
94
92
|
C = Object.const_get(defined?(RbConfig) ? :RbConfig : :Config)::CONFIG
|
95
93
|
|
96
94
|
def test_self_platform_windows_question
|
97
95
|
RubyPlatforms.each do |platform, is_windows|
|
98
96
|
assert_equal is_windows,
|
99
|
-
|
100
|
-
|
97
|
+
override_platform(platform) { Net::DNS::Resolver.platform_windows? },
|
98
|
+
"Expected `#{is_windows}' with platform `#{platform}'"
|
101
99
|
end
|
102
100
|
end
|
103
101
|
|
104
|
-
|
105
102
|
private
|
106
103
|
|
107
104
|
def override_platform(new_platform, &block)
|
108
105
|
raise LocalJumpError, "no block given" unless block_given?
|
106
|
+
|
109
107
|
old_platform = C["host_os"]
|
110
108
|
C["host_os"] = new_platform
|
111
109
|
result = yield
|
@@ -113,5 +111,4 @@ class ResolverTest < Test::Unit::TestCase
|
|
113
111
|
C["host_os"] = old_platform
|
114
112
|
result
|
115
113
|
end
|
116
|
-
|
117
114
|
end
|
@@ -1,24 +1,22 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'net/dns/rr'
|
3
3
|
|
4
|
-
class RRATest < Test
|
5
|
-
|
4
|
+
class RRATest < Minitest::Test
|
6
5
|
def setup
|
7
6
|
@rr_name = "google.com."
|
8
7
|
@rr_type = "A"
|
9
8
|
@rr_cls = "IN"
|
10
|
-
@rr_ttl =
|
9
|
+
@rr_ttl = 10_000
|
11
10
|
@rr_value = "64.233.187.99"
|
12
11
|
@rr_address = IPAddr.new(@rr_value)
|
13
12
|
|
14
13
|
@rr_output = "google.com. 10000 IN A 64.233.187.99"
|
15
14
|
|
16
|
-
@rr = Net::DNS::RR::A.new(:
|
15
|
+
@rr = Net::DNS::RR::A.new(name: @rr_name, address: @rr_address, ttl: @rr_ttl)
|
17
16
|
end
|
18
17
|
|
19
|
-
|
20
18
|
def test_initialize_from_hash
|
21
|
-
@record = Net::DNS::RR::A.new(:
|
19
|
+
@record = Net::DNS::RR::A.new(name: @rr_name, address: @rr_value, ttl: @rr_ttl)
|
22
20
|
assert_equal @rr_output, @record.to_s
|
23
21
|
assert_equal @rr_name, @record.name
|
24
22
|
assert_equal @rr_type, @record.type
|
@@ -51,16 +49,15 @@ class RRATest < Test::Unit::TestCase
|
|
51
49
|
assert_equal @rr_value, @record.value
|
52
50
|
end
|
53
51
|
|
54
|
-
|
55
52
|
InvalidArguments = [
|
56
|
-
{ :
|
57
|
-
{ :
|
53
|
+
{ name: "google.com", address: "255.256" },
|
54
|
+
{ name: "google.com" },
|
58
55
|
Object.new,
|
59
56
|
Array.new(7),
|
60
57
|
"10800 IN A",
|
61
58
|
"google.com. 10800 IN B",
|
62
59
|
"google.com. 10800 IM A",
|
63
|
-
]
|
60
|
+
].freeze
|
64
61
|
|
65
62
|
InvalidArguments.each_with_index do |arguments, index|
|
66
63
|
define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
|
@@ -68,9 +65,8 @@ class RRATest < Test::Unit::TestCase
|
|
68
65
|
end
|
69
66
|
end
|
70
67
|
|
71
|
-
|
72
68
|
def test_address_getter
|
73
|
-
assert_equal
|
69
|
+
assert_equal @rr_address, @rr.address
|
74
70
|
end
|
75
71
|
|
76
72
|
def test_address_setter
|
@@ -81,7 +77,7 @@ class RRATest < Test::Unit::TestCase
|
|
81
77
|
assert_equal expected, @rr.address
|
82
78
|
|
83
79
|
expected = IPAddr.new("64.233.187.90")
|
84
|
-
assert_equal expected, @rr.address =
|
80
|
+
assert_equal expected, @rr.address = 1_089_059_674
|
85
81
|
assert_equal expected, @rr.address
|
86
82
|
|
87
83
|
expected = IPAddr.new("64.233.187.80")
|
@@ -89,12 +85,10 @@ class RRATest < Test::Unit::TestCase
|
|
89
85
|
assert_equal expected, @rr.address
|
90
86
|
end
|
91
87
|
|
92
|
-
|
93
88
|
def test_value
|
94
89
|
assert_equal @rr_value, @rr.value
|
95
90
|
end
|
96
91
|
|
97
|
-
|
98
92
|
def test_inspect
|
99
93
|
assert_equal "google.com. 10000 IN A 64.233.187.99",
|
100
94
|
@rr.inspect
|
@@ -106,8 +100,7 @@ class RRATest < Test::Unit::TestCase
|
|
106
100
|
end
|
107
101
|
|
108
102
|
def test_to_a
|
109
|
-
assert_equal ["google.com.",
|
103
|
+
assert_equal ["google.com.", 10_000, "IN", "A", "64.233.187.99"],
|
110
104
|
@rr.to_a
|
111
105
|
end
|
112
|
-
|
113
106
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'net/dns/rr'
|
3
3
|
|
4
|
-
class RRAAAATest < Test
|
5
|
-
|
4
|
+
class RRAAAATest < Minitest::Test
|
6
5
|
def setup
|
7
6
|
@rr_name = "www.nic.it."
|
8
7
|
@rr_type = "AAAA"
|
@@ -13,12 +12,11 @@ class RRAAAATest < Test::Unit::TestCase
|
|
13
12
|
|
14
13
|
@rr_output = "www.nic.it. 60 IN AAAA 2a00:d40:1:1::239"
|
15
14
|
|
16
|
-
@rr = Net::DNS::RR::AAAA.new(:
|
15
|
+
@rr = Net::DNS::RR::AAAA.new(name: @rr_name, address: @rr_address, ttl: @rr_ttl)
|
17
16
|
end
|
18
17
|
|
19
|
-
|
20
18
|
def test_initialize_from_hash
|
21
|
-
@record = Net::DNS::RR::AAAA.new(:
|
19
|
+
@record = Net::DNS::RR::AAAA.new(name: @rr_name, address: @rr_value, ttl: @rr_ttl)
|
22
20
|
assert_equal @rr_output, @record.to_s
|
23
21
|
assert_equal @rr_name, @record.name
|
24
22
|
assert_equal @rr_type, @record.type
|
@@ -51,16 +49,15 @@ class RRAAAATest < Test::Unit::TestCase
|
|
51
49
|
assert_equal @rr_value, @record.value
|
52
50
|
end
|
53
51
|
|
54
|
-
|
55
52
|
InvalidArguments = [
|
56
|
-
{ :
|
57
|
-
{ :
|
53
|
+
{ name: "google.com", address: "2a00" },
|
54
|
+
{ name: "google.com" },
|
58
55
|
Object.new,
|
59
56
|
Array.new(7),
|
60
57
|
"10800 IN AAAA",
|
61
58
|
# FIXME: "google.com. 10800 IN B",
|
62
59
|
# FIXME: "google.com. 10800 IM AAAA",
|
63
|
-
]
|
60
|
+
].freeze
|
64
61
|
|
65
62
|
InvalidArguments.each_with_index do |arguments, index|
|
66
63
|
define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
|
@@ -68,9 +65,8 @@ class RRAAAATest < Test::Unit::TestCase
|
|
68
65
|
end
|
69
66
|
end
|
70
67
|
|
71
|
-
|
72
68
|
def test_address_getter
|
73
|
-
assert_equal
|
69
|
+
assert_equal @rr_address, @rr.address
|
74
70
|
end
|
75
71
|
|
76
72
|
def test_address_setter
|
@@ -85,12 +81,10 @@ class RRAAAATest < Test::Unit::TestCase
|
|
85
81
|
assert_equal expected, @rr.address
|
86
82
|
end
|
87
83
|
|
88
|
-
|
89
84
|
def test_value
|
90
85
|
assert_equal @rr_value, @rr.value
|
91
86
|
end
|
92
87
|
|
93
|
-
|
94
88
|
def test_inspect
|
95
89
|
assert_equal "www.nic.it. 60 IN AAAA 2a00:d40:1:1::239",
|
96
90
|
@rr.inspect
|
@@ -105,5 +99,4 @@ class RRAAAATest < Test::Unit::TestCase
|
|
105
99
|
assert_equal ["www.nic.it.", 60, "IN", "AAAA", "2a00:d40:1:1::239"],
|
106
100
|
@rr.to_a
|
107
101
|
end
|
108
|
-
|
109
102
|
end
|
@@ -1,22 +1,19 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'net/dns/rr'
|
3
3
|
|
4
|
-
class RRClassesTest < Test
|
5
|
-
|
4
|
+
class RRClassesTest < Minitest::Test
|
6
5
|
def setup
|
7
|
-
@classes = {
|
8
|
-
}
|
6
|
+
@classes = {}
|
9
7
|
@regexp_string = "ANY|CH|HS|IN|NONE"
|
10
8
|
end
|
11
9
|
|
12
|
-
|
13
10
|
StrAndNum = [
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
]
|
11
|
+
['IN', 1],
|
12
|
+
['CH', 3],
|
13
|
+
['HS', 4],
|
14
|
+
['NONE', 254],
|
15
|
+
['ANY', 255],
|
16
|
+
].freeze
|
20
17
|
|
21
18
|
StrAndNum.each do |str, num|
|
22
19
|
define_method "test_initialize_from_str_#{str}" do
|
@@ -32,10 +29,9 @@ class RRClassesTest < Test::Unit::TestCase
|
|
32
29
|
end
|
33
30
|
|
34
31
|
def test_initialize_should_raise_with_invalid_class
|
35
|
-
assert_raises(ArgumentError) { Net::DNS::RR::Classes.new(
|
32
|
+
assert_raises(ArgumentError) { Net::DNS::RR::Classes.new({}) }
|
36
33
|
end
|
37
34
|
|
38
|
-
|
39
35
|
def test_inspect
|
40
36
|
assert_equal 1, Net::DNS::RR::Classes.new(1).inspect
|
41
37
|
assert_equal 1, Net::DNS::RR::Classes.new("IN").inspect
|
@@ -51,8 +47,9 @@ class RRClassesTest < Test::Unit::TestCase
|
|
51
47
|
assert_equal 1, Net::DNS::RR::Classes.new("IN").to_i
|
52
48
|
end
|
53
49
|
|
54
|
-
|
55
50
|
def test_self_default
|
51
|
+
@_default = Net::DNS::RR::Classes.default
|
52
|
+
|
56
53
|
# Default type should be ANY => 255
|
57
54
|
instance = Net::DNS::RR::Classes.new(nil)
|
58
55
|
assert_equal 1, instance.to_i
|
@@ -68,6 +65,8 @@ class RRClassesTest < Test::Unit::TestCase
|
|
68
65
|
instance = Net::DNS::RR::Classes.new(nil)
|
69
66
|
assert_equal 1, instance.to_i
|
70
67
|
assert_equal "IN", instance.to_s
|
68
|
+
ensure
|
69
|
+
Net::DNS::RR::Classes.default = Net::DNS::RR::Classes::CLASSES.invert[@_default]
|
71
70
|
end
|
72
71
|
|
73
72
|
def test_self_valid?
|
@@ -75,11 +74,10 @@ class RRClassesTest < Test::Unit::TestCase
|
|
75
74
|
assert Net::DNS::RR::Classes.valid?(1)
|
76
75
|
assert !Net::DNS::RR::Classes.valid?("Q")
|
77
76
|
assert !Net::DNS::RR::Classes.valid?(256)
|
78
|
-
assert_raises(ArgumentError) { Net::DNS::RR::Classes.valid?(
|
77
|
+
assert_raises(ArgumentError) { Net::DNS::RR::Classes.valid?({}) }
|
79
78
|
end
|
80
79
|
|
81
80
|
def test_self_regexp
|
82
81
|
assert_equal @regexp_string, Net::DNS::RR::Classes.regexp
|
83
82
|
end
|
84
|
-
|
85
83
|
end
|
@@ -1,24 +1,22 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'net/dns/rr'
|
3
3
|
|
4
|
-
class RRCNAMETest < Test
|
5
|
-
|
4
|
+
class RRCNAMETest < Minitest::Test
|
6
5
|
def setup
|
7
6
|
@rr_name = "www.google.com."
|
8
7
|
@rr_type = "CNAME"
|
9
8
|
@rr_cls = "IN"
|
10
|
-
@rr_ttl =
|
9
|
+
@rr_ttl = 550_317
|
11
10
|
@rr_value = "www.l.google.com."
|
12
11
|
@rr_cname = @rr_value
|
13
12
|
|
14
13
|
@rr_output = "www.google.com. 550317 IN CNAME www.l.google.com."
|
15
14
|
|
16
|
-
@rr = Net::DNS::RR::CNAME.new(:
|
15
|
+
@rr = Net::DNS::RR::CNAME.new(name: @rr_name, cname: @rr_cname, ttl: @rr_ttl)
|
17
16
|
end
|
18
17
|
|
19
|
-
|
20
18
|
def test_initialize_from_hash
|
21
|
-
@record = Net::DNS::RR::CNAME.new(:
|
19
|
+
@record = Net::DNS::RR::CNAME.new(name: @rr_name, cname: @rr_value, ttl: @rr_ttl)
|
22
20
|
assert_equal @rr_output, @record.to_s
|
23
21
|
assert_equal @rr_name, @record.name
|
24
22
|
assert_equal @rr_type, @record.type
|
@@ -51,16 +49,15 @@ class RRCNAMETest < Test::Unit::TestCase
|
|
51
49
|
assert_equal @rr_value, @record.value
|
52
50
|
end
|
53
51
|
|
54
|
-
|
55
52
|
InvalidArguments = [
|
56
53
|
# FIXME: { :name => "google.com", :cname => "foo___bar" },
|
57
54
|
# FIXME: { :name => "google.com", :cname => "foo$bar" },
|
58
|
-
{ :
|
55
|
+
{ name: "google.com" },
|
59
56
|
Object.new,
|
60
57
|
Array.new(7),
|
61
58
|
"10800 IN CNAME",
|
62
59
|
"google.com. 10800 IN CNAME",
|
63
|
-
]
|
60
|
+
].freeze
|
64
61
|
|
65
62
|
InvalidArguments.each_with_index do |arguments, index|
|
66
63
|
define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
|
@@ -68,17 +65,14 @@ class RRCNAMETest < Test::Unit::TestCase
|
|
68
65
|
end
|
69
66
|
end
|
70
67
|
|
71
|
-
|
72
68
|
def test_cname_getter
|
73
69
|
assert_equal @rr_cname, @rr.cname
|
74
70
|
end
|
75
71
|
|
76
|
-
|
77
72
|
def test_value
|
78
73
|
assert_equal @rr_value, @rr.value
|
79
74
|
end
|
80
75
|
|
81
|
-
|
82
76
|
def test_inspect
|
83
77
|
assert_equal "www.google.com. 550317 IN CNAME www.l.google.com.",
|
84
78
|
@rr.inspect
|
@@ -90,8 +84,7 @@ class RRCNAMETest < Test::Unit::TestCase
|
|
90
84
|
end
|
91
85
|
|
92
86
|
def test_to_a
|
93
|
-
assert_equal ["www.google.com.",
|
87
|
+
assert_equal ["www.google.com.", 550_317, "IN", "CNAME", "www.l.google.com."],
|
94
88
|
@rr.to_a
|
95
89
|
end
|
96
|
-
|
97
90
|
end
|
@@ -2,30 +2,28 @@ require 'test_helper'
|
|
2
2
|
require 'net/dns/rr'
|
3
3
|
require 'net/dns/rr/hinfo'
|
4
4
|
|
5
|
-
class RRHINFOTest < Test
|
6
|
-
|
5
|
+
class RRHINFOTest < Minitest::Test
|
7
6
|
def setup
|
8
7
|
@rr_name = ""
|
9
8
|
@rr_type = "HINFO"
|
10
9
|
@rr_cls = "IN"
|
11
10
|
@rr_ttl = nil
|
12
|
-
@rr_value =
|
13
|
-
@rr_output =
|
11
|
+
@rr_value = '"PC-Intel-700mhz" "Redhat Linux 7.1"'
|
12
|
+
@rr_output = ' IN HINFO "PC-Intel-700mhz" "Redhat Linux 7.1"'
|
14
13
|
|
15
14
|
@rr_cpu = "PC-Intel-700mhz"
|
16
15
|
@rr_os = "Redhat Linux 7.1"
|
17
16
|
|
18
|
-
@rr = Net::DNS::RR::HINFO.new(:
|
17
|
+
@rr = Net::DNS::RR::HINFO.new(name: @rr_name, cpu: @rr_cpu, os: @rr_os)
|
19
18
|
end
|
20
19
|
|
21
|
-
|
22
20
|
def test_initialize_from_hash
|
23
|
-
@record = Net::DNS::RR::HINFO.new(:
|
21
|
+
@record = Net::DNS::RR::HINFO.new(name: @rr_name, cpu: @rr_cpu, os: @rr_os)
|
24
22
|
assert_equal @rr_output, @record.to_s
|
25
23
|
assert_equal @rr_name, @record.name
|
26
24
|
assert_equal @rr_type, @record.type
|
27
25
|
assert_equal @rr_cls, @record.cls
|
28
|
-
assert_equal
|
26
|
+
assert_equal 10_800, @record.ttl
|
29
27
|
assert_equal @rr_value, @record.value
|
30
28
|
|
31
29
|
assert_equal @rr_cpu, @record.cpu
|
@@ -33,7 +31,7 @@ class RRHINFOTest < Test::Unit::TestCase
|
|
33
31
|
end
|
34
32
|
|
35
33
|
def test_initialize_from_string
|
36
|
-
@record = Net::DNS::RR::HINFO.new(%Q
|
34
|
+
@record = Net::DNS::RR::HINFO.new(%Q(#{@rr_name} #{@rr_ttl} #{@rr_cls} #{@rr_type} PC-Intel-700mhz "Redhat Linux 7.1"))
|
37
35
|
assert_equal @rr_output, @record.to_s
|
38
36
|
assert_equal @rr_value, @record.value
|
39
37
|
|
@@ -47,14 +45,15 @@ class RRHINFOTest < Test::Unit::TestCase
|
|
47
45
|
# FIXME: assert_equal @rr_name, @record.name
|
48
46
|
assert_equal @rr_type, @record.type
|
49
47
|
assert_equal @rr_cls, @record.cls
|
50
|
-
assert_equal
|
48
|
+
assert_equal 10_800, @record.ttl
|
51
49
|
assert_equal @rr_value, @record.value
|
52
50
|
|
53
51
|
assert_equal @rr_cpu, @record.cpu
|
54
52
|
assert_equal @rr_os, @record.os
|
55
53
|
end
|
56
54
|
|
57
|
-
#
|
55
|
+
# FIXME: Can't get valid data
|
56
|
+
#
|
58
57
|
# def test_parse
|
59
58
|
# data = "\002in\000\000\r\000\001\000\000*0\000!\017PC-Intel-700mhz\020Redhat Linux 7.1"
|
60
59
|
# @record = Net::DNS::RR.parse(data)
|
@@ -69,14 +68,13 @@ class RRHINFOTest < Test::Unit::TestCase
|
|
69
68
|
# assert_equal @rr_os, @record.os
|
70
69
|
# end
|
71
70
|
|
72
|
-
|
73
71
|
InvalidArguments = [
|
74
|
-
{ :
|
72
|
+
{ name: "google.com" },
|
75
73
|
Object.new,
|
76
74
|
Array.new(7),
|
77
75
|
"10800 IN HINFO",
|
78
76
|
"IN HINFO",
|
79
|
-
]
|
77
|
+
].freeze
|
80
78
|
|
81
79
|
InvalidArguments.each_with_index do |arguments, index|
|
82
80
|
define_method "test_initialize_should_raise_with_invalid_arguments_#{index}" do
|
@@ -84,7 +82,6 @@ class RRHINFOTest < Test::Unit::TestCase
|
|
84
82
|
end
|
85
83
|
end
|
86
84
|
|
87
|
-
|
88
85
|
def test_cpu
|
89
86
|
assert_equal @rr_cpu, @rr.cpu
|
90
87
|
end
|
@@ -93,25 +90,22 @@ class RRHINFOTest < Test::Unit::TestCase
|
|
93
90
|
assert_equal @rr_os, @rr.os
|
94
91
|
end
|
95
92
|
|
96
|
-
|
97
93
|
def test_value
|
98
|
-
assert_equal
|
94
|
+
assert_equal '"PC-Intel-700mhz" "Redhat Linux 7.1"', @rr.value
|
99
95
|
end
|
100
96
|
|
101
|
-
|
102
97
|
def test_inspect
|
103
|
-
assert_equal
|
98
|
+
assert_equal ' IN HINFO "PC-Intel-700mhz" "Redhat Linux 7.1"',
|
104
99
|
@rr.inspect
|
105
100
|
end
|
106
101
|
|
107
102
|
def test_to_s
|
108
|
-
assert_equal
|
103
|
+
assert_equal ' IN HINFO "PC-Intel-700mhz" "Redhat Linux 7.1"',
|
109
104
|
@rr.to_s
|
110
105
|
end
|
111
106
|
|
112
107
|
def test_to_a
|
113
|
-
assert_equal [nil, nil, "IN", "HINFO",
|
108
|
+
assert_equal [nil, nil, "IN", "HINFO", '"PC-Intel-700mhz" "Redhat Linux 7.1"'],
|
114
109
|
@rr.to_a
|
115
110
|
end
|
116
|
-
|
117
111
|
end
|