whois 1.0.10 → 1.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/CHANGELOG.rdoc +17 -0
  2. data/Manifest +24 -0
  3. data/Rakefile +15 -15
  4. data/lib/whois.rb +3 -3
  5. data/lib/whois/answer/parser/NOTES.txt +1 -0
  6. data/lib/whois/answer/parser/whois.aero.rb +5 -5
  7. data/lib/whois/answer/parser/whois.afilias-grs.info.rb +5 -5
  8. data/lib/whois/answer/parser/whois.ai.rb +73 -0
  9. data/lib/whois/answer/parser/whois.dns.lu.rb +72 -0
  10. data/lib/whois/answer/parser/whois.hkdnr.net.hk.rb +81 -0
  11. data/lib/whois/answer/parser/whois.nic.af.rb +83 -0
  12. data/lib/whois/answer/parser/whois.nic.ag.rb +77 -0
  13. data/lib/whois/answer/parser/whois.nic.asia.rb +1 -1
  14. data/lib/whois/answer/parser/whois.nic.mx.rb +87 -0
  15. data/lib/whois/answer/parser/whois.nic.or.kr.rb +1 -1
  16. data/lib/whois/answer/parser/whois.nic.ve.rb +2 -2
  17. data/lib/whois/answer/parser/whois.rotld.ro.rb +2 -4
  18. data/lib/whois/version.rb +2 -2
  19. data/test/answer/parser/whois.aero_test.rb +37 -17
  20. data/test/answer/parser/whois.afilias-grs.info_test.rb +63 -28
  21. data/test/answer/parser/whois.ai_test.rb +58 -0
  22. data/test/answer/parser/whois.dns.lu_test.rb +70 -0
  23. data/test/answer/parser/whois.hkdnr.net.hk_test.rb +77 -0
  24. data/test/answer/parser/whois.nic.af_test.rb +84 -0
  25. data/test/answer/parser/whois.nic.ag_test.rb +84 -0
  26. data/test/answer/parser/whois.nic.asia_test.rb +9 -4
  27. data/test/answer/parser/whois.nic.mx_test.rb +84 -0
  28. data/test/answer/parser/whois.nic.or.kr_test.rb +2 -2
  29. data/test/answer/parser/whois.nic.ve_test.rb +10 -5
  30. data/test/answer/parser/whois.rotld.ro_test.rb +9 -4
  31. data/test/list_tld +6 -6
  32. data/test/testcases/responses/whois.ai/available.txt +2 -0
  33. data/test/testcases/responses/whois.ai/registered.txt +59 -0
  34. data/test/testcases/responses/whois.dns.lu/available.txt +26 -0
  35. data/test/testcases/responses/whois.dns.lu/registered.txt +57 -0
  36. data/test/testcases/responses/whois.hkdnr.net.hk/available.txt +1 -0
  37. data/test/testcases/responses/whois.hkdnr.net.hk/registered.txt +96 -0
  38. data/test/testcases/responses/whois.nic.af/available.txt +13 -0
  39. data/test/testcases/responses/whois.nic.af/registered.txt +56 -0
  40. data/test/testcases/responses/whois.nic.ag/available.txt +1 -0
  41. data/test/testcases/responses/whois.nic.ag/registered.txt +100 -0
  42. data/test/testcases/responses/whois.nic.mx/available.txt +11 -0
  43. data/test/testcases/responses/whois.nic.mx/registered.txt +58 -0
  44. data/whois.gemspec +8 -8
  45. metadata +41 -5
@@ -0,0 +1,58 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.ai.rb'
3
+
4
+ class AnswerParserWhoisAiTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisAi
8
+ @host = "whois.ai"
9
+ end
10
+
11
+
12
+ def test_status
13
+ assert_equal :registered,
14
+ @klass.new(load_part('/registered.txt')).status
15
+ assert_equal :available,
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('/registered.txt')).registered?
26
+ assert !@klass.new(load_part('/available.txt')).registered?
27
+ end
28
+
29
+
30
+ def test_created_on
31
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).created_on }
32
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).created_on }
33
+ end
34
+
35
+ def test_updated_on
36
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on }
37
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on }
38
+ end
39
+
40
+ def test_expires_on
41
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).expires_on }
42
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).expires_on }
43
+ end
44
+
45
+
46
+ def test_nameservers
47
+ parser = @klass.new(load_part('/registered.txt'))
48
+ expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
49
+ assert_equal expected, parser.nameservers
50
+ assert_equal expected, parser.instance_eval { @nameservers }
51
+
52
+ parser = @klass.new(load_part('/available.txt'))
53
+ expected = %w()
54
+ assert_equal expected, parser.nameservers
55
+ assert_equal expected, parser.instance_eval { @nameservers }
56
+ end
57
+
58
+ end
@@ -0,0 +1,70 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.dns.lu.rb'
3
+
4
+ class AnswerParserWhoisDnsLuTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisDnsLu
8
+ @host = "whois.dns.lu"
9
+ end
10
+
11
+
12
+ def test_status
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = "ACTIVE"
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = nil
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
22
+ end
23
+
24
+ def test_available?
25
+ assert !@klass.new(load_part('/registered.txt')).available?
26
+ assert @klass.new(load_part('/available.txt')).available?
27
+ end
28
+
29
+ def test_registered?
30
+ assert @klass.new(load_part('/registered.txt')).registered?
31
+ assert !@klass.new(load_part('/available.txt')).registered?
32
+ end
33
+
34
+
35
+ def test_created_on
36
+ parser = @klass.new(load_part('/registered.txt'))
37
+ expected = Time.parse("2003-06-04 00:00:00 UTC")
38
+ assert_equal expected, parser.created_on
39
+ assert_equal expected, parser.instance_eval { @created_on }
40
+
41
+ parser = @klass.new(load_part('/available.txt'))
42
+ expected = nil
43
+ assert_equal expected, parser.created_on
44
+ assert_equal expected, parser.instance_eval { @created_on }
45
+ end
46
+
47
+ def test_updated_on
48
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on }
49
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on }
50
+ end
51
+
52
+ def test_expires_on
53
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).expires_on }
54
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).expires_on }
55
+ end
56
+
57
+
58
+ def test_nameservers
59
+ parser = @klass.new(load_part('/registered.txt'))
60
+ expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
61
+ assert_equal expected, parser.nameservers
62
+ assert_equal expected, parser.instance_eval { @nameservers }
63
+
64
+ parser = @klass.new(load_part('/available.txt'))
65
+ expected = %w()
66
+ assert_equal expected, parser.nameservers
67
+ assert_equal expected, parser.instance_eval { @nameservers }
68
+ end
69
+
70
+ end
@@ -0,0 +1,77 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.hkdnr.net.hk.rb'
3
+
4
+ class AnswerParserWhoisHkdnrNetHkTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisHkdnrNetHk
8
+ @host = "whois.hkdnr.net.hk"
9
+ end
10
+
11
+
12
+ def test_status
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = :registered
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = :available
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
22
+ end
23
+
24
+ def test_available?
25
+ assert !@klass.new(load_part('/registered.txt')).available?
26
+ assert @klass.new(load_part('/available.txt')).available?
27
+ end
28
+
29
+ def test_registered?
30
+ assert @klass.new(load_part('/registered.txt')).registered?
31
+ assert !@klass.new(load_part('/available.txt')).registered?
32
+ end
33
+
34
+
35
+ def test_created_on
36
+ parser = @klass.new(load_part('/registered.txt'))
37
+ expected = Time.parse("2004-04-06")
38
+ assert_equal expected, parser.created_on
39
+ assert_equal expected, parser.instance_eval { @created_on }
40
+
41
+ parser = @klass.new(load_part('/available.txt'))
42
+ expected = nil
43
+ assert_equal expected, parser.created_on
44
+ assert_equal expected, parser.instance_eval { @created_on }
45
+ end
46
+
47
+ def test_updated_on
48
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on }
49
+ assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on }
50
+ end
51
+
52
+ def test_expires_on
53
+ parser = @klass.new(load_part('/registered.txt'))
54
+ expected = Time.parse("2011-03-31")
55
+ assert_equal expected, parser.expires_on
56
+ assert_equal expected, parser.instance_eval { @expires_on }
57
+
58
+ parser = @klass.new(load_part('/available.txt'))
59
+ expected = nil
60
+ assert_equal expected, parser.expires_on
61
+ assert_equal expected, parser.instance_eval { @expires_on }
62
+ end
63
+
64
+
65
+ def test_nameservers
66
+ parser = @klass.new(load_part('/registered.txt'))
67
+ expected = %w( ns1.google.com ns2.google.com )
68
+ assert_equal expected, parser.nameservers
69
+ assert_equal expected, parser.instance_eval { @nameservers }
70
+
71
+ parser = @klass.new(load_part('/available.txt'))
72
+ expected = %w()
73
+ assert_equal expected, parser.nameservers
74
+ assert_equal expected, parser.instance_eval { @nameservers }
75
+ end
76
+
77
+ end
@@ -0,0 +1,84 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.nic.af.rb'
3
+
4
+ class AnswerParserWhoisNicAfTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisNicAf
8
+ @host = "whois.nic.af"
9
+ end
10
+
11
+
12
+ def test_status
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = "Active"
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = "Not Registered"
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
22
+ end
23
+
24
+ def test_available?
25
+ assert !@klass.new(load_part('/registered.txt')).available?
26
+ assert @klass.new(load_part('/available.txt')).available?
27
+ end
28
+
29
+ def test_registered?
30
+ assert @klass.new(load_part('/registered.txt')).registered?
31
+ assert !@klass.new(load_part('/available.txt')).registered?
32
+ end
33
+
34
+
35
+ def test_created_on
36
+ parser = @klass.new(load_part('/registered.txt'))
37
+ expected = Time.parse("2009-10-05")
38
+ assert_equal expected, parser.created_on
39
+ assert_equal expected, parser.instance_eval { @created_on }
40
+
41
+ parser = @klass.new(load_part('/available.txt'))
42
+ expected = nil
43
+ assert_equal expected, parser.created_on
44
+ assert_equal expected, parser.instance_eval { @created_on }
45
+ end
46
+
47
+ def test_updated_on
48
+ parser = @klass.new(load_part('/registered.txt'))
49
+ expected = Time.parse("2010-01-29")
50
+ assert_equal expected, parser.updated_on
51
+ assert_equal expected, parser.instance_eval { @updated_on }
52
+
53
+ parser = @klass.new(load_part('/available.txt'))
54
+ expected = nil
55
+ assert_equal expected, parser.updated_on
56
+ assert_equal expected, parser.instance_eval { @updated_on }
57
+ end
58
+
59
+ def test_expires_on
60
+ parser = @klass.new(load_part('/registered.txt'))
61
+ expected = Time.parse("2010-05-05")
62
+ assert_equal expected, parser.expires_on
63
+ assert_equal expected, parser.instance_eval { @expires_on }
64
+
65
+ parser = @klass.new(load_part('/available.txt'))
66
+ expected = nil
67
+ assert_equal expected, parser.expires_on
68
+ assert_equal expected, parser.instance_eval { @expires_on }
69
+ end
70
+
71
+
72
+ def test_nameservers
73
+ parser = @klass.new(load_part('/registered.txt'))
74
+ expected = %w( ns1.google.com ns2.google.com )
75
+ assert_equal expected, parser.nameservers
76
+ assert_equal expected, parser.instance_eval { @nameservers }
77
+
78
+ parser = @klass.new(load_part('/available.txt'))
79
+ expected = %w()
80
+ assert_equal expected, parser.nameservers
81
+ assert_equal expected, parser.instance_eval { @nameservers }
82
+ end
83
+
84
+ end
@@ -0,0 +1,84 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.nic.ag.rb'
3
+
4
+ class AnswerParserWhoisNicAgTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisNicAg
8
+ @host = "whois.nic.ag"
9
+ end
10
+
11
+
12
+ def test_status
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = ["CLIENT DELETE PROHIBITED", "CLIENT TRANSFER PROHIBITED", "CLIENT UPDATE PROHIBITED"]
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = []
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
22
+ end
23
+
24
+ def test_available?
25
+ assert !@klass.new(load_part('/registered.txt')).available?
26
+ assert @klass.new(load_part('/available.txt')).available?
27
+ end
28
+
29
+ def test_registered?
30
+ assert @klass.new(load_part('/registered.txt')).registered?
31
+ assert !@klass.new(load_part('/available.txt')).registered?
32
+ end
33
+
34
+
35
+ def test_created_on
36
+ parser = @klass.new(load_part('/registered.txt'))
37
+ expected = Time.parse("2003-01-05 14:06:59 UTC")
38
+ assert_equal expected, parser.created_on
39
+ assert_equal expected, parser.instance_eval { @created_on }
40
+
41
+ parser = @klass.new(load_part('/available.txt'))
42
+ expected = nil
43
+ assert_equal expected, parser.created_on
44
+ assert_equal expected, parser.instance_eval { @created_on }
45
+ end
46
+
47
+ def test_updated_on
48
+ parser = @klass.new(load_part('/registered.txt'))
49
+ expected = Time.parse("2009-12-09 19:28:04 UTC")
50
+ assert_equal expected, parser.updated_on
51
+ assert_equal expected, parser.instance_eval { @updated_on }
52
+
53
+ parser = @klass.new(load_part('/available.txt'))
54
+ expected = nil
55
+ assert_equal expected, parser.updated_on
56
+ assert_equal expected, parser.instance_eval { @updated_on }
57
+ end
58
+
59
+ def test_expires_on
60
+ parser = @klass.new(load_part('/registered.txt'))
61
+ expected = Time.parse("2011-01-05 14:06:59 UTC")
62
+ assert_equal expected, parser.expires_on
63
+ assert_equal expected, parser.instance_eval { @expires_on }
64
+
65
+ parser = @klass.new(load_part('/available.txt'))
66
+ expected = nil
67
+ assert_equal expected, parser.expires_on
68
+ assert_equal expected, parser.instance_eval { @expires_on }
69
+ end
70
+
71
+
72
+ def test_nameservers
73
+ parser = @klass.new(load_part('/registered.txt'))
74
+ expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
75
+ assert_equal expected, parser.nameservers
76
+ assert_equal expected, parser.instance_eval { @nameservers }
77
+
78
+ parser = @klass.new(load_part('/available.txt'))
79
+ expected = %w()
80
+ assert_equal expected, parser.nameservers
81
+ assert_equal expected, parser.instance_eval { @nameservers }
82
+ end
83
+
84
+ end
@@ -10,10 +10,15 @@ class AnswerParserWhoisNicAsiaTest < Whois::Answer::Parser::TestCase
10
10
 
11
11
 
12
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
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = "OK"
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = nil
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
17
22
  end
18
23
 
19
24
  def test_available?
@@ -0,0 +1,84 @@
1
+ require 'test_helper'
2
+ require 'whois/answer/parser/whois.nic.mx.rb'
3
+
4
+ class AnswerParserWhoisNicMxTest < Whois::Answer::Parser::TestCase
5
+
6
+ def setup
7
+ @klass = Whois::Answer::Parser::WhoisNicMx
8
+ @host = "whois.nic.mx"
9
+ end
10
+
11
+
12
+ def test_status
13
+ parser = @klass.new(load_part('/registered.txt'))
14
+ expected = :registered
15
+ assert_equal expected, parser.status
16
+ assert_equal expected, parser.instance_eval { @status }
17
+
18
+ parser = @klass.new(load_part('/available.txt'))
19
+ expected = :available
20
+ assert_equal expected, parser.status
21
+ assert_equal expected, parser.instance_eval { @status }
22
+ end
23
+
24
+ def test_available?
25
+ assert !@klass.new(load_part('/registered.txt')).available?
26
+ assert @klass.new(load_part('/available.txt')).available?
27
+ end
28
+
29
+ def test_registered?
30
+ assert @klass.new(load_part('/registered.txt')).registered?
31
+ assert !@klass.new(load_part('/available.txt')).registered?
32
+ end
33
+
34
+
35
+ def test_created_on
36
+ parser = @klass.new(load_part('/registered.txt'))
37
+ expected = Time.parse("2003-02-24")
38
+ assert_equal expected, parser.created_on
39
+ assert_equal expected, parser.instance_eval { @created_on }
40
+
41
+ parser = @klass.new(load_part('/available.txt'))
42
+ expected = nil
43
+ assert_equal expected, parser.created_on
44
+ assert_equal expected, parser.instance_eval { @created_on }
45
+ end
46
+
47
+ # def test_updated_on
48
+ # parser = @klass.new(load_part('/registered.txt'))
49
+ # expected = Time.parse("2010-02-23")
50
+ # assert_equal expected, parser.updated_on
51
+ # assert_equal expected, parser.instance_eval { @updated_on }
52
+ #
53
+ # parser = @klass.new(load_part('/available.txt'))
54
+ # expected = nil
55
+ # assert_equal expected, parser.updated_on
56
+ # assert_equal expected, parser.instance_eval { @updated_on }
57
+ # end
58
+
59
+ def test_expires_on
60
+ parser = @klass.new(load_part('/registered.txt'))
61
+ expected = Time.parse("2011-02-23")
62
+ assert_equal expected, parser.expires_on
63
+ assert_equal expected, parser.instance_eval { @expires_on }
64
+
65
+ parser = @klass.new(load_part('/available.txt'))
66
+ expected = nil
67
+ assert_equal expected, parser.expires_on
68
+ assert_equal expected, parser.instance_eval { @expires_on }
69
+ end
70
+
71
+
72
+ def test_nameservers
73
+ parser = @klass.new(load_part('/registered.txt'))
74
+ expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
75
+ assert_equal expected, parser.nameservers
76
+ assert_equal expected, parser.instance_eval { @nameservers }
77
+
78
+ parser = @klass.new(load_part('/available.txt'))
79
+ expected = %w()
80
+ assert_equal expected, parser.nameservers
81
+ assert_equal expected, parser.instance_eval { @nameservers }
82
+ end
83
+
84
+ end