Skip to content

Commit

Permalink
Update whois.ripn.net parser to use the new caching system.
Browse files Browse the repository at this point in the history
  • Loading branch information
weppos committed Feb 13, 2011
1 parent 54313e6 commit 384a8ff
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 39 deletions.
6 changes: 3 additions & 3 deletions lib/whois/answer/parser/whois.ripn.net.rb
Expand Up @@ -66,20 +66,20 @@ class WhoisRipnNet < Base
end

property_supported :registrar do
@registrar ||= if content_for_scanner =~ /registrar:\s+(.*)\n/
if content_for_scanner =~ /registrar:\s+(.*)\n/
Answer::Registrar.new(:id => $1)
end
end

property_supported :admin_contact do
@admin_contact ||= Answer::Contact.new(
Answer::Contact.new(
:type => Answer::Contact::TYPE_ADMIN,
:name => content_for_scanner[/person:\s+(.+)\n/, 1],
:organization => content_for_scanner[/org:\s+(.+)\n/, 1],
:phone => content_for_scanner[/phone:\s+(.+)\n/, 1],
:fax => content_for_scanner[/fax-no:\s+(.+)\n/, 1],
# Return the first matched email, even if there are a few of them
:email => content_for_scanner[/e-mail:\s+(.+)\n/, 1],
:email => content_for_scanner[/e-mail:\s+(.+)\n/, 1]
)
end

Expand Down
68 changes: 32 additions & 36 deletions test/whois/answer/parser/whois.ripn.net_test.rb
Expand Up @@ -74,18 +74,31 @@ def test_expires_on
assert_equal_and_cached expected, parser, :expires_on
end


def test_registrar
parser = @klass.new(load_part('registered.txt'))
expected = Whois::Answer::Registrar.new(:id => "RUCENTER-REG-RIPN")
assert_equal expected, parser.registrar
assert_equal expected, parser.instance_eval { @registrar }
assert_equal_and_cached expected, parser, :registrar

parser = @klass.new(load_part('available.txt'))
expected = nil
assert_equal expected, parser.registrar
assert_equal expected, parser.instance_eval { @registrar }
assert_equal_and_cached expected, parser, :registrar
end


def test_admin_contact
parser = @klass.new(load_part('registered.txt'))
expected = Whois::Answer::Contact.new(
:type => Whois::Answer::Contact::TYPE_ADMIN,
:organization => 'Google Inc',
:phone => '+1 650 330 0100',
:fax => '+1 650 618 8571',
:email => 'dns-admin@google.com'
)
assert_equal_and_cached expected, parser, :admin_contact
end


def test_nameservers
parser = @klass.new(load_part('registered.txt'))
expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
Expand All @@ -102,21 +115,6 @@ def test_nameservers_with_ip
assert_equal_and_cached expected, parser, :nameservers
end

def test_admin_contact
parser = @klass.new(load_part('registered.txt'))

expected = Whois::Answer::Contact.new(
:type => Whois::Answer::Contact::TYPE_ADMIN,
:organization => 'Google Inc',
:phone => '+1 650 330 0100',
:fax => '+1 650 618 8571',
:email => 'dns-admin@google.com',
)

assert_equal expected, parser.admin_contact
assert_equal expected, parser.instance_eval { @admin_contact }
end

end


Expand Down Expand Up @@ -184,41 +182,39 @@ def test_expires_on
assert_equal_and_cached expected, parser, :expires_on
end


def test_registrar
parser = @klass.new(load_part('registered.txt'))
expected = Whois::Answer::Registrar.new(:id => "RUCENTER-REG-FID")
assert_equal expected, parser.registrar
assert_equal expected, parser.instance_eval { @registrar }
assert_equal_and_cached expected, parser, :registrar

parser = @klass.new(load_part('available.txt'))
expected = nil
assert_equal expected, parser.registrar
assert_equal expected, parser.instance_eval { @registrar }
assert_equal_and_cached expected, parser, :registrar
end

def test_nameservers
parser = @klass.new(load_part('registered.txt'))
expected = %w( ns1073.hostgator.com ns1074.hostgator.com )
assert_equal_and_cached expected, parser, :nameservers

parser = @klass.new(load_part('available.txt'))
expected = %w()
assert_equal_and_cached expected, parser, :nameservers
end

def test_admin_contact
parser = @klass.new(load_part('registered.txt'))

expected = Whois::Answer::Contact.new(
:type => Whois::Answer::Contact::TYPE_ADMIN,
:name => 'Private Person',
:phone => '+7 495 9681807',
:fax => '+7 495 9681807',
:email => 'cis@cis.su',
:email => 'cis@cis.su'
)
assert_equal_and_cached expected, parser, :admin_contact
end


assert_equal expected, parser.admin_contact
assert_equal expected, parser.instance_eval { @admin_contact }
def test_nameservers
parser = @klass.new(load_part('registered.txt'))
expected = %w( ns1073.hostgator.com ns1074.hostgator.com )
assert_equal_and_cached expected, parser, :nameservers

parser = @klass.new(load_part('available.txt'))
expected = %w()
assert_equal_and_cached expected, parser, :nameservers
end

end

0 comments on commit 384a8ff

Please sign in to comment.