whois 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/CHANGELOG.rdoc +61 -0
  2. data/Manifest +87 -4
  3. data/README.rdoc +13 -9
  4. data/Rakefile +4 -1
  5. data/bin/ruby-whois +35 -21
  6. data/lib/whois.rb +6 -0
  7. data/lib/whois/answer.rb +30 -14
  8. data/lib/whois/answer/parser.rb +48 -11
  9. data/lib/whois/answer/parser/ast.rb +72 -0
  10. data/lib/whois/answer/parser/base.rb +14 -9
  11. data/lib/whois/answer/parser/blank.rb +1 -1
  12. data/lib/whois/answer/parser/scanners/verisign.rb +117 -0
  13. data/lib/whois/answer/parser/whois.aero.rb +74 -0
  14. data/lib/whois/answer/parser/whois.afilias-grs.info.rb +72 -0
  15. data/lib/whois/answer/parser/whois.afilias.info.rb +72 -0
  16. data/lib/whois/answer/parser/whois.crsnic.net.rb +5 -115
  17. data/lib/whois/answer/parser/whois.denic.de.rb +28 -25
  18. data/lib/whois/answer/parser/whois.domainregistry.ie.rb +74 -0
  19. data/lib/whois/answer/parser/whois.educause.edu.rb +76 -0
  20. data/lib/whois/answer/parser/whois.eu.org.rb +73 -0
  21. data/lib/whois/answer/parser/whois.iana.org.rb +75 -0
  22. data/lib/whois/answer/parser/whois.nic.asia.rb +74 -0
  23. data/lib/whois/answer/parser/whois.nic.fr.rb +77 -0
  24. data/lib/whois/answer/parser/whois.nic.gov.rb +71 -0
  25. data/lib/whois/answer/parser/whois.nic.hu.rb +332 -0
  26. data/lib/whois/answer/parser/whois.nic.it.rb +5 -23
  27. data/lib/whois/answer/parser/whois.nic.name.rb +73 -0
  28. data/lib/whois/answer/parser/whois.nic.tv.rb +99 -0
  29. data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +6 -24
  30. data/lib/whois/answer/parser/whois.za.net.rb +75 -0
  31. data/lib/whois/answer/parser/whois.za.org.rb +75 -0
  32. data/lib/whois/client.rb +4 -3
  33. data/lib/whois/definitions/tld.notes.txt +1 -0
  34. data/lib/whois/definitions/tlds.rb +11 -49
  35. data/lib/whois/version.rb +5 -6
  36. data/lib/whois/whois.rb +0 -6
  37. data/test/answer/parser/base_test.rb +21 -0
  38. data/test/answer/parser/blank_test.rb +1 -1
  39. data/test/answer/parser/whois.aero_test.rb +51 -0
  40. data/test/answer/parser/whois.afilias-grs.info_test.rb +51 -0
  41. data/test/answer/parser/whois.afilias.info_test.rb +51 -0
  42. data/test/answer/parser/{whois_crsnic_net_test.rb → whois.crsnic.net_test.rb} +15 -68
  43. data/test/answer/parser/{whois_denic_de_test.rb → whois.denic.de_test.rb} +9 -34
  44. data/test/answer/parser/whois.domainregistry.ie_test.rb +51 -0
  45. data/test/answer/parser/whois.educause.edu_test.rb +51 -0
  46. data/test/answer/parser/whois.eu.org_test.rb +51 -0
  47. data/test/answer/parser/whois.iana.org_test.rb +51 -0
  48. data/test/answer/parser/whois.nic.asia_test.rb +51 -0
  49. data/test/answer/parser/whois.nic.fr_test.rb +51 -0
  50. data/test/answer/parser/whois.nic.gov_test.rb +51 -0
  51. data/test/answer/parser/whois.nic.hu_test.rb +226 -0
  52. data/test/answer/parser/{whois_nic_it_test.rb → whois.nic.it_test.rb} +3 -25
  53. data/test/answer/parser/whois.nic.name_test.rb +51 -0
  54. data/test/answer/parser/whois.nic.tv_test.rb +122 -0
  55. data/test/answer/parser/{whois_publicinterestregistry_net_test.rb → whois.publicinterestregistry.net_test.rb} +4 -26
  56. data/test/answer/parser/whois.za.net_test.rb +51 -0
  57. data/test/answer/parser/whois.za.org_test.rb +51 -0
  58. data/test/answer/parser_test.rb +44 -3
  59. data/test/answer_test.rb +27 -13
  60. data/test/client_test.rb +18 -11
  61. data/test/list_tld +319 -0
  62. data/test/test_helper.rb +24 -0
  63. data/test/testcases/responses/whois.aero/available.txt +1 -0
  64. data/test/testcases/responses/whois.aero/registered.txt +102 -0
  65. data/test/testcases/responses/whois.afilias-grs.info/available.txt +1 -0
  66. data/test/testcases/responses/whois.afilias-grs.info/bz/available.txt +1 -0
  67. data/test/testcases/responses/whois.afilias-grs.info/bz/registered.txt +122 -0
  68. data/test/testcases/responses/whois.afilias-grs.info/gi/available.txt +1 -0
  69. data/test/testcases/responses/whois.afilias-grs.info/gi/registered.txt +98 -0
  70. data/test/testcases/responses/whois.afilias-grs.info/hn/available.txt +1 -0
  71. data/test/testcases/responses/whois.afilias-grs.info/hn/registered.txt +85 -0
  72. data/test/testcases/responses/whois.afilias-grs.info/lc/available.txt +1 -0
  73. data/test/testcases/responses/whois.afilias-grs.info/lc/registered.txt +83 -0
  74. data/test/testcases/responses/whois.afilias-grs.info/mn/available.txt +1 -0
  75. data/test/testcases/responses/whois.afilias-grs.info/mn/registered.txt +100 -0
  76. data/test/testcases/responses/whois.afilias-grs.info/registered.txt +122 -0
  77. data/test/testcases/responses/whois.afilias-grs.info/sc/available.txt +1 -0
  78. data/test/testcases/responses/whois.afilias-grs.info/sc/registered.txt +85 -0
  79. data/test/testcases/responses/whois.afilias-grs.info/vc/available.txt +1 -0
  80. data/test/testcases/responses/whois.afilias-grs.info/vc/registered.txt +100 -0
  81. data/test/testcases/responses/whois.afilias.info/available.txt +1 -0
  82. data/test/testcases/responses/whois.afilias.info/registered.txt +104 -0
  83. data/test/testcases/responses/whois.crsnic.net/MULTIPLE.txt +3 -0
  84. data/test/testcases/responses/whois.domainregistry.ie/available.txt +7 -0
  85. data/test/testcases/responses/whois.domainregistry.ie/registered.txt +26 -0
  86. data/test/testcases/responses/whois.educause.edu/available.txt +28 -0
  87. data/test/testcases/responses/whois.educause.edu/registered.txt +66 -0
  88. data/test/testcases/responses/whois.eu.org/available.txt +1 -0
  89. data/test/testcases/responses/whois.eu.org/registered.txt +19 -0
  90. data/test/testcases/responses/whois.iana.org/MULTIPLE.txt +3 -0
  91. data/test/testcases/responses/whois.iana.org/available.txt +7 -0
  92. data/test/testcases/responses/whois.iana.org/registered.txt +89 -0
  93. data/test/testcases/responses/whois.nic.asia/available.txt +1 -0
  94. data/test/testcases/responses/whois.nic.asia/registered.txt +159 -0
  95. data/test/testcases/responses/whois.nic.fr/MULTIPLE.txt +4 -0
  96. data/test/testcases/responses/whois.nic.fr/available.txt +19 -0
  97. data/test/testcases/responses/whois.nic.fr/registered.txt +98 -0
  98. data/test/testcases/responses/whois.nic.gov/available.txt +1 -0
  99. data/test/testcases/responses/whois.nic.gov/registered.txt +5 -0
  100. data/test/testcases/responses/whois.nic.hu/available.txt +12 -0
  101. data/test/testcases/responses/whois.nic.hu/in_progress.txt +13 -0
  102. data/test/testcases/responses/whois.nic.hu/registered.txt +65 -0
  103. data/test/testcases/responses/whois.nic.name/available.txt +29 -0
  104. data/test/testcases/responses/whois.nic.name/registered.txt +36 -0
  105. data/test/testcases/responses/whois.nic.name/reserved.txt +30 -0
  106. data/test/testcases/responses/whois.nic.tv/available.txt +44 -0
  107. data/test/testcases/responses/whois.nic.tv/registered.txt +54 -0
  108. data/test/testcases/responses/whois.za.net/available.txt +9 -0
  109. data/test/testcases/responses/whois.za.net/registered.txt +42 -0
  110. data/test/testcases/responses/whois.za.org/available.txt +9 -0
  111. data/test/testcases/responses/whois.za.org/registered.txt +44 -0
  112. data/whois.gemspec +9 -6
  113. metadata +138 -15
data/lib/whois/version.rb CHANGED
@@ -18,14 +18,13 @@ module Whois
18
18
 
19
19
  module Version
20
20
  MAJOR = 0
21
- MINOR = 8
22
- TINY = 1
21
+ MINOR = 9
22
+ PATCH = 0
23
+ ALPHA = nil
23
24
 
24
- STRING = [MAJOR, MINOR, TINY].join('.')
25
+ STRING = [MAJOR, MINOR, PATCH, ALPHA].compact.join('.')
25
26
  end
26
27
 
27
- VERSION = Version::STRING
28
- STATUS = 'beta'
29
- BUILD = nil
28
+ VERSION = Version::STRING
30
29
 
31
30
  end
data/lib/whois/whois.rb CHANGED
@@ -19,12 +19,6 @@ require 'resolv'
19
19
 
20
20
  module Whois
21
21
 
22
- def self.deprecate(message = nil)
23
- message ||= "You are using deprecated behavior which will be removed from the next major or minor release."
24
- $stderr.puts("DEPRECATION WARNING: #{message}")
25
- end
26
-
27
-
28
22
  class WhoisException < Exception # :nodoc
29
23
  def initialize(message)
30
24
  ::Whois.deprecate "WhoisException is deprecated as of 0.5.0 and will be removed in a future release along with Whois::Whois class."
@@ -19,6 +19,7 @@ class AnswerParserBaseTest < Test::Unit::TestCase
19
19
  end
20
20
 
21
21
 
22
+ # DEPRECATED
22
23
  def test_supported?
23
24
  klass = Class.new(@klass) do
24
25
  register_method(:disclaimer) {}
@@ -32,12 +33,32 @@ class AnswerParserBaseTest < Test::Unit::TestCase
32
33
  assert klass.new(@part).respond_to?(:disclaimer)
33
34
  end
34
35
 
36
+ # DEPRECATED
35
37
  def test_supported_should_return_false_unless_registrable_method
36
38
  parser = @klass.new(@part)
37
39
  assert !parser.supported?(:content)
38
40
  assert parser.respond_to?(:content)
39
41
  end
40
42
 
43
+ def test_property_supported?
44
+ klass = Class.new(@klass) do
45
+ register_method(:disclaimer) {}
46
+ end
47
+ assert klass.new(@part).property_supported?(:disclaimer)
48
+ assert klass.new(@part).respond_to?(:disclaimer)
49
+
50
+ klass = Class.new(@klass) do
51
+ end
52
+ assert !klass.new(@part).property_supported?(:disclaimer)
53
+ assert klass.new(@part).respond_to?(:disclaimer)
54
+ end
55
+
56
+ def test_property_supported_should_return_false_unless_registrable_method
57
+ parser = @klass.new(@part)
58
+ assert !parser.property_supported?(:content)
59
+ assert parser.respond_to?(:content)
60
+ end
61
+
41
62
 
42
63
  def test_content
43
64
  parser = @klass.new(@part)
@@ -8,7 +8,7 @@ class AnswerParserBlankTest < Test::Unit::TestCase
8
8
  @part = Whois::Answer::Part.new("This is the response.", "whois.foo.com")
9
9
  end
10
10
 
11
- Whois::Answer::Parser.registrable_methods.each do |method|
11
+ Whois::Answer::Parser.properties.each do |method|
12
12
  define_method "test_#{method}_should_raise" do
13
13
  parser = @klass.new(@part)
14
14
  error = assert_raise(Whois::ParserNotFound) { parser.send(method) }
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.aero.rb'
3
+
4
+ class AnswerParserWhoisAeroTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisAero
8
+ @host = "whois.aero"
9
+ end
10
+
11
+
12
+ def test_status
13
+ assert_equal :ok,
14
+ @klass.new(load_part('/registered.txt')).status
15
+ assert_equal nil,
16
+ @klass.new(load_part('/available.txt')).status
17
+ end
18
+
19
+ def test_available?
20
+ assert !@klass.new(load_part('/registered.txt')).available?
21
+ assert @klass.new(load_part('/available.txt')).available?
22
+ end
23
+
24
+ def test_registered?
25
+ assert !@klass.new(load_part('/available.txt')).registered?
26
+ assert @klass.new(load_part('/registered.txt')).registered?
27
+ end
28
+
29
+
30
+ def test_created_on
31
+ assert_equal Time.parse("2002-03-26 06:48:27 UTC"),
32
+ @klass.new(load_part('/registered.txt')).created_on
33
+ assert_equal nil,
34
+ @klass.new(load_part('/available.txt')).created_on
35
+ end
36
+
37
+ def test_updated_on
38
+ assert_equal Time.parse("2008-03-05 14:32:18 UTC"),
39
+ @klass.new(load_part('/registered.txt')).updated_on
40
+ assert_equal nil,
41
+ @klass.new(load_part('/available.txt')).updated_on
42
+ end
43
+
44
+ def test_expires_on
45
+ assert_equal Time.parse("2010-03-26 06:48:27 UTC"),
46
+ @klass.new(load_part('/registered.txt')).expires_on
47
+ assert_equal nil,
48
+ @klass.new(load_part('/available.txt')).expires_on
49
+ end
50
+
51
+ end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.afilias-grs.info.rb'
3
+
4
+ class AnswerParserWhoisAfiliasGrsInfoTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisAfiliasGrsInfo
8
+ @host = "whois.afilias-grs.info"
9
+ end
10
+
11
+
12
+ def test_status
13
+ assert_equal ["CLIENT DELETE PROHIBITED", "CLIENT TRANSFER PROHIBITED", "CLIENT UPDATE PROHIBITED"],
14
+ @klass.new(load_part('/registered.txt')).status
15
+ assert_equal [],
16
+ @klass.new(load_part('/available.txt')).status
17
+ end
18
+
19
+ def test_available?
20
+ assert !@klass.new(load_part('/registered.txt')).available?
21
+ assert @klass.new(load_part('/available.txt')).available?
22
+ end
23
+
24
+ def test_registered?
25
+ assert !@klass.new(load_part('/available.txt')).registered?
26
+ assert @klass.new(load_part('/registered.txt')).registered?
27
+ end
28
+
29
+
30
+ def test_created_on
31
+ assert_equal Time.parse("2006-02-12 18:08:52 UTC"),
32
+ @klass.new(load_part('/registered.txt')).created_on
33
+ assert_equal nil,
34
+ @klass.new(load_part('/available.txt')).created_on
35
+ end
36
+
37
+ def test_updated_on
38
+ assert_equal Time.parse("2009-01-21 13:29:10 UTC"),
39
+ @klass.new(load_part('/registered.txt')).updated_on
40
+ assert_equal nil,
41
+ @klass.new(load_part('/available.txt')).updated_on
42
+ end
43
+
44
+ def test_expires_on
45
+ assert_equal Time.parse("2011-02-12 18:08:52 UTC"),
46
+ @klass.new(load_part('/registered.txt')).expires_on
47
+ assert_equal nil,
48
+ @klass.new(load_part('/available.txt')).expires_on
49
+ end
50
+
51
+ end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.afilias.info.rb'
3
+
4
+ class AnswerParserWhoisAfiliasInfoTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisAfiliasInfo
8
+ @host = "whois.afilias.info"
9
+ end
10
+
11
+
12
+ def test_status
13
+ assert_equal ["CLIENT DELETE PROHIBITED", "CLIENT TRANSFER PROHIBITED", "CLIENT UPDATE PROHIBITED"],
14
+ @klass.new(load_part('/registered.txt')).status
15
+ assert_equal [],
16
+ @klass.new(load_part('/available.txt')).status
17
+ end
18
+
19
+ def test_available?
20
+ assert !@klass.new(load_part('/registered.txt')).available?
21
+ assert @klass.new(load_part('/available.txt')).available?
22
+ end
23
+
24
+ def test_registered?
25
+ assert !@klass.new(load_part('/available.txt')).registered?
26
+ assert @klass.new(load_part('/registered.txt')).registered?
27
+ end
28
+
29
+
30
+ def test_created_on
31
+ assert_equal Time.parse("2001-07-31 23:57:50 UTC"),
32
+ @klass.new(load_part('/registered.txt')).created_on
33
+ assert_equal nil,
34
+ @klass.new(load_part('/available.txt')).created_on
35
+ end
36
+
37
+ def test_updated_on
38
+ assert_equal Time.parse("2009-03-05 22:39:19 UTC"),
39
+ @klass.new(load_part('/registered.txt')).updated_on
40
+ assert_equal nil,
41
+ @klass.new(load_part('/available.txt')).updated_on
42
+ end
43
+
44
+ def test_expires_on
45
+ assert_equal Time.parse("2010-07-31 23:57:50 UTC"),
46
+ @klass.new(load_part('/registered.txt')).expires_on
47
+ assert_equal nil,
48
+ @klass.new(load_part('/available.txt')).expires_on
49
+ end
50
+
51
+ end
@@ -1,9 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'whois/answer/parser/whois.crsnic.net'
3
3
 
4
- class AnswerParserWhoisCrsnicNetTest < Test::Unit::TestCase
5
-
6
- TESTCASE_PATH = File.expand_path(File.dirname(__FILE__) + '/../../testcases/responses/whois.crsnic.net')
4
+ class AnswerParserWhoisCrsnicNetTest < Whois::Answer::Parser::TestCase
7
5
 
8
6
  def setup
9
7
  @klass = Whois::Answer::Parser::WhoisCrsnicNet
@@ -39,74 +37,46 @@ reserves the right to modify these terms at any time.
39
37
  EOS
40
38
  assert_equal expected,
41
39
  @klass.new(load_part('/registered.txt')).disclaimer
42
- end
43
-
44
- def test_disclaimer_with_available
45
- expected = <<-EOS.strip
46
- TERMS OF USE: You are not authorized to access or query our Whois \
47
- database through the use of electronic processes that are high-volume and \
48
- automated except as reasonably necessary to register domain names or \
49
- modify existing registrations; the Data in VeriSign Global Registry \
50
- Services' ("VeriSign") Whois database is provided by VeriSign for \
51
- information purposes only, and to assist persons in obtaining information \
52
- about or related to a domain name registration record. VeriSign does not \
53
- guarantee its accuracy. By submitting a Whois query, you agree to abide \
54
- by the following terms of use: You agree that you may use this Data only \
55
- for lawful purposes and that under no circumstances will you use this Data \
56
- to: (1) allow, enable, or otherwise support the transmission of mass \
57
- unsolicited, commercial advertising or solicitations via e-mail, telephone, \
58
- or facsimile; or (2) enable high volume, automated, electronic processes \
59
- that apply to VeriSign (or its computer systems). The compilation, \
60
- repackaging, dissemination or other use of this Data is expressly \
61
- prohibited without the prior written consent of VeriSign. You agree not to \
62
- use electronic processes that are automated and high-volume to access or \
63
- query the Whois database except as reasonably necessary to register \
64
- domain names or modify existing registrations. VeriSign reserves the right \
65
- to restrict your access to the Whois database in its sole discretion to ensure \
66
- operational stability. VeriSign may restrict or terminate your access to the \
67
- Whois database for failure to abide by these terms of use. VeriSign \
68
- reserves the right to modify these terms at any time.
69
- EOS
70
40
  assert_equal expected,
71
41
  @klass.new(load_part('/available.txt')).disclaimer
72
42
  end
73
43
 
74
44
 
75
45
  def test_domain
76
- assert_equal "googlelkjhgfdfghjklkjhgf.net",
77
- @klass.new(load_part('/available.txt')).domain
78
46
  assert_equal "google.net",
79
47
  @klass.new(load_part('/registered.txt')).domain
48
+ assert_equal "googlelkjhgfdfghjklkjhgf.net",
49
+ @klass.new(load_part('/available.txt')).domain
80
50
  end
81
51
 
82
52
  def test_domain_id
83
- assert_equal nil,
84
- @klass.new(load_part('/available.txt')).domain_id
85
53
  assert_equal nil,
86
54
  @klass.new(load_part('/registered.txt')).domain_id
55
+ assert_equal nil,
56
+ @klass.new(load_part('/available.txt')).domain_id
87
57
  end
88
58
 
89
59
 
90
60
  def test_referral_whois
91
- assert_equal nil,
92
- @klass.new(load_part('/available.txt')).referral_whois
93
61
  assert_equal "whois.markmonitor.com",
94
62
  @klass.new(load_part('/registered.txt')).referral_whois
63
+ assert_equal nil,
64
+ @klass.new(load_part('/available.txt')).referral_whois
95
65
  end
96
66
 
97
67
  def test_referral_url
98
- assert_equal nil,
99
- @klass.new(load_part('/available.txt')).referral_url
100
68
  assert_equal "http://www.markmonitor.com",
101
69
  @klass.new(load_part('/registered.txt')).referral_url
70
+ assert_equal nil,
71
+ @klass.new(load_part('/available.txt')).referral_url
102
72
  end
103
73
 
104
74
 
105
75
  def test_status
106
- assert_equal nil,
107
- @klass.new(load_part('/available.txt')).status
108
76
  assert_equal ["clientDeleteProhibited", "clientTransferProhibited", "clientUpdateProhibited"],
109
77
  @klass.new(load_part('/registered.txt')).status
78
+ assert_equal nil,
79
+ @klass.new(load_part('/available.txt')).status
110
80
  end
111
81
 
112
82
  def test_available?
@@ -115,37 +85,28 @@ EOS
115
85
  end
116
86
 
117
87
  def test_registered?
118
- assert !@klass.new(load_part('/available.txt')).registered?
119
88
  assert @klass.new(load_part('/registered.txt')).registered?
89
+ assert !@klass.new(load_part('/available.txt')).registered?
120
90
  end
121
91
 
122
92
 
123
93
  def test_created_on
124
- assert_equal Time.parse("1999-03-15 00:00:00"),
94
+ assert_equal Time.parse("1999-03-15 00:00:00 +0100"),
125
95
  @klass.new(load_part('/registered.txt')).created_on
126
- end
127
-
128
- def test_created_on_with_available
129
96
  assert_equal nil,
130
97
  @klass.new(load_part('/available.txt')).created_on
131
98
  end
132
99
 
133
100
  def test_updated_on
134
- assert_equal Time.parse("2009-02-10 00:00:00"),
101
+ assert_equal Time.parse("2009-02-10 00:00:00 +0100"),
135
102
  @klass.new(load_part('/registered.txt')).updated_on
136
- end
137
-
138
- def test_updated_on_with_available
139
103
  assert_equal nil,
140
104
  @klass.new(load_part('/available.txt')).updated_on
141
105
  end
142
106
 
143
107
  def test_expires_on
144
- assert_equal Time.parse("2010-03-15 00:00:00"),
108
+ assert_equal Time.parse("2010-03-15 00:00:00 +0100"),
145
109
  @klass.new(load_part('/registered.txt')).expires_on
146
- end
147
-
148
- def test_expires_on_with_available
149
110
  assert_equal nil,
150
111
  @klass.new(load_part('/available.txt')).expires_on
151
112
  end
@@ -154,22 +115,8 @@ EOS
154
115
  def test_registrar
155
116
  assert_equal nil,
156
117
  @klass.new(load_part('/registered.txt')).registrar
157
- end
158
-
159
- def test_registrar_with_available
160
118
  assert_equal nil,
161
119
  @klass.new(load_part('/available.txt')).registrar
162
120
  end
163
121
 
164
-
165
- protected
166
-
167
- def load_part(path)
168
- part(File.read(TESTCASE_PATH + path), @host)
169
- end
170
-
171
- def part(*args)
172
- Whois::Answer::Part.new(*args)
173
- end
174
-
175
122
  end
@@ -1,9 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'whois/answer/parser/whois.denic.de'
3
3
 
4
- class AnswerParserWhoisDenicDeTest < Test::Unit::TestCase
5
-
6
- TESTCASE_PATH = File.expand_path(File.dirname(__FILE__) + '/../../testcases/responses/whois.denic.de')
4
+ class AnswerParserWhoisDenicDeTest < Whois::Answer::Parser::TestCase
7
5
 
8
6
  def setup
9
7
  @klass = Whois::Answer::Parser::WhoisDenicDe
@@ -107,22 +105,23 @@ http://www.denic.de/en/background/whois-service/webwhois.html
107
105
  end
108
106
 
109
107
 
110
- def test_created_on_with_available
108
+ def test_created
109
+ assert_equal nil,
110
+ @klass.new(load_part('/registered.txt')).created_on
111
111
  assert_equal nil,
112
112
  @klass.new(load_part('/available.txt')).created_on
113
113
  end
114
114
 
115
115
  def test_updated_on
116
- assert_equal Time.parse('2009-02-28 12:03:09'),
116
+ assert_equal Time.parse('2009-02-28 12:03:09 +0100'),
117
117
  @klass.new(load_part('/registered.txt')).updated_on
118
- end
119
-
120
- def test_updated_on_with_available
121
118
  assert_equal nil,
122
119
  @klass.new(load_part('/available.txt')).updated_on
123
120
  end
124
121
 
125
- def test_expires_on_with_available
122
+ def test_expires_on
123
+ assert_equal nil,
124
+ @klass.new(load_part('/registered.txt')).expires_on
126
125
  assert_equal nil,
127
126
  @klass.new(load_part('/available.txt')).expires_on
128
127
  end
@@ -195,23 +194,10 @@ http://www.denic.de/en/background/whois-service/webwhois.html
195
194
  @klass.new(load_part('/available.txt')).nameservers
196
195
  end
197
196
 
198
-
199
- protected
200
-
201
- def load_part(path)
202
- part(File.read(TESTCASE_PATH + path), @host)
203
- end
204
-
205
- def part(*args)
206
- Whois::Answer::Part.new(*args)
207
- end
208
-
209
197
  end
210
198
 
211
199
 
212
- class AnswerParserWhoisDenicDe1100Test < Test::Unit::TestCase
213
-
214
- TESTCASE_PATH = File.expand_path(File.dirname(__FILE__) + '/../../testcases/responses/whois.denic.de')
200
+ class AnswerParserWhoisDenicDe1100Test < Whois::Answer::Parser::TestCase
215
201
 
216
202
  def setup
217
203
  @klass = Whois::Answer::Parser::WhoisDenicDe
@@ -403,15 +389,4 @@ assurance and to bar you from using its whois query.
403
389
  @klass.new(load_part('/1-10-0_available.txt')).nameservers
404
390
  end
405
391
 
406
-
407
- protected
408
-
409
- def load_part(path)
410
- part(File.read(TESTCASE_PATH + path), @host)
411
- end
412
-
413
- def part(*args)
414
- Whois::Answer::Part.new(*args)
415
- end
416
-
417
392
  end