require 'test_helper' require 'whois/answer/parser/whois.cnnic.cn.rb' class AnswerParserWhoisCnnicCnTest < Whois::Answer::Parser::TestCase def setup @klass = Whois::Answer::Parser::WhoisCnnicCn @host = "whois.cnnic.cn" end def test_status assert_equal ["clientDeleteProhibited", "serverDeleteProhibited", "clientUpdateProhibited", "serverUpdateProhibited", "clientTransferProhibited", "serverTransferProhibited"], @klass.new(load_part('/registered.txt')).status assert_equal [], @klass.new(load_part('/available.txt')).status end def test_available? assert !@klass.new(load_part('/registered.txt')).available? assert @klass.new(load_part('/available.txt')).available? end def test_registered? assert @klass.new(load_part('/registered.txt')).registered? assert !@klass.new(load_part('/available.txt')).registered? end def test_created_on parser = @klass.new(load_part('/registered.txt')) expected = Time.parse("2003-03-17 12:20:00") assert_equal expected, parser.created_on assert_equal expected, parser.instance_eval { @created_on } parser = @klass.new(load_part('/available.txt')) expected = nil assert_equal expected, parser.created_on assert_equal expected, parser.instance_eval { @created_on } end def test_updated_on assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on } assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on } end def test_expires_on parser = @klass.new(load_part('/registered.txt')) expected = Time.parse("2012-03-17 12:48:00") assert_equal expected, parser.expires_on assert_equal expected, parser.instance_eval { @expires_on } parser = @klass.new(load_part('/available.txt')) expected = nil assert_equal expected, parser.expires_on assert_equal expected, parser.instance_eval { @expires_on } end def test_nameservers parser = @klass.new(load_part('/registered.txt')) expected = %w( ns1.google.cn ns2.google.com ns1.google.com ns3.google.com ns4.google.com ) assert_equal expected, parser.nameservers assert_equal expected, parser.instance_eval { @nameservers } parser = @klass.new(load_part('/available.txt')) expected = %w() assert_equal expected, parser.nameservers assert_equal expected, parser.instance_eval { @nameservers } end end