whois 1.2.1 → 1.2.2
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.
- data/CHANGELOG.rdoc +23 -0
- data/Manifest +27 -4
- data/README.rdoc +5 -8
- data/Rakefile +14 -0
- data/data/ip_del_list +11 -3
- data/data/servers_charset_list +2 -1
- data/data/tld_serv_list +15 -7
- data/lib/whois/answer/contact.rb +15 -15
- data/lib/whois/answer/parser/NOTES.txt +10 -13
- data/lib/whois/answer/parser/saudinic.net.sa.rb +36 -0
- data/lib/whois/answer/parser/whois.audns.net.au.rb +71 -0
- data/lib/whois/answer/parser/whois.ausregistry.net.au.rb +3 -39
- data/lib/whois/answer/parser/whois.cnnic.net.cn.rb +0 -1
- data/lib/whois/answer/parser/whois.jprs.jp.rb +3 -3
- data/lib/whois/answer/parser/whois.nic.co.rb +77 -0
- data/lib/whois/answer/parser/whois.nic.net.sa.rb +73 -0
- data/lib/whois/answer/parser/whois.tonic.to.rb +108 -0
- data/lib/whois/answer/parser.rb +5 -5
- data/lib/whois/answer/part.rb +1 -1
- data/lib/whois/answer/registrar.rb +4 -4
- data/lib/whois/client.rb +22 -10
- data/lib/whois/definitions/ipv4.rb +11 -3
- data/lib/whois/definitions/ipv4.txt +226 -0
- data/lib/whois/definitions/ipv6.txt +32 -0
- data/lib/whois/definitions/tlds.rb +12 -6
- data/lib/whois/definitions/tlds.txt +360 -0
- data/lib/whois/version.rb +2 -2
- data/lib/whois.rb +36 -17
- data/test/list_tld +21 -15
- data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/available.txt +0 -0
- data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/registered.txt +0 -0
- data/test/testcases/responses/whois.jprs.jp/jp/available.txt +17 -0
- data/test/testcases/responses/whois.jprs.jp/{registered.txt → jp/registered.txt} +0 -0
- data/test/testcases/responses/whois.jprs.jp/ne.jp/available.txt +17 -0
- data/test/testcases/responses/whois.jprs.jp/ne.jp/registered.txt +19 -0
- data/test/testcases/responses/whois.nic.co/available.txt +28 -0
- data/test/testcases/responses/whois.nic.co/registered.txt +82 -0
- data/test/testcases/responses/whois.nic.net.sa/available.txt +5 -0
- data/test/testcases/responses/whois.nic.net.sa/registered.txt +17 -0
- data/test/testcases/responses/whois.tonic.to/1.txt +1 -0
- data/test/testcases/responses/whois.tonic.to/available.txt +2 -0
- data/test/testcases/responses/whois.tonic.to/incomplete.txt +1 -0
- data/test/testcases/responses/whois.tonic.to/registered.txt +3 -0
- data/test/whois/answer/parser/saudinic.net.sa_test.rb +12 -0
- data/test/whois/answer/parser/whois.audns.net.au_test.rb +70 -0
- data/test/whois/answer/parser/whois.ausregistry.net.au_test.rb +3 -61
- data/test/whois/answer/parser/whois.jprs.jp_test.rb +93 -14
- data/test/whois/answer/parser/whois.nic.co_test.rb +64 -0
- data/test/whois/answer/parser/whois.nic.net.sa_test.rb +84 -0
- data/test/whois/answer/parser/whois.tonic.to_test.rb +125 -0
- data/whois.gemspec +5 -5
- metadata +44 -8
- data/test/testcases/responses/whois.jprs.jp/available.txt +0 -8
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Not found: u34jedzcq.co
|
|
2
|
+
|
|
3
|
+
>>>> Whois database was last updated on: Tue Jul 20 09:39:19 GMT 2010 <<<<
|
|
4
|
+
.CO Internet, S.A.S., the Administrator for .CO, has collected this
|
|
5
|
+
information for the WHOIS database through Accredited Registrars.
|
|
6
|
+
This information is provided to you for informational purposes only and is
|
|
7
|
+
designed to assist persons in determining contents of a domain name
|
|
8
|
+
registration record in the .CO Internet registry database. .CO Internet makes this
|
|
9
|
+
information available to you "as is" and does not guarantee its accuracy.
|
|
10
|
+
By submitting a WHOIS query, you agree that you will use this data only for
|
|
11
|
+
lawful purposes and that, under no circumstances will you use this data:
|
|
12
|
+
(1) to allow, enable, or otherwise support the transmission of mass
|
|
13
|
+
unsolicited, commercial advertising or solicitations via direct mail,
|
|
14
|
+
electronic mail, or by telephone; (2) in contravention of any applicable
|
|
15
|
+
data and privacy protection laws; or (3) to enable high volume, automated,
|
|
16
|
+
electronic processes that apply to the registry (or its systems). Compilation,
|
|
17
|
+
repackaging, dissemination, or other use of the WHOIS database in its
|
|
18
|
+
entirety, or of a substantial portion thereof, is not allowed without
|
|
19
|
+
.CO Internet’s prior written permission. .CO Internet reserves the right to modify or
|
|
20
|
+
change these conditions at any time without prior or subsequent notification
|
|
21
|
+
of any kind. By executing this query, in any manner whatsoever, you agree to
|
|
22
|
+
abide by these terms.
|
|
23
|
+
|
|
24
|
+
NOTE: FAILURE TO LOCATE A RECORD IN THE WHOIS DATABASE IS NOT INDICATIVE
|
|
25
|
+
OF THE AVAILABILITY OF A DOMAIN NAME.
|
|
26
|
+
|
|
27
|
+
All domain names are subject to certain additional domain name registration
|
|
28
|
+
rules. For details, please visit our site at www.whois.co <http://www.whois.co> .
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
Domain Name: T.CO
|
|
2
|
+
Domain ID: D740225-CO
|
|
3
|
+
Sponsoring Registrar: RESTRICTED AND RESERVED NAMES .COINTERNET
|
|
4
|
+
Sponsoring Registrar IANA ID: 672943168
|
|
5
|
+
Registrar URL (registration services): www.cointernet.com.co
|
|
6
|
+
Domain Status: serverTransferProhibited
|
|
7
|
+
Registrant ID: COFOUNDERS
|
|
8
|
+
Registrant Name: .CO Founders program
|
|
9
|
+
Registrant Organization: .CO Internet S.A.S.
|
|
10
|
+
Registrant Address1: Calle 100# 8a-49 Torre B Oficina 507
|
|
11
|
+
Registrant City: Bogota
|
|
12
|
+
Registrant Postal Code: 00000
|
|
13
|
+
Registrant Country: Colombia
|
|
14
|
+
Registrant Country Code: CO
|
|
15
|
+
Registrant Phone Number: +571.6169916
|
|
16
|
+
Registrant Email: cofounders@cointernet.co
|
|
17
|
+
Administrative Contact ID: COFOUNDERS
|
|
18
|
+
Administrative Contact Name: .CO Founders program
|
|
19
|
+
Administrative Contact Organization: .CO Internet S.A.S.
|
|
20
|
+
Administrative Contact Address1: Calle 100# 8a-49 Torre B Oficina 507
|
|
21
|
+
Administrative Contact City: Bogota
|
|
22
|
+
Administrative Contact Postal Code: 00000
|
|
23
|
+
Administrative Contact Country: Colombia
|
|
24
|
+
Administrative Contact Country Code: CO
|
|
25
|
+
Administrative Contact Phone Number: +571.6169916
|
|
26
|
+
Administrative Contact Email: cofounders@cointernet.co
|
|
27
|
+
Billing Contact ID: COFOUNDERS
|
|
28
|
+
Billing Contact Name: .CO Founders program
|
|
29
|
+
Billing Contact Organization: .CO Internet S.A.S.
|
|
30
|
+
Billing Contact Address1: Calle 100# 8a-49 Torre B Oficina 507
|
|
31
|
+
Billing Contact City: Bogota
|
|
32
|
+
Billing Contact Postal Code: 00000
|
|
33
|
+
Billing Contact Country: Colombia
|
|
34
|
+
Billing Contact Country Code: CO
|
|
35
|
+
Billing Contact Phone Number: +571.6169916
|
|
36
|
+
Billing Contact Email: cofounders@cointernet.co
|
|
37
|
+
Technical Contact ID: COFOUNDERS
|
|
38
|
+
Technical Contact Name: .CO Founders program
|
|
39
|
+
Technical Contact Organization: .CO Internet S.A.S.
|
|
40
|
+
Technical Contact Address1: Calle 100# 8a-49 Torre B Oficina 507
|
|
41
|
+
Technical Contact City: Bogota
|
|
42
|
+
Technical Contact Postal Code: 00000
|
|
43
|
+
Technical Contact Country: Colombia
|
|
44
|
+
Technical Contact Country Code: CO
|
|
45
|
+
Technical Contact Phone Number: +571.6169916
|
|
46
|
+
Technical Contact Email: cofounders@cointernet.co
|
|
47
|
+
Name Server: NS1.P26.DYNECT.NET
|
|
48
|
+
Name Server: NS2.P26.DYNECT.NET
|
|
49
|
+
Name Server: NS3.P26.DYNECT.NET
|
|
50
|
+
Name Server: NS4.P26.DYNECT.NET
|
|
51
|
+
Created by Registrar: INJECTCSR
|
|
52
|
+
Last Updated by Registrar: NEULEVELCSR
|
|
53
|
+
Domain Registration Date: Mon Apr 26 07:50:40 GMT 2010
|
|
54
|
+
Domain Expiration Date: Thu Apr 25 23:59:59 GMT 2013
|
|
55
|
+
Domain Last Updated Date: Tue Jul 06 18:54:16 GMT 2010
|
|
56
|
+
|
|
57
|
+
>>>> Whois database was last updated on: Tue Jul 20 09:39:19 GMT 2010 <<<<
|
|
58
|
+
.CO Internet, S.A.S., the Administrator for .CO, has collected this
|
|
59
|
+
information for the WHOIS database through Accredited Registrars.
|
|
60
|
+
This information is provided to you for informational purposes only and is
|
|
61
|
+
designed to assist persons in determining contents of a domain name
|
|
62
|
+
registration record in the .CO Internet registry database. .CO Internet makes this
|
|
63
|
+
information available to you "as is" and does not guarantee its accuracy.
|
|
64
|
+
By submitting a WHOIS query, you agree that you will use this data only for
|
|
65
|
+
lawful purposes and that, under no circumstances will you use this data:
|
|
66
|
+
(1) to allow, enable, or otherwise support the transmission of mass
|
|
67
|
+
unsolicited, commercial advertising or solicitations via direct mail,
|
|
68
|
+
electronic mail, or by telephone; (2) in contravention of any applicable
|
|
69
|
+
data and privacy protection laws; or (3) to enable high volume, automated,
|
|
70
|
+
electronic processes that apply to the registry (or its systems). Compilation,
|
|
71
|
+
repackaging, dissemination, or other use of the WHOIS database in its
|
|
72
|
+
entirety, or of a substantial portion thereof, is not allowed without
|
|
73
|
+
.CO Internet’s prior written permission. .CO Internet reserves the right to modify or
|
|
74
|
+
change these conditions at any time without prior or subsequent notification
|
|
75
|
+
of any kind. By executing this query, in any manner whatsoever, you agree to
|
|
76
|
+
abide by these terms.
|
|
77
|
+
|
|
78
|
+
NOTE: FAILURE TO LOCATE A RECORD IN THE WHOIS DATABASE IS NOT INDICATIVE
|
|
79
|
+
OF THE AVAILABILITY OF A DOMAIN NAME.
|
|
80
|
+
|
|
81
|
+
All domain names are subject to certain additional domain name registration
|
|
82
|
+
rules. For details, please visit our site at www.whois.co <http://www.whois.co> .
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
% SaudiNIC Whois server.
|
|
2
|
+
% Rights restricted by copyright.
|
|
3
|
+
% http://www.nic.net.sa/tools/copyright.php
|
|
4
|
+
|
|
5
|
+
domain: saudigazette.com.sa
|
|
6
|
+
organization: Okaz for Press and Publication
|
|
7
|
+
address: P.O.Box 1508
|
|
8
|
+
address: 21441 Jeddah
|
|
9
|
+
address: Saudi Arabia
|
|
10
|
+
admin-c: AD59-SA
|
|
11
|
+
tech-c: SW13-SA
|
|
12
|
+
reg-c: SW13-SA
|
|
13
|
+
nserver: ns1.peer1.net
|
|
14
|
+
nserver: ns2.peer1.net
|
|
15
|
+
req-date: 1999-06-20
|
|
16
|
+
reg-date: 2000-09-11
|
|
17
|
+
source: SaudiNIC
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'whois/answer/parser/saudinic.net.sa'
|
|
3
|
+
require 'whois/answer/parser/whois.nic.net.sa_test'
|
|
4
|
+
|
|
5
|
+
class AnswerParserSaudinicNetSaTest < AnswerParserWhoisNicNetSaTest
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
@klass = Whois::Answer::Parser::SaudinicNetSa
|
|
9
|
+
@host = "whois.nic.net.sa"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'whois/answer/parser/whois.audns.net.au'
|
|
3
|
+
|
|
4
|
+
class AnswerParserWhoisAudnsNetAuTest < Whois::Answer::Parser::TestCase
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@klass = Whois::Answer::Parser::WhoisAudnsNetAu
|
|
8
|
+
@host = "whois.audns.net.au"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_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 }
|
|
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
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).created_on }
|
|
37
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).created_on }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_updated_on
|
|
41
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
42
|
+
expected = Time.parse("2009-10-12 16:05:44 UTC")
|
|
43
|
+
assert_equal expected, parser.updated_on
|
|
44
|
+
assert_equal expected, parser.instance_eval { @updated_on }
|
|
45
|
+
|
|
46
|
+
parser = @klass.new(load_part('/available.txt'))
|
|
47
|
+
expected = nil
|
|
48
|
+
assert_equal expected, parser.updated_on
|
|
49
|
+
assert_equal expected, parser.instance_eval { @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
|
|
@@ -1,70 +1,12 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
2
|
require 'whois/answer/parser/whois.ausregistry.net.au'
|
|
3
|
+
require 'whois/answer/parser/whois.audns.net.au_test'
|
|
3
4
|
|
|
4
|
-
class AnswerParserWhoisAusregistryNetAuTest <
|
|
5
|
+
class AnswerParserWhoisAusregistryNetAuTest < AnswerParserWhoisAudnsNetAuTest
|
|
5
6
|
|
|
6
7
|
def setup
|
|
7
8
|
@klass = Whois::Answer::Parser::WhoisAusregistryNetAu
|
|
8
|
-
@host = "whois.
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def test_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 }
|
|
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
|
-
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).created_on }
|
|
37
|
-
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).created_on }
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def test_updated_on
|
|
41
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
42
|
-
expected = Time.parse("2009-10-12 16:05:44 UTC")
|
|
43
|
-
assert_equal expected, parser.updated_on
|
|
44
|
-
assert_equal expected, parser.instance_eval { @updated_on }
|
|
45
|
-
|
|
46
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
47
|
-
expected = nil
|
|
48
|
-
assert_equal expected, parser.updated_on
|
|
49
|
-
assert_equal expected, parser.instance_eval { @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 }
|
|
9
|
+
@host = "whois.audns.net.au"
|
|
68
10
|
end
|
|
69
11
|
|
|
70
12
|
end
|
|
@@ -8,76 +8,155 @@ class AnswerParserWhoisJprsJpTest < Whois::Answer::Parser::TestCase
|
|
|
8
8
|
@host = "whois.jprs.jp"
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class AnswerParserWhoisJprsJpJpTest < AnswerParserWhoisJprsJpTest
|
|
11
14
|
|
|
12
15
|
def test_status
|
|
13
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
16
|
+
parser = @klass.new(load_part('/jp/registered.txt'))
|
|
14
17
|
expected = "Active"
|
|
15
18
|
assert_equal expected, parser.status
|
|
16
19
|
assert_equal expected, parser.instance_eval { @status }
|
|
17
20
|
|
|
18
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
21
|
+
parser = @klass.new(load_part('/jp/available.txt'))
|
|
19
22
|
expected = nil
|
|
20
23
|
assert_equal expected, parser.status
|
|
21
24
|
assert_equal expected, parser.instance_eval { @status }
|
|
22
25
|
end
|
|
23
26
|
|
|
24
27
|
def test_available?
|
|
25
|
-
assert !@klass.new(load_part('/registered.txt')).available?
|
|
26
|
-
assert @klass.new(load_part('/available.txt')).available?
|
|
28
|
+
assert !@klass.new(load_part('/jp/registered.txt')).available?
|
|
29
|
+
assert @klass.new(load_part('/jp/available.txt')).available?
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
def test_registered?
|
|
30
|
-
assert @klass.new(load_part('/registered.txt')).registered?
|
|
31
|
-
assert !@klass.new(load_part('/available.txt')).registered?
|
|
33
|
+
assert @klass.new(load_part('/jp/registered.txt')).registered?
|
|
34
|
+
assert !@klass.new(load_part('/jp/available.txt')).registered?
|
|
32
35
|
end
|
|
33
36
|
|
|
34
37
|
|
|
35
38
|
def test_created_on
|
|
36
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
39
|
+
parser = @klass.new(load_part('/jp/registered.txt'))
|
|
37
40
|
expected = Time.parse("2005-05-30")
|
|
38
41
|
assert_equal expected, parser.created_on
|
|
39
42
|
assert_equal expected, parser.instance_eval { @created_on }
|
|
40
43
|
|
|
41
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
44
|
+
parser = @klass.new(load_part('/jp/available.txt'))
|
|
42
45
|
expected = nil
|
|
43
46
|
assert_equal expected, parser.created_on
|
|
44
47
|
assert_equal expected, parser.instance_eval { @created_on }
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
def test_updated_on
|
|
48
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
51
|
+
parser = @klass.new(load_part('/jp/registered.txt'))
|
|
49
52
|
# TODO: timezone
|
|
50
53
|
# JST timezone is ignored by Time.parse
|
|
51
54
|
expected = Time.parse("2009-06-01 01:05:04 JST")
|
|
52
55
|
assert_equal expected, parser.updated_on
|
|
53
56
|
assert_equal expected, parser.instance_eval { @updated_on }
|
|
54
57
|
|
|
55
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
58
|
+
parser = @klass.new(load_part('/jp/available.txt'))
|
|
56
59
|
expected = nil
|
|
57
60
|
assert_equal expected, parser.updated_on
|
|
58
61
|
assert_equal expected, parser.instance_eval { @updated_on }
|
|
59
62
|
end
|
|
60
63
|
|
|
61
64
|
def test_expires_on
|
|
62
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
65
|
+
parser = @klass.new(load_part('/jp/registered.txt'))
|
|
63
66
|
expected = Time.parse("2010-05-31")
|
|
64
67
|
assert_equal expected, parser.expires_on
|
|
65
68
|
assert_equal expected, parser.instance_eval { @expires_on }
|
|
66
69
|
|
|
67
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
70
|
+
parser = @klass.new(load_part('/jp/available.txt'))
|
|
68
71
|
expected = nil
|
|
69
72
|
assert_equal expected, parser.expires_on
|
|
70
73
|
assert_equal expected, parser.instance_eval { @expires_on }
|
|
71
74
|
end
|
|
72
75
|
|
|
76
|
+
def test_nameservers
|
|
77
|
+
parser = @klass.new(load_part('/jp/registered.txt'))
|
|
78
|
+
expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
|
|
79
|
+
assert_equal expected, parser.nameservers
|
|
80
|
+
assert_equal expected, parser.instance_eval { @nameservers }
|
|
81
|
+
|
|
82
|
+
parser = @klass.new(load_part('/jp/available.txt'))
|
|
83
|
+
expected = %w()
|
|
84
|
+
assert_equal expected, parser.nameservers
|
|
85
|
+
assert_equal expected, parser.instance_eval { @nameservers }
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
class AnswerParserWhoisJprsJpNeJpTest < AnswerParserWhoisJprsJpTest
|
|
91
|
+
|
|
92
|
+
def test_status
|
|
93
|
+
parser = @klass.new(load_part('/ne.jp/registered.txt'))
|
|
94
|
+
expected = "Connected (2010/09/30)"
|
|
95
|
+
assert_equal expected, parser.status
|
|
96
|
+
assert_equal expected, parser.instance_eval { @status }
|
|
97
|
+
|
|
98
|
+
parser = @klass.new(load_part('/ne.jp/available.txt'))
|
|
99
|
+
expected = nil
|
|
100
|
+
assert_equal expected, parser.status
|
|
101
|
+
assert_equal expected, parser.instance_eval { @status }
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def test_available?
|
|
105
|
+
assert !@klass.new(load_part('/ne.jp/registered.txt')).available?
|
|
106
|
+
assert @klass.new(load_part('/ne.jp/available.txt')).available?
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def test_registered?
|
|
110
|
+
assert @klass.new(load_part('/ne.jp/registered.txt')).registered?
|
|
111
|
+
assert !@klass.new(load_part('/ne.jp/available.txt')).registered?
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def test_created_on
|
|
116
|
+
parser = @klass.new(load_part('/ne.jp/registered.txt'))
|
|
117
|
+
expected = Time.parse("2003-09-11")
|
|
118
|
+
assert_equal expected, parser.created_on
|
|
119
|
+
assert_equal expected, parser.instance_eval { @created_on }
|
|
120
|
+
|
|
121
|
+
parser = @klass.new(load_part('/ne.jp/available.txt'))
|
|
122
|
+
expected = nil
|
|
123
|
+
assert_equal expected, parser.created_on
|
|
124
|
+
assert_equal expected, parser.instance_eval { @created_on }
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def test_updated_on
|
|
128
|
+
parser = @klass.new(load_part('/ne.jp/registered.txt'))
|
|
129
|
+
# TODO: timezone
|
|
130
|
+
# JST timezone is ignored by Time.parse
|
|
131
|
+
expected = Time.parse("2009-10-23 19:22:08 JST")
|
|
132
|
+
assert_equal expected, parser.updated_on
|
|
133
|
+
assert_equal expected, parser.instance_eval { @updated_on }
|
|
134
|
+
|
|
135
|
+
parser = @klass.new(load_part('/ne.jp/available.txt'))
|
|
136
|
+
expected = nil
|
|
137
|
+
assert_equal expected, parser.updated_on
|
|
138
|
+
assert_equal expected, parser.instance_eval { @updated_on }
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def test_expires_on
|
|
142
|
+
parser = @klass.new(load_part('/ne.jp/registered.txt'))
|
|
143
|
+
expected = nil
|
|
144
|
+
assert_equal expected, parser.expires_on
|
|
145
|
+
assert_equal expected, parser.instance_eval { @expires_on }
|
|
146
|
+
|
|
147
|
+
parser = @klass.new(load_part('/ne.jp/available.txt'))
|
|
148
|
+
expected = nil
|
|
149
|
+
assert_equal expected, parser.expires_on
|
|
150
|
+
assert_equal expected, parser.instance_eval { @expires_on }
|
|
151
|
+
end
|
|
73
152
|
|
|
74
153
|
def test_nameservers
|
|
75
|
-
parser = @klass.new(load_part('/registered.txt'))
|
|
154
|
+
parser = @klass.new(load_part('/ne.jp/registered.txt'))
|
|
76
155
|
expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
|
|
77
156
|
assert_equal expected, parser.nameservers
|
|
78
157
|
assert_equal expected, parser.instance_eval { @nameservers }
|
|
79
158
|
|
|
80
|
-
parser = @klass.new(load_part('/available.txt'))
|
|
159
|
+
parser = @klass.new(load_part('/ne.jp/available.txt'))
|
|
81
160
|
expected = %w()
|
|
82
161
|
assert_equal expected, parser.nameservers
|
|
83
162
|
assert_equal expected, parser.instance_eval { @nameservers }
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'whois/answer/parser/whois.nic.co'
|
|
3
|
+
|
|
4
|
+
class AnswerParserWhoisNicCoTest < Whois::Answer::Parser::TestCase
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@klass = Whois::Answer::Parser::WhoisNicCo
|
|
8
|
+
@host = "whois.nic.co"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_status
|
|
13
|
+
assert_equal ["serverTransferProhibited"],
|
|
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('/registered.txt')).registered?
|
|
26
|
+
assert !@klass.new(load_part('/available.txt')).registered?
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def test_created_on
|
|
31
|
+
assert_equal Time.parse("2010-04-26 07:50:40 GMT"),
|
|
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("2010-07-06 18:54:16 GMT"),
|
|
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("2013-04-25 23:59:59 GMT"),
|
|
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
|
+
|
|
52
|
+
def test_nameservers
|
|
53
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
54
|
+
expected = %w( ns1.p26.dynect.net ns2.p26.dynect.net ns3.p26.dynect.net ns4.p26.dynect.net )
|
|
55
|
+
assert_equal expected, parser.nameservers
|
|
56
|
+
assert_equal expected, parser.instance_eval { @nameservers }
|
|
57
|
+
|
|
58
|
+
parser = @klass.new(load_part('/available.txt'))
|
|
59
|
+
expected = %w()
|
|
60
|
+
assert_equal expected, parser.nameservers
|
|
61
|
+
assert_equal expected, parser.instance_eval { @nameservers }
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
require 'whois/answer/parser/whois.nic.net.sa'
|
|
3
|
+
|
|
4
|
+
class AnswerParserWhoisNicNetSaTest < Whois::Answer::Parser::TestCase
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
@klass = Whois::Answer::Parser::WhoisNicNetSa
|
|
8
|
+
@host = "whois.nic.net.sa"
|
|
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
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
26
|
+
expected = false
|
|
27
|
+
assert_equal expected, parser.available?
|
|
28
|
+
assert_equal expected, parser.instance_eval { @available }
|
|
29
|
+
|
|
30
|
+
parser = @klass.new(load_part('/available.txt'))
|
|
31
|
+
expected = true
|
|
32
|
+
assert_equal expected, parser.available?
|
|
33
|
+
assert_equal expected, parser.instance_eval { @available }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_registered?
|
|
37
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
38
|
+
expected = true
|
|
39
|
+
assert_equal expected, parser.registered?
|
|
40
|
+
assert_equal expected, parser.instance_eval { @registered }
|
|
41
|
+
|
|
42
|
+
parser = @klass.new(load_part('/available.txt'))
|
|
43
|
+
expected = false
|
|
44
|
+
assert_equal expected, parser.registered?
|
|
45
|
+
assert_equal expected, parser.instance_eval { @registered }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def test_created_on
|
|
50
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
51
|
+
expected = Time.parse("2000-09-11")
|
|
52
|
+
assert_equal expected, parser.created_on
|
|
53
|
+
assert_equal expected, parser.instance_eval { @created_on }
|
|
54
|
+
|
|
55
|
+
parser = @klass.new(load_part('/available.txt'))
|
|
56
|
+
expected = nil
|
|
57
|
+
assert_equal expected, parser.created_on
|
|
58
|
+
assert_equal expected, parser.instance_eval { @created_on }
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_updated_on
|
|
62
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on }
|
|
63
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on }
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_expires_on
|
|
67
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).expires_on }
|
|
68
|
+
assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).expires_on }
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def test_nameservers
|
|
73
|
+
parser = @klass.new(load_part('/registered.txt'))
|
|
74
|
+
expected = %w( ns1.peer1.net ns2.peer1.net )
|
|
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
|