whois 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (429) hide show
  1. data/CHANGELOG.rdoc +23 -0
  2. data/README.rdoc +24 -7
  3. data/lib/core_ext.rb +4 -3
  4. data/lib/whois/answer/contact.rb +1 -1
  5. data/lib/whois/answer/nameserver.rb +41 -0
  6. data/lib/whois/answer/parser/base.rb +1 -0
  7. data/lib/whois/answer/parser/jobswhois.verisign-grs.com.rb +2 -2
  8. data/lib/whois/answer/parser/scanners/iana.rb +145 -0
  9. data/lib/whois/answer/parser/scanners/verisign.rb +15 -15
  10. data/lib/whois/answer/parser/whois.crsnic.net.rb +2 -2
  11. data/lib/whois/answer/parser/whois.denic.de.rb +27 -22
  12. data/lib/whois/answer/parser/whois.iana.org.rb +56 -16
  13. data/lib/whois/answer/parser/whois.nic.cc.rb +1 -1
  14. data/lib/whois/answer/parser/whois.nic.hu.rb +12 -8
  15. data/lib/whois/answer/parser/whois.nic.it.rb +1 -1
  16. data/lib/whois/answer/parser/whois.nic.tv.rb +1 -1
  17. data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +11 -9
  18. data/lib/whois/answer/registrar.rb +5 -5
  19. data/lib/whois/client.rb +0 -1
  20. data/lib/whois/errors.rb +19 -19
  21. data/lib/whois/server.rb +119 -47
  22. data/lib/whois/server/adapters/base.rb +44 -2
  23. data/lib/whois/version.rb +4 -3
  24. data/whois.gemspec +9 -18
  25. metadata +26 -713
  26. data/Manifest +0 -541
  27. data/Rakefile +0 -82
  28. data/data/ip6_del_list +0 -47
  29. data/data/ip_del_list +0 -245
  30. data/data/make_ip6_del.pl +0 -38
  31. data/data/make_ip_del.pl +0 -25
  32. data/data/make_servers_charset.pl +0 -21
  33. data/data/make_tld_serv.pl +0 -23
  34. data/data/servers_charset_list +0 -38
  35. data/data/tld_serv_list +0 -377
  36. data/tasks/server.rake +0 -109
  37. data/test/list_tld +0 -324
  38. data/test/test_helper.rb +0 -56
  39. data/test/testcases/referrals/afilias.bz.txt +0 -40
  40. data/test/testcases/referrals/crsnic.com.txt +0 -210
  41. data/test/testcases/referrals/crsnic.com_more_servers.txt +0 -210
  42. data/test/testcases/referrals/crsnic.com_one_server.txt +0 -57
  43. data/test/testcases/referrals/niccc.cc.txt +0 -59
  44. data/test/testcases/referrals/pir.org.txt +0 -84
  45. data/test/testcases/responses/UTF8.txt +0 -10
  46. data/test/testcases/responses/jobswhois.verisign-grs.com/available.txt +0 -44
  47. data/test/testcases/responses/jobswhois.verisign-grs.com/property_registrar.txt +0 -54
  48. data/test/testcases/responses/jobswhois.verisign-grs.com/registered.txt +0 -54
  49. data/test/testcases/responses/whois.adamsnames.tc/gd/available.txt +0 -2
  50. data/test/testcases/responses/whois.adamsnames.tc/gd/registered.txt +0 -26
  51. data/test/testcases/responses/whois.adamsnames.tc/tc/available.txt +0 -2
  52. data/test/testcases/responses/whois.adamsnames.tc/tc/registered.txt +0 -28
  53. data/test/testcases/responses/whois.adamsnames.tc/vg/available.txt +0 -2
  54. data/test/testcases/responses/whois.adamsnames.tc/vg/registered.txt +0 -28
  55. data/test/testcases/responses/whois.aeda.net.ae/available.txt +0 -1
  56. data/test/testcases/responses/whois.aeda.net.ae/registered.txt +0 -15
  57. data/test/testcases/responses/whois.aero/available.txt +0 -1
  58. data/test/testcases/responses/whois.aero/registered.txt +0 -102
  59. data/test/testcases/responses/whois.afilias-grs.info/bz/available.txt +0 -1
  60. data/test/testcases/responses/whois.afilias-grs.info/bz/registered.txt +0 -122
  61. data/test/testcases/responses/whois.afilias-grs.info/gi/available.txt +0 -1
  62. data/test/testcases/responses/whois.afilias-grs.info/gi/registered.txt +0 -98
  63. data/test/testcases/responses/whois.afilias-grs.info/hn/available.txt +0 -1
  64. data/test/testcases/responses/whois.afilias-grs.info/hn/registered.txt +0 -85
  65. data/test/testcases/responses/whois.afilias-grs.info/lc/available.txt +0 -1
  66. data/test/testcases/responses/whois.afilias-grs.info/lc/registered.txt +0 -83
  67. data/test/testcases/responses/whois.afilias-grs.info/mn/available.txt +0 -1
  68. data/test/testcases/responses/whois.afilias-grs.info/mn/registered.txt +0 -100
  69. data/test/testcases/responses/whois.afilias-grs.info/sc/available.txt +0 -1
  70. data/test/testcases/responses/whois.afilias-grs.info/sc/registered.txt +0 -85
  71. data/test/testcases/responses/whois.afilias-grs.info/vc/available.txt +0 -1
  72. data/test/testcases/responses/whois.afilias-grs.info/vc/registered.txt +0 -100
  73. data/test/testcases/responses/whois.afilias.info/available.txt +0 -1
  74. data/test/testcases/responses/whois.afilias.info/registered.txt +0 -104
  75. data/test/testcases/responses/whois.ai/available.txt +0 -2
  76. data/test/testcases/responses/whois.ai/registered.txt +0 -59
  77. data/test/testcases/responses/whois.arnes.si/available.txt +0 -29
  78. data/test/testcases/responses/whois.arnes.si/registered.txt +0 -55
  79. data/test/testcases/responses/whois.audns.net.au/available.txt +0 -1
  80. data/test/testcases/responses/whois.audns.net.au/registered.txt +0 -23
  81. data/test/testcases/responses/whois.biz/available.txt +0 -25
  82. data/test/testcases/responses/whois.biz/registered.txt +0 -89
  83. data/test/testcases/responses/whois.cat/available.txt +0 -18
  84. data/test/testcases/responses/whois.cat/registered.txt +0 -83
  85. data/test/testcases/responses/whois.cctld.uz/available.txt +0 -12
  86. data/test/testcases/responses/whois.cctld.uz/registered.txt +0 -123
  87. data/test/testcases/responses/whois.cira.ca/available.txt +0 -9
  88. data/test/testcases/responses/whois.cira.ca/registered.txt +0 -47
  89. data/test/testcases/responses/whois.cnnic.cn/available.txt +0 -1
  90. data/test/testcases/responses/whois.cnnic.cn/registered.txt +0 -19
  91. data/test/testcases/responses/whois.crsnic.net/MULTIPLE.txt +0 -3
  92. data/test/testcases/responses/whois.crsnic.net/available.txt +0 -43
  93. data/test/testcases/responses/whois.crsnic.net/nameservers_with_no_nameserver.txt +0 -67
  94. data/test/testcases/responses/whois.crsnic.net/registered.txt +0 -57
  95. data/test/testcases/responses/whois.crsnic.net/registered_with_multiple_entries.txt +0 -235
  96. data/test/testcases/responses/whois.denic.de/1-10-0_available.txt +0 -30
  97. data/test/testcases/responses/whois.denic.de/1-10-0_registered.txt +0 -77
  98. data/test/testcases/responses/whois.denic.de/available.txt +0 -42
  99. data/test/testcases/responses/whois.denic.de/error_invalid_domain_name.txt +0 -37
  100. data/test/testcases/responses/whois.denic.de/property_nameservers_with_ip.txt +0 -67
  101. data/test/testcases/responses/whois.denic.de/property_technical_contact.txt +0 -70
  102. data/test/testcases/responses/whois.denic.de/registered.txt +0 -70
  103. data/test/testcases/responses/whois.dk-hostmaster.dk/available.txt +0 -15
  104. data/test/testcases/responses/whois.dk-hostmaster.dk/registered.txt +0 -47
  105. data/test/testcases/responses/whois.dns.be/available.txt +0 -41
  106. data/test/testcases/responses/whois.dns.be/registered.txt +0 -66
  107. data/test/testcases/responses/whois.dns.lu/available.txt +0 -26
  108. data/test/testcases/responses/whois.dns.lu/property_nameservers_with_ip.txt +0 -55
  109. data/test/testcases/responses/whois.dns.lu/registered.txt +0 -57
  110. data/test/testcases/responses/whois.dns.pt/available.txt +0 -1
  111. data/test/testcases/responses/whois.dns.pt/registered.txt +0 -32
  112. data/test/testcases/responses/whois.domain-registry.nl/available.txt +0 -21
  113. data/test/testcases/responses/whois.domain-registry.nl/registered.txt +0 -67
  114. data/test/testcases/responses/whois.domainregistry.ie/available.txt +0 -7
  115. data/test/testcases/responses/whois.domainregistry.ie/registered.txt +0 -26
  116. data/test/testcases/responses/whois.domreg.lt/available.txt +0 -18
  117. data/test/testcases/responses/whois.domreg.lt/property_nameservers_with_ip.txt +0 -32
  118. data/test/testcases/responses/whois.domreg.lt/registered.txt +0 -37
  119. data/test/testcases/responses/whois.dot.tk/available.txt +0 -1
  120. data/test/testcases/responses/whois.dot.tk/registered.txt +0 -28
  121. data/test/testcases/responses/whois.dotmobiregistry.net/available.txt +0 -25
  122. data/test/testcases/responses/whois.dotmobiregistry.net/registered.txt +0 -81
  123. data/test/testcases/responses/whois.educause.edu/available.txt +0 -28
  124. data/test/testcases/responses/whois.educause.edu/registered.txt +0 -66
  125. data/test/testcases/responses/whois.eenet.ee/available.txt +0 -6
  126. data/test/testcases/responses/whois.eenet.ee/registered.txt +0 -27
  127. data/test/testcases/responses/whois.eu.org/available.txt +0 -1
  128. data/test/testcases/responses/whois.eu.org/registered.txt +0 -19
  129. data/test/testcases/responses/whois.eu/available.txt +0 -47
  130. data/test/testcases/responses/whois.eu/property_nameservers_with_ip.txt +0 -61
  131. data/test/testcases/responses/whois.eu/registered.txt +0 -63
  132. data/test/testcases/responses/whois.hkdnr.net.hk/available.txt +0 -1
  133. data/test/testcases/responses/whois.hkdnr.net.hk/registered.txt +0 -96
  134. data/test/testcases/responses/whois.iana.org/MULTIPLE.txt +0 -3
  135. data/test/testcases/responses/whois.iana.org/available.txt +0 -7
  136. data/test/testcases/responses/whois.iana.org/registered.txt +0 -89
  137. data/test/testcases/responses/whois.in.ua/available.txt +0 -4
  138. data/test/testcases/responses/whois.in.ua/registered.txt +0 -16
  139. data/test/testcases/responses/whois.isnic.is/available.txt +0 -7
  140. data/test/testcases/responses/whois.isnic.is/registered.txt +0 -57
  141. data/test/testcases/responses/whois.jprs.jp/jp/available.txt +0 -17
  142. data/test/testcases/responses/whois.jprs.jp/jp/registered.txt +0 -30
  143. data/test/testcases/responses/whois.jprs.jp/ne.jp/available.txt +0 -17
  144. data/test/testcases/responses/whois.jprs.jp/ne.jp/registered.txt +0 -19
  145. data/test/testcases/responses/whois.meregistry.net/available.txt +0 -1
  146. data/test/testcases/responses/whois.meregistry.net/registered.txt +0 -94
  147. data/test/testcases/responses/whois.museum/available.txt +0 -18
  148. data/test/testcases/responses/whois.museum/registered.txt +0 -92
  149. data/test/testcases/responses/whois.net.ua/available.txt +0 -7
  150. data/test/testcases/responses/whois.net.ua/property_nameservers_uppercase.txt +0 -29
  151. data/test/testcases/responses/whois.net.ua/redirect_to_whois.in.ua.txt +0 -29
  152. data/test/testcases/responses/whois.net.ua/registered.txt +0 -58
  153. data/test/testcases/responses/whois.nic-se.se/available.txt +0 -21
  154. data/test/testcases/responses/whois.nic-se.se/property_nameservers_with_ip.txt +0 -37
  155. data/test/testcases/responses/whois.nic-se.se/registered.txt +0 -37
  156. data/test/testcases/responses/whois.nic.ac/available.txt +0 -2
  157. data/test/testcases/responses/whois.nic.ac/registered.txt +0 -2
  158. data/test/testcases/responses/whois.nic.af/available.txt +0 -13
  159. data/test/testcases/responses/whois.nic.af/registered.txt +0 -56
  160. data/test/testcases/responses/whois.nic.ag/available.txt +0 -1
  161. data/test/testcases/responses/whois.nic.ag/registered.txt +0 -100
  162. data/test/testcases/responses/whois.nic.am/available.txt +0 -3
  163. data/test/testcases/responses/whois.nic.am/registered.txt +0 -42
  164. data/test/testcases/responses/whois.nic.as/available.txt +0 -12
  165. data/test/testcases/responses/whois.nic.as/registered.txt +0 -18
  166. data/test/testcases/responses/whois.nic.asia/available.txt +0 -1
  167. data/test/testcases/responses/whois.nic.asia/registered.txt +0 -159
  168. data/test/testcases/responses/whois.nic.at/available.txt +0 -25
  169. data/test/testcases/responses/whois.nic.at/registered.txt +0 -65
  170. data/test/testcases/responses/whois.nic.cc/available.txt +0 -44
  171. data/test/testcases/responses/whois.nic.cc/registered.txt +0 -58
  172. data/test/testcases/responses/whois.nic.cd/available.txt +0 -1
  173. data/test/testcases/responses/whois.nic.cd/registered.txt +0 -85
  174. data/test/testcases/responses/whois.nic.ch/available.txt +0 -2
  175. data/test/testcases/responses/whois.nic.ch/property_nameservers_with_ip.txt +0 -27
  176. data/test/testcases/responses/whois.nic.ch/registered.txt +0 -28
  177. data/test/testcases/responses/whois.nic.co/available.txt +0 -28
  178. data/test/testcases/responses/whois.nic.co/registered.txt +0 -82
  179. data/test/testcases/responses/whois.nic.coop/available.txt +0 -33
  180. data/test/testcases/responses/whois.nic.coop/registered.txt +0 -123
  181. data/test/testcases/responses/whois.nic.ec/available.txt +0 -1
  182. data/test/testcases/responses/whois.nic.ec/registered.txt +0 -40
  183. data/test/testcases/responses/whois.nic.fr/fr/available.txt +0 -19
  184. data/test/testcases/responses/whois.nic.fr/fr/registered.txt +0 -98
  185. data/test/testcases/responses/whois.nic.fr/pm/available.txt +0 -19
  186. data/test/testcases/responses/whois.nic.fr/pm/registered.txt +0 -88
  187. data/test/testcases/responses/whois.nic.fr/re/available.txt +0 -19
  188. data/test/testcases/responses/whois.nic.fr/re/registered.txt +0 -83
  189. data/test/testcases/responses/whois.nic.fr/wf/available.txt +0 -19
  190. data/test/testcases/responses/whois.nic.fr/wf/registered.txt +0 -88
  191. data/test/testcases/responses/whois.nic.fr/yt/available.txt +0 -19
  192. data/test/testcases/responses/whois.nic.fr/yt/registered.txt +0 -88
  193. data/test/testcases/responses/whois.nic.gl/available.txt +0 -23
  194. data/test/testcases/responses/whois.nic.gl/registered.txt +0 -40
  195. data/test/testcases/responses/whois.nic.gov/available.txt +0 -1
  196. data/test/testcases/responses/whois.nic.gov/registered.txt +0 -5
  197. data/test/testcases/responses/whois.nic.ht/available.txt +0 -23
  198. data/test/testcases/responses/whois.nic.ht/registered.txt +0 -59
  199. data/test/testcases/responses/whois.nic.hu/current/available.txt +0 -3
  200. data/test/testcases/responses/whois.nic.hu/current/registered.txt +0 -9
  201. data/test/testcases/responses/whois.nic.hu/v1.99/available.txt +0 -12
  202. data/test/testcases/responses/whois.nic.hu/v1.99/in_progress.txt +0 -13
  203. data/test/testcases/responses/whois.nic.hu/v1.99/property_registrant_as_company.txt +0 -65
  204. data/test/testcases/responses/whois.nic.hu/v1.99/property_registrant_as_private_person.txt +0 -58
  205. data/test/testcases/responses/whois.nic.hu/v1.99/property_registrant_without_address.txt +0 -58
  206. data/test/testcases/responses/whois.nic.hu/v1.99/registered.txt +0 -65
  207. data/test/testcases/responses/whois.nic.im/available.txt +0 -2
  208. data/test/testcases/responses/whois.nic.im/registered.txt +0 -45
  209. data/test/testcases/responses/whois.nic.io/available.txt +0 -2
  210. data/test/testcases/responses/whois.nic.io/registered.txt +0 -2
  211. data/test/testcases/responses/whois.nic.it/available.txt +0 -2
  212. data/test/testcases/responses/whois.nic.it/property_admin_contact.txt +0 -53
  213. data/test/testcases/responses/whois.nic.it/property_registrant_contact.txt +0 -58
  214. data/test/testcases/responses/whois.nic.it/property_status_active.txt +0 -53
  215. data/test/testcases/responses/whois.nic.it/property_status_available.txt +0 -2
  216. data/test/testcases/responses/whois.nic.it/property_technical_contact.txt +0 -53
  217. data/test/testcases/responses/whois.nic.it/registered.txt +0 -53
  218. data/test/testcases/responses/whois.nic.kz/available.txt +0 -4
  219. data/test/testcases/responses/whois.nic.kz/registered.txt +0 -37
  220. data/test/testcases/responses/whois.nic.la/available.txt +0 -1
  221. data/test/testcases/responses/whois.nic.la/registered.txt +0 -70
  222. data/test/testcases/responses/whois.nic.lv/available.txt +0 -7
  223. data/test/testcases/responses/whois.nic.lv/registered.txt +0 -33
  224. data/test/testcases/responses/whois.nic.ly/available.txt +0 -1
  225. data/test/testcases/responses/whois.nic.ly/registered.txt +0 -65
  226. data/test/testcases/responses/whois.nic.mu/ki/available.txt +0 -20
  227. data/test/testcases/responses/whois.nic.mu/ki/registered.txt +0 -30
  228. data/test/testcases/responses/whois.nic.mu/mu/available.txt +0 -9
  229. data/test/testcases/responses/whois.nic.mu/mu/registered.txt +0 -22
  230. data/test/testcases/responses/whois.nic.mx/available.txt +0 -11
  231. data/test/testcases/responses/whois.nic.mx/registered.txt +0 -58
  232. data/test/testcases/responses/whois.nic.name/available.txt +0 -29
  233. data/test/testcases/responses/whois.nic.name/registered.txt +0 -36
  234. data/test/testcases/responses/whois.nic.name/reserved.txt +0 -30
  235. data/test/testcases/responses/whois.nic.net.sa/available.txt +0 -5
  236. data/test/testcases/responses/whois.nic.net.sa/registered.txt +0 -17
  237. data/test/testcases/responses/whois.nic.nu/available.txt +0 -19
  238. data/test/testcases/responses/whois.nic.nu/registered.txt +0 -35
  239. data/test/testcases/responses/whois.nic.or.kr/available.txt +0 -10
  240. data/test/testcases/responses/whois.nic.or.kr/registered.txt +0 -48
  241. data/test/testcases/responses/whois.nic.org.uy/available.txt +0 -10
  242. data/test/testcases/responses/whois.nic.org.uy/registered.txt +0 -48
  243. data/test/testcases/responses/whois.nic.sn/available.txt +0 -3
  244. data/test/testcases/responses/whois.nic.sn/registered.txt +0 -14
  245. data/test/testcases/responses/whois.nic.st/available.txt +0 -1
  246. data/test/testcases/responses/whois.nic.st/registered.txt +0 -47
  247. data/test/testcases/responses/whois.nic.tel/available.txt +0 -59
  248. data/test/testcases/responses/whois.nic.tel/registered.txt +0 -111
  249. data/test/testcases/responses/whois.nic.tl/available.txt +0 -21
  250. data/test/testcases/responses/whois.nic.tl/registered.txt +0 -29
  251. data/test/testcases/responses/whois.nic.tr/available.txt +0 -1
  252. data/test/testcases/responses/whois.nic.tr/property_nameservers_with_trailing_space.txt +0 -42
  253. data/test/testcases/responses/whois.nic.tr/registered.txt +0 -48
  254. data/test/testcases/responses/whois.nic.travel/available.txt +0 -25
  255. data/test/testcases/responses/whois.nic.travel/registered.txt +0 -75
  256. data/test/testcases/responses/whois.nic.tv/available.txt +0 -44
  257. data/test/testcases/responses/whois.nic.tv/registered.txt +0 -54
  258. data/test/testcases/responses/whois.nic.uk/available.txt +0 -20
  259. data/test/testcases/responses/whois.nic.uk/invalid.txt +0 -22
  260. data/test/testcases/responses/whois.nic.uk/registered.txt +0 -50
  261. data/test/testcases/responses/whois.nic.us/available.txt +0 -29
  262. data/test/testcases/responses/whois.nic.us/registered.txt +0 -99
  263. data/test/testcases/responses/whois.nic.ve/available.txt +0 -10
  264. data/test/testcases/responses/whois.nic.ve/registered.txt +0 -48
  265. data/test/testcases/responses/whois.norid.no/available.txt +0 -5
  266. data/test/testcases/responses/whois.norid.no/registered.txt +0 -34
  267. data/test/testcases/responses/whois.pandi.or.id/available.txt +0 -9
  268. data/test/testcases/responses/whois.pandi.or.id/registered.txt +0 -33
  269. data/test/testcases/responses/whois.publicinterestregistry.net/available.txt +0 -1
  270. data/test/testcases/responses/whois.publicinterestregistry.net/registered.txt +0 -85
  271. data/test/testcases/responses/whois.publicinterestregistry.net/throttle.txt +0 -1
  272. data/test/testcases/responses/whois.register.bg/available.txt +0 -1
  273. data/test/testcases/responses/whois.register.bg/property_nameservers_with_ip.txt +0 -42
  274. data/test/testcases/responses/whois.register.bg/registered.txt +0 -44
  275. data/test/testcases/responses/whois.registro.br/available.txt +0 -22
  276. data/test/testcases/responses/whois.registro.br/registered.txt +0 -23
  277. data/test/testcases/responses/whois.registry.in/available.txt +0 -1
  278. data/test/testcases/responses/whois.registry.in/registered.txt +0 -83
  279. data/test/testcases/responses/whois.registrypro.pro/available.txt +0 -20
  280. data/test/testcases/responses/whois.registrypro.pro/registered.txt +0 -62
  281. data/test/testcases/responses/whois.ripe.net/fo/available.txt +0 -11
  282. data/test/testcases/responses/whois.ripe.net/fo/registered.txt +0 -45
  283. data/test/testcases/responses/whois.ripe.net/gm/available.txt +0 -11
  284. data/test/testcases/responses/whois.ripe.net/gm/registered.txt +0 -37
  285. data/test/testcases/responses/whois.ripe.net/mc/available.txt +0 -11
  286. data/test/testcases/responses/whois.ripe.net/mc/registered.txt +0 -36
  287. data/test/testcases/responses/whois.ripe.net/sm/available.txt +0 -11
  288. data/test/testcases/responses/whois.ripe.net/sm/registered.txt +0 -60
  289. data/test/testcases/responses/whois.ripe.net/va/available.txt +0 -11
  290. data/test/testcases/responses/whois.ripe.net/va/registered.txt +0 -48
  291. data/test/testcases/responses/whois.ripn.net/ru/available.txt +0 -9
  292. data/test/testcases/responses/whois.ripn.net/ru/property_nameservers_with_ip.txt +0 -22
  293. data/test/testcases/responses/whois.ripn.net/ru/registered.txt +0 -24
  294. data/test/testcases/responses/whois.ripn.net/su/available.txt +0 -9
  295. data/test/testcases/responses/whois.ripn.net/su/registered.txt +0 -20
  296. data/test/testcases/responses/whois.rotld.ro/available.txt +0 -16
  297. data/test/testcases/responses/whois.rotld.ro/registered.txt +0 -27
  298. data/test/testcases/responses/whois.samoanic.ws/available.txt +0 -12
  299. data/test/testcases/responses/whois.samoanic.ws/registered.txt +0 -34
  300. data/test/testcases/responses/whois.srs.net.nz/available.txt +0 -28
  301. data/test/testcases/responses/whois.srs.net.nz/invalid.txt +0 -28
  302. data/test/testcases/responses/whois.srs.net.nz/registered.txt +0 -72
  303. data/test/testcases/responses/whois.tonic.to/1.txt +0 -1
  304. data/test/testcases/responses/whois.tonic.to/available.txt +0 -2
  305. data/test/testcases/responses/whois.tonic.to/incomplete.txt +0 -1
  306. data/test/testcases/responses/whois.tonic.to/registered.txt +0 -3
  307. data/test/testcases/responses/whois.za.net/available.txt +0 -9
  308. data/test/testcases/responses/whois.za.net/registered.txt +0 -42
  309. data/test/testcases/responses/whois.za.org/available.txt +0 -9
  310. data/test/testcases/responses/whois.za.org/registered.txt +0 -44
  311. data/test/whois/answer/contact_test.rb +0 -14
  312. data/test/whois/answer/parser/base_test.rb +0 -84
  313. data/test/whois/answer/parser/blank_test.rb +0 -19
  314. data/test/whois/answer/parser/jobswhois.verisign-grs.com_test.rb +0 -161
  315. data/test/whois/answer/parser/saudinic.net.sa_test.rb +0 -12
  316. data/test/whois/answer/parser/whois.adamsnames.tc_test.rb +0 -162
  317. data/test/whois/answer/parser/whois.aeda.net.ae_test.rb +0 -63
  318. data/test/whois/answer/parser/whois.aero_test.rb +0 -84
  319. data/test/whois/answer/parser/whois.afilias-grs.info_test.rb +0 -438
  320. data/test/whois/answer/parser/whois.afilias.info_test.rb +0 -64
  321. data/test/whois/answer/parser/whois.ai_test.rb +0 -58
  322. data/test/whois/answer/parser/whois.arnes.si_test.rb +0 -72
  323. data/test/whois/answer/parser/whois.audns.net.au_test.rb +0 -70
  324. data/test/whois/answer/parser/whois.ausregistry.net.au_test.rb +0 -12
  325. data/test/whois/answer/parser/whois.biz_test.rb +0 -64
  326. data/test/whois/answer/parser/whois.cat_test.rb +0 -64
  327. data/test/whois/answer/parser/whois.cctld.uz_test.rb +0 -91
  328. data/test/whois/answer/parser/whois.cira.ca_test.rb +0 -64
  329. data/test/whois/answer/parser/whois.cnnic.cn_test.rb +0 -73
  330. data/test/whois/answer/parser/whois.cnnic.net.cn_test.rb +0 -11
  331. data/test/whois/answer/parser/whois.crsnic.net_test.rb +0 -186
  332. data/test/whois/answer/parser/whois.denic.de_test.rb +0 -414
  333. data/test/whois/answer/parser/whois.dk-hostmaster.dk_test.rb +0 -57
  334. data/test/whois/answer/parser/whois.dns.be_test.rb +0 -65
  335. data/test/whois/answer/parser/whois.dns.lu_test.rb +0 -77
  336. data/test/whois/answer/parser/whois.dns.pt_test.rb +0 -84
  337. data/test/whois/answer/parser/whois.domain-registry.nl_test.rb +0 -62
  338. data/test/whois/answer/parser/whois.domainregistry.ie_test.rb +0 -60
  339. data/test/whois/answer/parser/whois.domreg.lt_test.rb +0 -67
  340. data/test/whois/answer/parser/whois.dot.tk_test.rb +0 -77
  341. data/test/whois/answer/parser/whois.dotmobiregistry.net_test.rb +0 -64
  342. data/test/whois/answer/parser/whois.educause.edu_test.rb +0 -64
  343. data/test/whois/answer/parser/whois.eenet.ee_test.rb +0 -91
  344. data/test/whois/answer/parser/whois.eu.org_test.rb +0 -51
  345. data/test/whois/answer/parser/whois.eu_test.rb +0 -65
  346. data/test/whois/answer/parser/whois.hkdnr.net.hk_test.rb +0 -77
  347. data/test/whois/answer/parser/whois.iana.org_test.rb +0 -63
  348. data/test/whois/answer/parser/whois.in.ua_test.rb +0 -91
  349. data/test/whois/answer/parser/whois.isnic.is_test.rb +0 -62
  350. data/test/whois/answer/parser/whois.jprs.jp_test.rb +0 -165
  351. data/test/whois/answer/parser/whois.meregistry.net_test.rb +0 -64
  352. data/test/whois/answer/parser/whois.museum_test.rb +0 -64
  353. data/test/whois/answer/parser/whois.net.ua_test.rb +0 -98
  354. data/test/whois/answer/parser/whois.nic-se.se_test.rb +0 -71
  355. data/test/whois/answer/parser/whois.nic.ac_test.rb +0 -126
  356. data/test/whois/answer/parser/whois.nic.af_test.rb +0 -84
  357. data/test/whois/answer/parser/whois.nic.ag_test.rb +0 -84
  358. data/test/whois/answer/parser/whois.nic.am_test.rb +0 -84
  359. data/test/whois/answer/parser/whois.nic.as_test.rb +0 -63
  360. data/test/whois/answer/parser/whois.nic.asia_test.rb +0 -69
  361. data/test/whois/answer/parser/whois.nic.at_test.rb +0 -65
  362. data/test/whois/answer/parser/whois.nic.cc_test.rb +0 -133
  363. data/test/whois/answer/parser/whois.nic.cd_test.rb +0 -62
  364. data/test/whois/answer/parser/whois.nic.ch_test.rb +0 -65
  365. data/test/whois/answer/parser/whois.nic.co_test.rb +0 -64
  366. data/test/whois/answer/parser/whois.nic.coop_test.rb +0 -64
  367. data/test/whois/answer/parser/whois.nic.ec_test.rb +0 -98
  368. data/test/whois/answer/parser/whois.nic.fr_test.rb +0 -281
  369. data/test/whois/answer/parser/whois.nic.gl_test.rb +0 -64
  370. data/test/whois/answer/parser/whois.nic.gov_test.rb +0 -51
  371. data/test/whois/answer/parser/whois.nic.ht_test.rb +0 -98
  372. data/test/whois/answer/parser/whois.nic.hu_test.rb +0 -321
  373. data/test/whois/answer/parser/whois.nic.im_test.rb +0 -60
  374. data/test/whois/answer/parser/whois.nic.io_test.rb +0 -51
  375. data/test/whois/answer/parser/whois.nic.it_test.rb +0 -298
  376. data/test/whois/answer/parser/whois.nic.kz_test.rb +0 -91
  377. data/test/whois/answer/parser/whois.nic.la_test.rb +0 -98
  378. data/test/whois/answer/parser/whois.nic.lv_test.rb +0 -65
  379. data/test/whois/answer/parser/whois.nic.ly_test.rb +0 -64
  380. data/test/whois/answer/parser/whois.nic.mu_test.rb +0 -123
  381. data/test/whois/answer/parser/whois.nic.mx_test.rb +0 -84
  382. data/test/whois/answer/parser/whois.nic.name_test.rb +0 -51
  383. data/test/whois/answer/parser/whois.nic.net.sa_test.rb +0 -84
  384. data/test/whois/answer/parser/whois.nic.nu_test.rb +0 -59
  385. data/test/whois/answer/parser/whois.nic.or.kr_test.rb +0 -64
  386. data/test/whois/answer/parser/whois.nic.org.uy_test.rb +0 -91
  387. data/test/whois/answer/parser/whois.nic.sn_test.rb +0 -190
  388. data/test/whois/answer/parser/whois.nic.st_test.rb +0 -77
  389. data/test/whois/answer/parser/whois.nic.tel_test.rb +0 -64
  390. data/test/whois/answer/parser/whois.nic.tl_test.rb +0 -84
  391. data/test/whois/answer/parser/whois.nic.tr_test.rb +0 -98
  392. data/test/whois/answer/parser/whois.nic.travel_test.rb +0 -64
  393. data/test/whois/answer/parser/whois.nic.tv_test.rb +0 -132
  394. data/test/whois/answer/parser/whois.nic.uk_test.rb +0 -76
  395. data/test/whois/answer/parser/whois.nic.us_test.rb +0 -64
  396. data/test/whois/answer/parser/whois.nic.ve_test.rb +0 -91
  397. data/test/whois/answer/parser/whois.norid.no_test.rb +0 -49
  398. data/test/whois/answer/parser/whois.pandi.or.id_test.rb +0 -79
  399. data/test/whois/answer/parser/whois.publicinterestregistry.net_test.rb +0 -284
  400. data/test/whois/answer/parser/whois.register.bg_test.rb +0 -69
  401. data/test/whois/answer/parser/whois.registro.br_test.rb +0 -51
  402. data/test/whois/answer/parser/whois.registry.in_test.rb +0 -69
  403. data/test/whois/answer/parser/whois.registrypro.pro_test.rb +0 -84
  404. data/test/whois/answer/parser/whois.ripe.net_test.rb +0 -266
  405. data/test/whois/answer/parser/whois.ripn.net_test.rb +0 -127
  406. data/test/whois/answer/parser/whois.rotld.ro_test.rb +0 -63
  407. data/test/whois/answer/parser/whois.samoanic.ws_test.rb +0 -64
  408. data/test/whois/answer/parser/whois.srs.net.nz_test.rb +0 -79
  409. data/test/whois/answer/parser/whois.tonic.to_test.rb +0 -125
  410. data/test/whois/answer/parser/whois.za.net_test.rb +0 -62
  411. data/test/whois/answer/parser/whois.za.org_test.rb +0 -62
  412. data/test/whois/answer/parser_test.rb +0 -219
  413. data/test/whois/answer/super_struct_test.rb +0 -24
  414. data/test/whois/answer_test.rb +0 -180
  415. data/test/whois/client_test.rb +0 -96
  416. data/test/whois/errors_test.rb +0 -23
  417. data/test/whois/integration_test.rb +0 -31
  418. data/test/whois/server/adapters/afilias_test.rb +0 -37
  419. data/test/whois/server/adapters/base_test.rb +0 -15
  420. data/test/whois/server/adapters/formatted_test.rb +0 -29
  421. data/test/whois/server/adapters/none_test.rb +0 -22
  422. data/test/whois/server/adapters/not_implemented_test.rb +0 -16
  423. data/test/whois/server/adapters/pir_test.rb +0 -37
  424. data/test/whois/server/adapters/standard_test.rb +0 -36
  425. data/test/whois/server/adapters/verisign_test.rb +0 -51
  426. data/test/whois/server/adapters/web_test.rb +0 -17
  427. data/test/whois/server_test.rb +0 -105
  428. data/utils/bm_delegation_vs_inheritance.rb +0 -150
  429. data/utils/bm_shell_vs_pure.rb +0 -14
@@ -1,64 +0,0 @@
1
- require 'test_helper'
2
- require 'whois/answer/parser/whois.cira.ca'
3
-
4
- class AnswerParserWhoisCiraCaTest < Whois::Answer::Parser::TestCase
5
-
6
- def setup
7
- @klass = Whois::Answer::Parser::WhoisCiraCa
8
- @host = "whois.cira.ca"
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_equal Time.parse("2000-10-03 00:00:00"),
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-05-27 00:00:00"),
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-04-28 00:00:00"),
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.google.com ns2.google.com ns3.google.com ns4.google.com )
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
@@ -1,73 +0,0 @@
1
- require 'test_helper'
2
- require 'whois/answer/parser/whois.cnnic.cn'
3
-
4
- class AnswerParserWhoisCnnicCnTest < Whois::Answer::Parser::TestCase
5
-
6
- def setup
7
- @klass = Whois::Answer::Parser::WhoisCnnicCn
8
- @host = "whois.cnnic.cn"
9
- end
10
-
11
-
12
- def test_status
13
- assert_equal ["clientDeleteProhibited", "serverDeleteProhibited", "clientUpdateProhibited",
14
- "serverUpdateProhibited", "clientTransferProhibited", "serverTransferProhibited"],
15
- @klass.new(load_part('/registered.txt')).status
16
- assert_equal [],
17
- @klass.new(load_part('/available.txt')).status
18
- end
19
-
20
- def test_available?
21
- assert !@klass.new(load_part('/registered.txt')).available?
22
- assert @klass.new(load_part('/available.txt')).available?
23
- end
24
-
25
- def test_registered?
26
- assert @klass.new(load_part('/registered.txt')).registered?
27
- assert !@klass.new(load_part('/available.txt')).registered?
28
- end
29
-
30
-
31
- def test_created_on
32
- parser = @klass.new(load_part('/registered.txt'))
33
- expected = Time.parse("2003-03-17 12:20:00")
34
- assert_equal expected, parser.created_on
35
- assert_equal expected, parser.instance_eval { @created_on }
36
-
37
- parser = @klass.new(load_part('/available.txt'))
38
- expected = nil
39
- assert_equal expected, parser.created_on
40
- assert_equal expected, parser.instance_eval { @created_on }
41
- end
42
-
43
- def test_updated_on
44
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).updated_on }
45
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).updated_on }
46
- end
47
-
48
- def test_expires_on
49
- parser = @klass.new(load_part('/registered.txt'))
50
- expected = Time.parse("2012-03-17 12:48:00")
51
- assert_equal expected, parser.expires_on
52
- assert_equal expected, parser.instance_eval { @expires_on }
53
-
54
- parser = @klass.new(load_part('/available.txt'))
55
- expected = nil
56
- assert_equal expected, parser.expires_on
57
- assert_equal expected, parser.instance_eval { @expires_on }
58
- end
59
-
60
-
61
- def test_nameservers
62
- parser = @klass.new(load_part('/registered.txt'))
63
- expected = %w( ns1.google.cn ns2.google.com ns1.google.com ns3.google.com ns4.google.com )
64
- assert_equal expected, parser.nameservers
65
- assert_equal expected, parser.instance_eval { @nameservers }
66
-
67
- parser = @klass.new(load_part('/available.txt'))
68
- expected = %w()
69
- assert_equal expected, parser.nameservers
70
- assert_equal expected, parser.instance_eval { @nameservers }
71
- end
72
-
73
- end
@@ -1,11 +0,0 @@
1
- require 'test_helper'
2
- require 'whois/answer/parser/whois.cnnic.net.cn'
3
-
4
- class AnswerParserWhoisCnnicNetCnTest < AnswerParserWhoisCnnicCnTest
5
-
6
- def setup
7
- @klass = Whois::Answer::Parser::WhoisCnnicNetCn
8
- @host = "whois.cnnic.cn"
9
- end
10
-
11
- end
@@ -1,186 +0,0 @@
1
- require 'test_helper'
2
- require 'whois/answer/parser/whois.crsnic.net'
3
-
4
- class AnswerParserWhoisCrsnicNetTest < Whois::Answer::Parser::TestCase
5
-
6
- def setup
7
- @klass = Whois::Answer::Parser::WhoisCrsnicNet
8
- @host = "whois.crsnic.net"
9
- end
10
-
11
-
12
- def test_disclaimer
13
- expected = <<-EOS.strip
14
- TERMS OF USE: You are not authorized to access or query our Whois \
15
- database through the use of electronic processes that are high-volume and \
16
- automated except as reasonably necessary to register domain names or \
17
- modify existing registrations; the Data in VeriSign Global Registry \
18
- Services' ("VeriSign") Whois database is provided by VeriSign for \
19
- information purposes only, and to assist persons in obtaining information \
20
- about or related to a domain name registration record. VeriSign does not \
21
- guarantee its accuracy. By submitting a Whois query, you agree to abide \
22
- by the following terms of use: You agree that you may use this Data only \
23
- for lawful purposes and that under no circumstances will you use this Data \
24
- to: (1) allow, enable, or otherwise support the transmission of mass \
25
- unsolicited, commercial advertising or solicitations via e-mail, telephone, \
26
- or facsimile; or (2) enable high volume, automated, electronic processes \
27
- that apply to VeriSign (or its computer systems). The compilation, \
28
- repackaging, dissemination or other use of this Data is expressly \
29
- prohibited without the prior written consent of VeriSign. You agree not to \
30
- use electronic processes that are automated and high-volume to access or \
31
- query the Whois database except as reasonably necessary to register \
32
- domain names or modify existing registrations. VeriSign reserves the right \
33
- to restrict your access to the Whois database in its sole discretion to ensure \
34
- operational stability. VeriSign may restrict or terminate your access to the \
35
- Whois database for failure to abide by these terms of use. VeriSign \
36
- reserves the right to modify these terms at any time.
37
- EOS
38
- assert_equal expected,
39
- @klass.new(load_part('/registered.txt')).disclaimer
40
- assert_equal expected,
41
- @klass.new(load_part('/available.txt')).disclaimer
42
- end
43
-
44
-
45
- def test_domain
46
- assert_equal "google.net",
47
- @klass.new(load_part('/registered.txt')).domain
48
- assert_equal "googlelkjhgfdfghjklkjhgf.net",
49
- @klass.new(load_part('/available.txt')).domain
50
- end
51
-
52
- def test_domain_id
53
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).domain_id }
54
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).domain_id }
55
- end
56
-
57
-
58
- def test_referral_whois
59
- assert_equal "whois.markmonitor.com",
60
- @klass.new(load_part('/registered.txt')).referral_whois
61
- assert_equal nil,
62
- @klass.new(load_part('/available.txt')).referral_whois
63
- end
64
-
65
- def test_referral_url_with_registered
66
- parser = @klass.new(load_part('/registered.txt'))
67
- expected = "http://www.markmonitor.com"
68
- assert_equal expected, parser.referral_url
69
- assert_equal expected, parser.instance_eval { @referral_url }
70
- end
71
-
72
- def test_referral_url_with_available
73
- parser = @klass.new(load_part('/available.txt'))
74
- expected = nil
75
- assert_equal expected, parser.referral_url
76
- assert_equal expected, parser.instance_eval { @referral_url }
77
- end
78
-
79
- def test_referral_url_with_multiple_entries
80
- parser = @klass.new(load_part('/registered.txt'))
81
- expected = "http://www.markmonitor.com"
82
- assert_equal expected, parser.referral_url
83
- assert_equal expected, parser.instance_eval { @referral_url }
84
- end
85
-
86
-
87
- def test_status
88
- assert_equal ["clientDeleteProhibited", "clientTransferProhibited", "clientUpdateProhibited"],
89
- @klass.new(load_part('/registered.txt')).status
90
- assert_equal nil,
91
- @klass.new(load_part('/available.txt')).status
92
- end
93
-
94
- def test_available?
95
- assert !@klass.new(load_part('/registered.txt')).available?
96
- assert @klass.new(load_part('/available.txt')).available?
97
- end
98
-
99
- def test_registered?
100
- assert @klass.new(load_part('/registered.txt')).registered?
101
- assert !@klass.new(load_part('/available.txt')).registered?
102
- end
103
-
104
-
105
- def test_created_on
106
- assert_equal Time.parse("1999-03-15"),
107
- @klass.new(load_part('/registered.txt')).created_on
108
- assert_equal nil,
109
- @klass.new(load_part('/available.txt')).created_on
110
- end
111
-
112
- def test_updated_on
113
- assert_equal Time.parse("2009-02-10"),
114
- @klass.new(load_part('/registered.txt')).updated_on
115
- assert_equal nil,
116
- @klass.new(load_part('/available.txt')).updated_on
117
- end
118
-
119
- def test_expires_on
120
- assert_equal Time.parse("2010-03-15"),
121
- @klass.new(load_part('/registered.txt')).expires_on
122
- assert_equal nil,
123
- @klass.new(load_part('/available.txt')).expires_on
124
- end
125
-
126
-
127
- def test_registrar_with_registered
128
- parser = @klass.new(load_part('/registered.txt'))
129
- expected = parser.registrar
130
- assert_equal expected, parser.registrar
131
- assert_equal expected, parser.instance_eval { @registrar }
132
-
133
- assert_instance_of Whois::Answer::Registrar, expected
134
- assert_equal "MARKMONITOR INC.", expected.name
135
- end
136
-
137
- def test_registrar_with_available
138
- parser = @klass.new(load_part('/available.txt'))
139
- expected = nil
140
- assert_equal expected, parser.registrar
141
- assert_equal expected, parser.instance_eval { @registrar }
142
- end
143
-
144
- def test_registrar
145
- parser = @klass.new(load_part('/registered.txt'))
146
- result = parser.registrar
147
-
148
- assert_instance_of Whois::Answer::Registrar, result
149
- assert_equal nil, result.id
150
- assert_equal "MARKMONITOR INC.", result.name
151
- assert_equal "MARKMONITOR INC.", result.organization
152
- assert_equal "http://www.markmonitor.com", result.url
153
- end
154
-
155
- def test_registrar_with_multiple_entries
156
- parser = @klass.new(load_part('/registered_with_multiple_entries.txt'))
157
- result = parser.registrar
158
-
159
- assert_instance_of Whois::Answer::Registrar, result
160
- assert_equal nil, result.id
161
- assert_equal "MARKMONITOR INC.", result.name
162
- assert_equal "MARKMONITOR INC.", result.organization
163
- assert_equal "http://www.markmonitor.com", result.url
164
- end
165
-
166
-
167
- def test_nameservers
168
- parser = @klass.new(load_part('/registered.txt'))
169
- expected = %w( ns1.google.com ns2.google.com ns3.google.com ns4.google.com )
170
- assert_equal expected, parser.nameservers
171
- assert_equal expected, parser.instance_eval { @nameservers }
172
-
173
- parser = @klass.new(load_part('/available.txt'))
174
- expected = %w()
175
- assert_equal expected, parser.nameservers
176
- assert_equal expected, parser.instance_eval { @nameservers }
177
- end
178
-
179
- def test_nameservers_with_no_nameserver
180
- parser = @klass.new(load_part('/nameservers_with_no_nameserver.txt'))
181
- expected = %w()
182
- assert_equal expected, parser.nameservers
183
- assert_equal expected, parser.instance_eval { @nameservers }
184
- end
185
-
186
- end
@@ -1,414 +0,0 @@
1
- require 'test_helper'
2
- require 'whois/answer/parser/whois.denic.de'
3
-
4
- class AnswerParserWhoisDenicDeTest < Whois::Answer::Parser::TestCase
5
-
6
- def setup
7
- @klass = Whois::Answer::Parser::WhoisDenicDe
8
- @host = "whois.denic.de"
9
- end
10
-
11
-
12
- def test_disclaimer
13
- expected = <<-EOS.strip
14
- The data in this record is provided by DENIC for informational purposes only. \
15
- DENIC does not guarantee its accuracy and cannot, under any circumstances, \
16
- be held liable in case the stored information would prove to be wrong, \
17
- incomplete or not accurate in any sense. \
18
- All the domain data that is visible in the whois service is protected by law. \
19
- It is not permitted to use it for any purpose other than technical or \
20
- administrative requirements associated with the operation of the Internet. \
21
- It is explicitly forbidden to extract, copy and/or use or re-utilise in any \
22
- form and by any means (electronically or not) the whole or a quantitatively \
23
- or qualitatively substantial part of the contents of the whois database \
24
- without prior and explicit written permission by DENIC. \
25
- It is prohibited, in particular, to use it for transmission of unsolicited \
26
- and/or commercial and/or advertising by phone, fax, e-mail or for any similar \
27
- purposes. \
28
- By maintaining the connection you assure that you have a legitimate interest \
29
- in the data and that you will only use it for the stated purposes. You are \
30
- aware that DENIC maintains the right to initiate legal proceedings against \
31
- you in the event of any breach of this assurance and to bar you from using \
32
- its whois service. \
33
- The DENIC whois service on port 43 never discloses any information concerning \
34
- the domain holder/administrative contact. Information concerning the domain \
35
- holder/administrative contact can be obtained through use of our web-based \
36
- whois service available at the DENIC website: \
37
- http://www.denic.de/en/background/whois-service/webwhois.html
38
- EOS
39
- assert_equal expected,
40
- @klass.new(load_part('/registered.txt')).disclaimer
41
- end
42
-
43
- def test_disclaimer_with_available
44
- expected = <<-EOS.strip
45
- The data in this record is provided by DENIC for informational purposes only. \
46
- DENIC does not guarantee its accuracy and cannot, under any circumstances, \
47
- be held liable in case the stored information would prove to be wrong, \
48
- incomplete or not accurate in any sense. \
49
- All the domain data that is visible in the whois service is protected by law. \
50
- It is not permitted to use it for any purpose other than technical or \
51
- administrative requirements associated with the operation of the Internet. \
52
- It is explicitly forbidden to extract, copy and/or use or re-utilise in any \
53
- form and by any means (electronically or not) the whole or a quantitatively \
54
- or qualitatively substantial part of the contents of the whois database \
55
- without prior and explicit written permission by DENIC. \
56
- It is prohibited, in particular, to use it for transmission of unsolicited \
57
- and/or commercial and/or advertising by phone, fax, e-mail or for any similar \
58
- purposes. \
59
- By maintaining the connection you assure that you have a legitimate interest \
60
- in the data and that you will only use it for the stated purposes. You are \
61
- aware that DENIC maintains the right to initiate legal proceedings against \
62
- you in the event of any breach of this assurance and to bar you from using \
63
- its whois service. \
64
- The DENIC whois service on port 43 never discloses any information concerning \
65
- the domain holder/administrative contact. Information concerning the domain \
66
- holder/administrative contact can be obtained through use of our web-based \
67
- whois service available at the DENIC website: \
68
- http://www.denic.de/en/background/whois-service/webwhois.html
69
- EOS
70
- assert_equal expected,
71
- @klass.new(load_part('/available.txt')).disclaimer
72
- end
73
-
74
-
75
- def test_domain
76
- assert_equal nil,
77
- @klass.new(load_part('/available.txt')).domain
78
- assert_equal 'google.de',
79
- @klass.new(load_part('/registered.txt')).domain
80
- end
81
-
82
- def test_domain_id
83
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).domain_id }
84
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).domain_id }
85
- end
86
-
87
-
88
- def test_status
89
- assert_equal nil,
90
- @klass.new(load_part('/available.txt')).status
91
- assert_equal 'connect',
92
- @klass.new(load_part('/registered.txt')).status
93
- end
94
-
95
- def test_registered?
96
- assert @klass.new(load_part('/registered.txt')).registered?
97
- assert !@klass.new(load_part('/available.txt')).registered?
98
- end
99
-
100
- def test_available?
101
- assert !@klass.new(load_part('/registered.txt')).available?
102
- assert @klass.new(load_part('/available.txt')).available?
103
- end
104
-
105
-
106
- def test_created
107
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).created_on }
108
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).created_on }
109
- end
110
-
111
- def test_updated_on
112
- assert_equal Time.parse('2009-02-28 12:03:09 +0100'),
113
- @klass.new(load_part('/registered.txt')).updated_on
114
- assert_equal nil,
115
- @klass.new(load_part('/available.txt')).updated_on
116
- end
117
-
118
- def test_expires_on
119
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).expires_on }
120
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).expires_on }
121
- end
122
-
123
-
124
- def test_registrar
125
- registrar = @klass.new(load_part('/registered.txt')).registrar
126
- assert_instance_of(Whois::Answer::Registrar, registrar)
127
- assert_equal(nil, registrar.id)
128
- assert_equal('Domain Billing', registrar.name)
129
- assert_equal('MarkMonitor', registrar.organization)
130
- assert_equal(nil, registrar.url)
131
- end
132
-
133
- def test_registrar_with_available
134
- assert_equal nil,
135
- @klass.new(load_part('/available.txt')).registrar
136
- end
137
-
138
- def test_registrant_contact_with_registered
139
- parser = @klass.new(load_part('/registered.txt'))
140
- expected = nil
141
- assert_equal expected, parser.registrant_contact
142
- assert_equal expected, parser.instance_eval { @registrant_contact }
143
- end
144
-
145
- def test_registrant_contact_with_available
146
- parser = @klass.new(load_part('/available.txt'))
147
- expected = nil
148
- assert_equal expected, parser.registrant_contact
149
- assert_equal expected, parser.instance_eval { @registrant_contact }
150
- end
151
-
152
- def test_admin_contact_with_registered
153
- parser = @klass.new(load_part('/registered.txt'))
154
- expected = nil
155
- assert_equal expected, parser.admin_contact
156
- assert_equal expected, parser.instance_eval { @admin_contact }
157
- end
158
-
159
- def test_admin_contact_with_available
160
- parser = @klass.new(load_part('/available.txt'))
161
- expected = nil
162
- assert_equal expected, parser.admin_contact
163
- assert_equal expected, parser.instance_eval { @admin_contact }
164
- end
165
-
166
- def test_technical_contact_with_registered
167
- parser = @klass.new(load_part('/registered.txt'))
168
- expected = parser.technical_contact
169
- assert_equal expected, parser.technical_contact
170
- assert_equal expected, parser.instance_eval { @technical_contact }
171
-
172
- assert_instance_of Whois::Answer::Contact, expected
173
- end
174
-
175
- def test_technical_contact_with_available
176
- parser = @klass.new(load_part('/available.txt'))
177
- expected = nil
178
- assert_equal expected, parser.technical_contact
179
- assert_equal expected, parser.instance_eval { @technical_contact }
180
- end
181
-
182
- def test_technical_contact
183
- parser = @klass.new(load_part('/property_technical_contact.txt'))
184
- result = parser.technical_contact
185
-
186
- assert_instance_of Whois::Answer::Contact, result
187
- assert_equal nil, result.id
188
- assert_equal Whois::Answer::Contact::TYPE_TECHNICAL, result.type
189
- assert_equal 'Google Inc.', result.name
190
- assert_equal nil, result.organization
191
- assert_equal ['Google Inc.', '1600 Amphitheatre Parkway'], result.address
192
- assert_equal 'Mountain View', result.city
193
- assert_equal nil, result.state
194
- assert_equal '94043', result.zip
195
- assert_equal nil, result.country
196
- assert_equal 'US', result.country_code
197
- assert_equal '+1-6503300100', result.phone
198
- assert_equal '+1-6506188571', result.fax
199
- assert_equal 'dns-admin@google.com', result.email
200
- end
201
-
202
-
203
- def test_nameservers
204
- parser = @klass.new(load_part('/registered.txt'))
205
- expected = %w( ns1.google.com ns4.google.com ns3.google.com ns2.google.com )
206
- assert_equal expected, parser.nameservers
207
- assert_equal expected, parser.instance_eval { @nameservers }
208
-
209
- parser = @klass.new(load_part('/available.txt'))
210
- expected = %w()
211
- assert_equal expected, parser.nameservers
212
- assert_equal expected, parser.instance_eval { @nameservers }
213
- end
214
-
215
- def test_nameservers_with_ip
216
- parser = @klass.new(load_part('/property_nameservers_with_ip.txt'))
217
- expected = %w( ns1.prodns.de ns2.prodns.de ns3.prodns.de )
218
- assert_equal expected, parser.nameservers
219
- assert_equal expected, parser.instance_eval { @nameservers }
220
- end
221
-
222
- end
223
-
224
-
225
- class AnswerParserWhoisDenicDe1100Test < Whois::Answer::Parser::TestCase
226
-
227
- def setup
228
- @klass = Whois::Answer::Parser::WhoisDenicDe
229
- @host = "whois.denic.de"
230
- end
231
-
232
-
233
- def test_disclaimer
234
- expected = <<-EOS.strip
235
- All the domain data that is visible in the whois search is protected \
236
- by law. It is not permitted to use it for any purpose other than \
237
- technical or administrative requirements associated with the \
238
- operation of the Internet or in order to contact the domain holder \
239
- over legal problems. You are not permitted to save it electronically \
240
- or in any other way without DENIC's express written permission. It \
241
- is prohibited, in particular, to use it for advertising or any similar \
242
- purpose. By maintaining the connection you assure that you have a legitimate \
243
- interest in the data and that you will only use it for the stated \
244
- purposes. You are aware that DENIC maintains the right to initiate \
245
- legal proceedings against you in the event of any breach of this \
246
- assurance and to bar you from using its whois query.
247
- EOS
248
- assert_equal expected,
249
- @klass.new(load_part('/1-10-0_registered.txt')).disclaimer
250
- end
251
-
252
- def test_disclaimer_with_available
253
- expected = <<-EOS.strip
254
- All the domain data that is visible in the whois search is protected \
255
- by law. It is not permitted to use it for any purpose other than \
256
- technical or administrative requirements associated with the \
257
- operation of the Internet or in order to contact the domain holder \
258
- over legal problems. You are not permitted to save it electronically \
259
- or in any other way without DENIC's express written permission. It \
260
- is prohibited, in particular, to use it for advertising or any similar \
261
- purpose. By maintaining the connection you assure that you have a legitimate \
262
- interest in the data and that you will only use it for the stated \
263
- purposes. You are aware that DENIC maintains the right to initiate \
264
- legal proceedings against you in the event of any breach of this \
265
- assurance and to bar you from using its whois query.
266
- EOS
267
- assert_equal expected,
268
- @klass.new(load_part('/1-10-0_available.txt')).disclaimer
269
- end
270
-
271
-
272
- def test_domain
273
- assert_equal nil,
274
- @klass.new(load_part('/1-10-0_available.txt')).domain
275
- assert_equal 'google.de',
276
- @klass.new(load_part('/1-10-0_registered.txt')).domain
277
- end
278
-
279
- def test_domain_id
280
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/registered.txt')).domain_id }
281
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/available.txt')).domain_id }
282
- end
283
-
284
-
285
- def test_status
286
- assert_equal nil,
287
- @klass.new(load_part('/1-10-0_available.txt')).status
288
- assert_equal 'connect',
289
- @klass.new(load_part('/1-10-0_registered.txt')).status
290
- end
291
-
292
- def test_registered?
293
- assert !@klass.new(load_part('/1-10-0_available.txt')).registered?
294
- assert @klass.new(load_part('/1-10-0_registered.txt')).registered?
295
- end
296
-
297
- def test_available?
298
- assert @klass.new(load_part('/1-10-0_available.txt')).available?
299
- assert !@klass.new(load_part('/1-10-0_registered.txt')).available?
300
- end
301
-
302
-
303
- def test_created_on
304
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/1-10-0_registered.txt')).expires_on }
305
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/1-10-0_available.txt')).expires_on }
306
- end
307
-
308
- def test_updated_on
309
- assert_equal Time.parse('2009-02-28 12:03:09 +01:00'),
310
- @klass.new(load_part('/1-10-0_registered.txt')).updated_on
311
- assert_equal nil,
312
- @klass.new(load_part('/1-10-0_available.txt')).updated_on
313
- end
314
-
315
- def test_expires_on
316
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/1-10-0_registered.txt')).expires_on }
317
- assert_raise(Whois::PropertyNotSupported) { @klass.new(load_part('/1-10-0_available.txt')).expires_on }
318
- end
319
-
320
-
321
- def test_registrar_with_registered
322
- registrar = @klass.new(load_part('/1-10-0_registered.txt')).registrar
323
- assert_instance_of(Whois::Answer::Registrar, registrar)
324
- assert_equal(nil, registrar.id)
325
- assert_equal('Domain Billing', registrar.name)
326
- assert_equal('MarkMonitor', registrar.organization)
327
- assert_equal(nil, registrar.url)
328
- end
329
-
330
- def test_registrar_with_available
331
- assert_equal nil,
332
- @klass.new(load_part('/1-10-0_available.txt')).registrar
333
- end
334
-
335
- def test_registrant_contact_with_registered
336
- contact = @klass.new(load_part('/1-10-0_registered.txt')).registrant_contact
337
- assert_instance_of(Whois::Answer::Contact, contact)
338
- assert_equal(nil, contact.id)
339
- assert_equal('Google Inc.', contact.name)
340
- assert_equal(nil, contact.organization)
341
- assert_equal('1600 Amphitheatre Parkway', contact.address)
342
- assert_equal('Mountain View', contact.city)
343
- assert_equal(nil, contact.state)
344
- assert_equal('94043', contact.zip)
345
- assert_equal(nil, contact.country)
346
- assert_equal('US', contact.country_code)
347
- assert_equal(nil, contact.phone)
348
- assert_equal(nil, contact.fax)
349
- assert_equal(nil, contact.email)
350
- end
351
-
352
- def test_registrant_contact_with_available
353
- assert_equal nil,
354
- @klass.new(load_part('/1-10-0_available.txt')).registrant_contact
355
- end
356
-
357
- def test_admin_contact_with_registered
358
- contact = @klass.new(load_part('/1-10-0_registered.txt')).admin_contact
359
- assert_instance_of(Whois::Answer::Contact, contact)
360
- assert_equal(nil, contact.id)
361
- assert_equal('Lena Tangermann', contact.name)
362
- assert_equal('Google Germany GmbH', contact.organization)
363
- assert_equal('ABC-Strasse 19', contact.address)
364
- assert_equal('Hamburg', contact.city)
365
- assert_equal(nil, contact.state)
366
- assert_equal('20354', contact.zip)
367
- assert_equal(nil, contact.country)
368
- assert_equal('DE', contact.country_code)
369
- assert_equal(nil, contact.phone)
370
- assert_equal(nil, contact.fax)
371
- assert_equal(nil, contact.email)
372
- end
373
-
374
- def test_admin_contact_with_available
375
- assert_equal nil,
376
- @klass.new(load_part('/1-10-0_available.txt')).admin_contact
377
- end
378
-
379
- def test_technical_contact_with_registered
380
- contact = @klass.new(load_part('/1-10-0_registered.txt')).technical_contact
381
- assert_instance_of(Whois::Answer::Contact, contact)
382
- assert_equal(nil, contact.id)
383
- assert_equal('Google Inc.', contact.name)
384
- assert_equal(nil, contact.organization)
385
- assert_equal(['Google Inc.', '1600 Amphitheatre Parkway'], contact.address)
386
- assert_equal('Mountain View', contact.city)
387
- assert_equal(nil, contact.state)
388
- assert_equal('94043', contact.zip)
389
- assert_equal(nil, contact.country)
390
- assert_equal('US', contact.country_code)
391
- assert_equal('+1-6503300100', contact.phone)
392
- assert_equal('+1-6506188571', contact.fax)
393
- assert_equal('dns-admin@google.com', contact.email)
394
- end
395
-
396
- def test_technical_contact_with_available
397
- assert_equal nil,
398
- @klass.new(load_part('/1-10-0_available.txt')).technical_contact
399
- end
400
-
401
-
402
- def test_nameservers
403
- parser = @klass.new(load_part('/1-10-0_registered.txt'))
404
- expected = %w( ns1.google.com ns4.google.com ns3.google.com ns2.google.com )
405
- assert_equal expected, parser.nameservers
406
- assert_equal expected, parser.instance_eval { @nameservers }
407
-
408
- parser = @klass.new(load_part('/1-10-0_available.txt'))
409
- expected = %w()
410
- assert_equal expected, parser.nameservers
411
- assert_equal expected, parser.instance_eval { @nameservers }
412
- end
413
-
414
- end