From dd7c1188e599bce6889e1d606a2a657c1b2459e7 Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Sun, 24 Nov 2013 19:18:24 +0100 Subject: [PATCH] Add testcases and more stupid Unicode hacks! --- test.py | 25 ++++++- test/data/byme.at | 48 +++++++++++++ test/data/defunctkernel.me | 89 +++++++++++++++++++++++++ test/data/ufpa.br | 24 +++++++ test/target_default/byme.at | 1 + test/target_default/defunctkernel.me | 1 + test/target_default/ufpa.br | 1 + test/target_normalized/byme.at | 1 + test/target_normalized/defunctkernel.me | 1 + test/target_normalized/ufpa.br | 1 + 10 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 test/data/byme.at create mode 100644 test/data/defunctkernel.me create mode 100644 test/data/ufpa.br create mode 100644 test/target_default/byme.at create mode 100644 test/target_default/defunctkernel.me create mode 100644 test/target_default/ufpa.br create mode 100644 test/target_normalized/byme.at create mode 100644 test/target_normalized/defunctkernel.me create mode 100644 test/target_normalized/ufpa.br diff --git a/test.py b/test.py index d506507..78dc30b 100755 --- a/test.py +++ b/test.py @@ -11,12 +11,31 @@ OK = '\033[92m' FAIL = '\033[91m' ENDC = '\033[0m' +def encoded_json_dumps(obj): + try: + return json.dumps(obj, default=json_fallback) + except UnicodeDecodeError, e: + return json.dumps(recursive_encode(obj, "latin-1"), default=json_fallback) + def json_fallback(obj): if isinstance(obj, datetime.datetime): return obj.isoformat() else: return obj +def recursive_encode(obj, encoding): + for key in obj.keys(): + if isinstance(obj[key], dict): + obj[key] = recursive_encode(obj[key], encoding) + elif isinstance(obj[key], list): + obj[key] = [x.decode(encoding) for x in obj[key]] + else: + try: + obj[key] = obj[key].decode(encoding) + except: + pass + return obj + def recursive_compare(obj1, obj2, chain=[]): errors = [] chain_name = " -> ".join(chain) @@ -84,7 +103,7 @@ if args.mode[0] == "run": for target, data, target_default, target_normalized in suites: for normalization in (True, []): parsed = pythonwhois.parse.parse_raw_whois(data, normalized=normalization) - parsed = json.loads(json.dumps(parsed, default=json_fallback)) # Stupid Unicode hack + parsed = json.loads(encoded_json_dumps(parsed)) # Stupid Unicode hack if normalization == True: target_data = json.loads(target_normalized) @@ -148,7 +167,7 @@ elif args.mode[0] == "update": default = pythonwhois.parse.parse_raw_whois(data) normalized = pythonwhois.parse.parse_raw_whois(data, normalized=True) with open(os.path.join("test/target_default", target), "w") as f: - f.write(json.dumps(default, default=json_fallback)) + f.write(encoded_json_dumps(default)) with open(os.path.join("test/target_normalized", target), "w") as f: - f.write(json.dumps(normalized, default=json_fallback)) + f.write(encoded_json_dumps(normalized)) print "Generated target data for %s." % target diff --git a/test/data/byme.at b/test/data/byme.at new file mode 100644 index 0000000..b11dadf --- /dev/null +++ b/test/data/byme.at @@ -0,0 +1,48 @@ +% Copyright (c)2013 by NIC.AT (1) +% +% Restricted rights. +% +% Except for agreed Internet operational purposes, no part of this +% information may be reproduced, stored in a retrieval system, or +% transmitted, in any form or by any means, electronic, mechanical, +% recording, or otherwise, without prior permission of NIC.AT on behalf +% of itself and/or the copyright holders. Any use of this material to +% target advertising or similar activities is explicitly forbidden and +% can be prosecuted. +% +% It is furthermore strictly forbidden to use the Whois-Database in such +% a way that jeopardizes or could jeopardize the stability of the +% technical systems of NIC.AT under any circumstances. In particular, +% this includes any misuse of the Whois-Database and any use of the +% Whois-Database which disturbs its operation. +% +% Should the user violate these points, NIC.AT reserves the right to +% deactivate the Whois-Database entirely or partly for the user. +% Moreover, the user shall be held liable for any and all damage +% arising from a violation of these points. + +domain: byme.at +registrant: NS3437599-NICAT +admin-c: NS3437599-NICAT +tech-c: NS3437599-NICAT +nserver: ns1.xname.org +nserver: ns2.he.net +nserver: ns2.xname.org +nserver: ns4.he.net +nserver: ns6.gandi.net +changed: 20120121 04:01:40 +source: AT-DOM + +personname: Nicolas Sapa +organization: +street address: 3 montee de la cabrette Les terrasses des oliviers +postal code: 13800 +city: istres +country: France +phone: +33628033698 +e-mail: 51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net +nic-hdl: NS3437599-NICAT +changed: 20090831 23:08:43 +source: AT-DOM + + diff --git a/test/data/defunctkernel.me b/test/data/defunctkernel.me new file mode 100644 index 0000000..1d671e4 --- /dev/null +++ b/test/data/defunctkernel.me @@ -0,0 +1,89 @@ +WHOIS TERMS & CONDITIONS: Access to .ME WHOIS information is provided to +assist persons in determining the contents of a domain name registration +record in the .ME registry database. The data in this record is provided by +.ME Registry for informational purposes only, and .ME Registry does not +guarantee its accuracy. This service is intended only for query-based +access. You agree that you will use this data only for lawful purposes +and that, under no circumstances will you use this data to: (a) allow, +enable, or otherwise support the transmission by e-mail, telephone, +facsimile, or other electronic processes of mass unsolicited, commercial +advertising or solicitations to entities other than the data recipient's own +existing customers; or (b) enable high volume, automated, electronic +processes that send queries or data to the systems of Registry Operator, +except as reasonably necessary to register domain names or modify existing +registrations. All rights reserved. .ME Registry reserves the right to modify +these terms at any time. By submitting this query, you agree to abide by this +policy. + +Domain ID:D6684477-ME +Domain Name:DEFUNCTKERNEL.ME +Domain Create Date:18-Dec-2012 00:52:32 UTC +Domain Last Updated Date:03-May-2013 20:53:09 UTC +Domain Expiration Date:18-Dec-2013 00:52:32 UTC +Last Transferred Date: +Sponsoring Registrar:Dynadot LLC R30-ME +Created by:Dynadot LLC R30-ME +Last Updated by Registrar:Dynadot LLC R30-ME +Domain Status:CLIENT TRANSFER PROHIBITED +Registrant ID:CP-157087 +Registrant Name:Reg 11 c/o Dynadot Privacy +Registrant Organization: +Registrant Address:PO Box 701 +Registrant Address2: +Registrant Address3: +Registrant City:San Mateo +Registrant State/Province:CA +Registrant Country/Economy:US +Registrant Postal Code:94401 +Registrant Phone:+1.6505854708 +Registrant Phone Ext.: +Registrant FAX: +Registrant FAX Ext.: +Registrant E-mail:privacy@dynadot.com +Admin ID:CP-157087 +Admin Name:Reg 11 c/o Dynadot Privacy +Admin Organization: +Admin Address:PO Box 701 +Admin Address2: +Admin Address3: +Admin City:San Mateo +Admin State/Province:CA +Admin Country/Economy:US +Admin Postal Code:94401 +Admin Phone:+1.6505854708 +Admin Phone Ext.: +Admin FAX: +Admin FAX Ext.: +Admin E-mail:privacy@dynadot.com +Tech ID:CP-157087 +Tech Name:Reg 11 c/o Dynadot Privacy +Tech Organization: +Tech Address:PO Box 701 +Tech Address2: +Tech Address3: +Tech City:San Mateo +Tech State/Province:CA +Tech Country/Economy:US +Tech Postal Code:94401 +Tech Phone:+1.6505854708 +Tech Phone Ext.: +Tech FAX: +Tech FAX Ext.: +Tech E-mail:privacy@dynadot.com +Nameservers:NS4.HE.NET +Nameservers:NS5.HE.NET +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +Nameservers: +DNSSEC:Unsigned + + + diff --git a/test/data/ufpa.br b/test/data/ufpa.br new file mode 100644 index 0000000..905d29a --- /dev/null +++ b/test/data/ufpa.br @@ -0,0 +1,24 @@ + +% Copyright (c) Nic.br +% The use of the data below is only permitted as described in +% full by the terms of use (http://registro.br/termo/en.html), +% being prohibited its distribution, comercialization or +% reproduction, in particular, to use it for advertising or +% any similar purpose. +% 2013-11-24 15:50:16 (BRST -02:00) + +% Query rate limit exceeded. Reduced information. +% Use https://registro.br/cgi-bin/avail/ for domain availability. + +domain: ufpa.br +owner: Universidade Federal do Pará (19057) + +% Security and mail abuse issues should also be addressed to +% cert.br, http://www.cert.br/, respectivelly to cert@cert.br +% and mail-abuse@cert.br +% +% whois.registro.br accepts only direct match queries. Types +% of queries are: domain (.br), registrant (tax ID), ticket, +% provider, contact handle (ID), CIDR block, IP and ASN. + + diff --git a/test/target_default/byme.at b/test/target_default/byme.at new file mode 100644 index 0000000..0755746 --- /dev/null +++ b/test/target_default/byme.at @@ -0,0 +1 @@ +{"updated_date": ["2012-01-21T04:01:40", "2009-08-31T23:08:43"], "nameservers": ["ns1.xname.org", "ns2.he.net", "ns2.xname.org", "ns4.he.net", "ns6.gandi.net"], "raw": ["% Copyright (c)2013 by NIC.AT (1) \n%\n% Restricted rights.\n%\n% Except for agreed Internet operational purposes, no part of this\n% information may be reproduced, stored in a retrieval system, or\n% transmitted, in any form or by any means, electronic, mechanical,\n% recording, or otherwise, without prior permission of NIC.AT on behalf\n% of itself and/or the copyright holders. Any use of this material to\n% target advertising or similar activities is explicitly forbidden and\n% can be prosecuted.\n%\n% It is furthermore strictly forbidden to use the Whois-Database in such\n% a way that jeopardizes or could jeopardize the stability of the\n% technical systems of NIC.AT under any circumstances. In particular,\n% this includes any misuse of the Whois-Database and any use of the\n% Whois-Database which disturbs its operation.\n%\n% Should the user violate these points, NIC.AT reserves the right to\n% deactivate the Whois-Database entirely or partly for the user.\n% Moreover, the user shall be held liable for any and all damage\n% arising from a violation of these points.\n\ndomain: byme.at\nregistrant: NS3437599-NICAT\nadmin-c: NS3437599-NICAT\ntech-c: NS3437599-NICAT\nnserver: ns1.xname.org\nnserver: ns2.he.net\nnserver: ns2.xname.org\nnserver: ns4.he.net\nnserver: ns6.gandi.net\nchanged: 20120121 04:01:40\nsource: AT-DOM\n\npersonname: Nicolas Sapa\norganization: \nstreet address: 3 montee de la cabrette Les terrasses des oliviers\npostal code: 13800\ncity: istres\ncountry: France\nphone: +33628033698\ne-mail: 51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net\nnic-hdl: NS3437599-NICAT\nchanged: 20090831 23:08:43\nsource: AT-DOM\n\n\n"], "contacts": {"admin": {"city": "istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "tech": {"city": "istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "registrant": {"city": "istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "billing": null}} \ No newline at end of file diff --git a/test/target_default/defunctkernel.me b/test/target_default/defunctkernel.me new file mode 100644 index 0000000..bdc10e0 --- /dev/null +++ b/test/target_default/defunctkernel.me @@ -0,0 +1 @@ +{"status": ["CLIENT TRANSFER PROHIBITED"], "updated_date": ["2013-05-03T20:53:09"], "contacts": {"admin": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "tech": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "registrant": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "billing": null}, "nameservers": ["NS4.HE.NET", "NS5.HE.NET"], "expiration_date": ["2013-12-18T00:52:32"], "raw": ["WHOIS TERMS & CONDITIONS: Access to .ME WHOIS information is provided to \nassist persons in determining the contents of a domain name registration \nrecord in the .ME registry database. The data in this record is provided by \n.ME Registry for informational purposes only, and .ME Registry does not \nguarantee its accuracy. This service is intended only for query-based \naccess. You agree that you will use this data only for lawful purposes \nand that, under no circumstances will you use this data to: (a) allow, \nenable, or otherwise support the transmission by e-mail, telephone, \nfacsimile, or other electronic processes of mass unsolicited, commercial \nadvertising or solicitations to entities other than the data recipient's own \nexisting customers; or (b) enable high volume, automated, electronic \nprocesses that send queries or data to the systems of Registry Operator, \nexcept as reasonably necessary to register domain names or modify existing \nregistrations. All rights reserved. .ME Registry reserves the right to modify \nthese terms at any time. By submitting this query, you agree to abide by this \npolicy.\n\nDomain ID:D6684477-ME\nDomain Name:DEFUNCTKERNEL.ME\nDomain Create Date:18-Dec-2012 00:52:32 UTC\nDomain Last Updated Date:03-May-2013 20:53:09 UTC\nDomain Expiration Date:18-Dec-2013 00:52:32 UTC\nLast Transferred Date:\nSponsoring Registrar:Dynadot LLC R30-ME\nCreated by:Dynadot LLC R30-ME\nLast Updated by Registrar:Dynadot LLC R30-ME\nDomain Status:CLIENT TRANSFER PROHIBITED\nRegistrant ID:CP-157087\nRegistrant Name:Reg 11 c/o Dynadot Privacy\nRegistrant Organization:\nRegistrant Address:PO Box 701\nRegistrant Address2:\nRegistrant Address3:\nRegistrant City:San Mateo\nRegistrant State/Province:CA\nRegistrant Country/Economy:US\nRegistrant Postal Code:94401\nRegistrant Phone:+1.6505854708\nRegistrant Phone Ext.:\nRegistrant FAX:\nRegistrant FAX Ext.:\nRegistrant E-mail:privacy@dynadot.com\nAdmin ID:CP-157087\nAdmin Name:Reg 11 c/o Dynadot Privacy\nAdmin Organization:\nAdmin Address:PO Box 701\nAdmin Address2:\nAdmin Address3:\nAdmin City:San Mateo\nAdmin State/Province:CA\nAdmin Country/Economy:US\nAdmin Postal Code:94401\nAdmin Phone:+1.6505854708\nAdmin Phone Ext.:\nAdmin FAX:\nAdmin FAX Ext.:\nAdmin E-mail:privacy@dynadot.com\nTech ID:CP-157087\nTech Name:Reg 11 c/o Dynadot Privacy\nTech Organization:\nTech Address:PO Box 701\nTech Address2:\nTech Address3:\nTech City:San Mateo\nTech State/Province:CA\nTech Country/Economy:US\nTech Postal Code:94401\nTech Phone:+1.6505854708\nTech Phone Ext.:\nTech FAX:\nTech FAX Ext.:\nTech E-mail:privacy@dynadot.com\nNameservers:NS4.HE.NET\nNameservers:NS5.HE.NET\nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nDNSSEC:Unsigned\n\n\n\n"], "registrar": ["Dynadot LLC R30-ME"], "creation_date": ["2012-12-18T00:52:32", "2012-12-18T00:52:32"], "id": ["D6684477-ME"]} \ No newline at end of file diff --git a/test/target_default/ufpa.br b/test/target_default/ufpa.br new file mode 100644 index 0000000..d3c5954 --- /dev/null +++ b/test/target_default/ufpa.br @@ -0,0 +1 @@ +{"raw": ["\n% Copyright (c) Nic.br\n% The use of the data below is only permitted as described in\n% full by the terms of use (http://registro.br/termo/en.html),\n% being prohibited its distribution, comercialization or\n% reproduction, in particular, to use it for advertising or\n% any similar purpose.\n% 2013-11-24 15:50:16 (BRST -02:00)\n\n% Query rate limit exceeded. Reduced information.\n% Use https://registro.br/cgi-bin/avail/ for domain availability.\n\ndomain: ufpa.br\nowner: Universidade Federal do Par\u00e1 (19057)\n\n% Security and mail abuse issues should also be addressed to\n% cert.br, http://www.cert.br/, respectivelly to cert@cert.br\n% and mail-abuse@cert.br\n%\n% whois.registro.br accepts only direct match queries. Types\n% of queries are: domain (.br), registrant (tax ID), ticket,\n% provider, contact handle (ID), CIDR block, IP and ASN.\n\n\n"], "emails": ["cert@cert.br", "mail-abuse@cert.br"], "contacts": {"admin": null, "tech": null, "registrant": {"name": "Universidade Federal do Par\u00e1 (19057)"}, "billing": null}} \ No newline at end of file diff --git a/test/target_normalized/byme.at b/test/target_normalized/byme.at new file mode 100644 index 0000000..e85b3d6 --- /dev/null +++ b/test/target_normalized/byme.at @@ -0,0 +1 @@ +{"updated_date": ["2012-01-21T04:01:40", "2009-08-31T23:08:43"], "nameservers": ["ns1.xname.org", "ns2.he.net", "ns2.xname.org", "ns4.he.net", "ns6.gandi.net"], "raw": ["% Copyright (c)2013 by NIC.AT (1) \n%\n% Restricted rights.\n%\n% Except for agreed Internet operational purposes, no part of this\n% information may be reproduced, stored in a retrieval system, or\n% transmitted, in any form or by any means, electronic, mechanical,\n% recording, or otherwise, without prior permission of NIC.AT on behalf\n% of itself and/or the copyright holders. Any use of this material to\n% target advertising or similar activities is explicitly forbidden and\n% can be prosecuted.\n%\n% It is furthermore strictly forbidden to use the Whois-Database in such\n% a way that jeopardizes or could jeopardize the stability of the\n% technical systems of NIC.AT under any circumstances. In particular,\n% this includes any misuse of the Whois-Database and any use of the\n% Whois-Database which disturbs its operation.\n%\n% Should the user violate these points, NIC.AT reserves the right to\n% deactivate the Whois-Database entirely or partly for the user.\n% Moreover, the user shall be held liable for any and all damage\n% arising from a violation of these points.\n\ndomain: byme.at\nregistrant: NS3437599-NICAT\nadmin-c: NS3437599-NICAT\ntech-c: NS3437599-NICAT\nnserver: ns1.xname.org\nnserver: ns2.he.net\nnserver: ns2.xname.org\nnserver: ns4.he.net\nnserver: ns6.gandi.net\nchanged: 20120121 04:01:40\nsource: AT-DOM\n\npersonname: Nicolas Sapa\norganization: \nstreet address: 3 montee de la cabrette Les terrasses des oliviers\npostal code: 13800\ncity: istres\ncountry: France\nphone: +33628033698\ne-mail: 51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net\nnic-hdl: NS3437599-NICAT\nchanged: 20090831 23:08:43\nsource: AT-DOM\n\n\n"], "contacts": {"admin": {"city": "Istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "tech": {"city": "Istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "registrant": {"city": "Istres", "handle": "NS3437599-NICAT", "name": "Nicolas Sapa", "country": "France", "phone": "+33628033698", "street": "3 montee de la cabrette Les terrasses des oliviers", "postalcode": "13800", "email": "51cc9e302f60fe7d236250606d2e627d-823195@contact.gandi.net", "changedate": "2009-08-31T23:08:43"}, "billing": null}} \ No newline at end of file diff --git a/test/target_normalized/defunctkernel.me b/test/target_normalized/defunctkernel.me new file mode 100644 index 0000000..1772128 --- /dev/null +++ b/test/target_normalized/defunctkernel.me @@ -0,0 +1 @@ +{"status": ["Client Transfer Prohibited"], "updated_date": ["2013-05-03T20:53:09"], "contacts": {"admin": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "tech": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "registrant": {"city": "San Mateo", "handle": "CP-157087", "name": "Reg 11 c/o Dynadot Privacy", "state": "CA", "phone": "+1.6505854708", "street": "PO Box 701", "country": "US", "postalcode": "94401", "email": "privacy@dynadot.com"}, "billing": null}, "nameservers": ["ns4.he.net", "ns5.he.net"], "expiration_date": ["2013-12-18T00:52:32"], "raw": ["WHOIS TERMS & CONDITIONS: Access to .ME WHOIS information is provided to \nassist persons in determining the contents of a domain name registration \nrecord in the .ME registry database. The data in this record is provided by \n.ME Registry for informational purposes only, and .ME Registry does not \nguarantee its accuracy. This service is intended only for query-based \naccess. You agree that you will use this data only for lawful purposes \nand that, under no circumstances will you use this data to: (a) allow, \nenable, or otherwise support the transmission by e-mail, telephone, \nfacsimile, or other electronic processes of mass unsolicited, commercial \nadvertising or solicitations to entities other than the data recipient's own \nexisting customers; or (b) enable high volume, automated, electronic \nprocesses that send queries or data to the systems of Registry Operator, \nexcept as reasonably necessary to register domain names or modify existing \nregistrations. All rights reserved. .ME Registry reserves the right to modify \nthese terms at any time. By submitting this query, you agree to abide by this \npolicy.\n\nDomain ID:D6684477-ME\nDomain Name:DEFUNCTKERNEL.ME\nDomain Create Date:18-Dec-2012 00:52:32 UTC\nDomain Last Updated Date:03-May-2013 20:53:09 UTC\nDomain Expiration Date:18-Dec-2013 00:52:32 UTC\nLast Transferred Date:\nSponsoring Registrar:Dynadot LLC R30-ME\nCreated by:Dynadot LLC R30-ME\nLast Updated by Registrar:Dynadot LLC R30-ME\nDomain Status:CLIENT TRANSFER PROHIBITED\nRegistrant ID:CP-157087\nRegistrant Name:Reg 11 c/o Dynadot Privacy\nRegistrant Organization:\nRegistrant Address:PO Box 701\nRegistrant Address2:\nRegistrant Address3:\nRegistrant City:San Mateo\nRegistrant State/Province:CA\nRegistrant Country/Economy:US\nRegistrant Postal Code:94401\nRegistrant Phone:+1.6505854708\nRegistrant Phone Ext.:\nRegistrant FAX:\nRegistrant FAX Ext.:\nRegistrant E-mail:privacy@dynadot.com\nAdmin ID:CP-157087\nAdmin Name:Reg 11 c/o Dynadot Privacy\nAdmin Organization:\nAdmin Address:PO Box 701\nAdmin Address2:\nAdmin Address3:\nAdmin City:San Mateo\nAdmin State/Province:CA\nAdmin Country/Economy:US\nAdmin Postal Code:94401\nAdmin Phone:+1.6505854708\nAdmin Phone Ext.:\nAdmin FAX:\nAdmin FAX Ext.:\nAdmin E-mail:privacy@dynadot.com\nTech ID:CP-157087\nTech Name:Reg 11 c/o Dynadot Privacy\nTech Organization:\nTech Address:PO Box 701\nTech Address2:\nTech Address3:\nTech City:San Mateo\nTech State/Province:CA\nTech Country/Economy:US\nTech Postal Code:94401\nTech Phone:+1.6505854708\nTech Phone Ext.:\nTech FAX:\nTech FAX Ext.:\nTech E-mail:privacy@dynadot.com\nNameservers:NS4.HE.NET\nNameservers:NS5.HE.NET\nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nNameservers: \nDNSSEC:Unsigned\n\n\n\n"], "registrar": ["Dynadot LLC R30-ME"], "creation_date": ["2012-12-18T00:52:32", "2012-12-18T00:52:32"], "id": ["D6684477-ME"]} \ No newline at end of file diff --git a/test/target_normalized/ufpa.br b/test/target_normalized/ufpa.br new file mode 100644 index 0000000..d3c5954 --- /dev/null +++ b/test/target_normalized/ufpa.br @@ -0,0 +1 @@ +{"raw": ["\n% Copyright (c) Nic.br\n% The use of the data below is only permitted as described in\n% full by the terms of use (http://registro.br/termo/en.html),\n% being prohibited its distribution, comercialization or\n% reproduction, in particular, to use it for advertising or\n% any similar purpose.\n% 2013-11-24 15:50:16 (BRST -02:00)\n\n% Query rate limit exceeded. Reduced information.\n% Use https://registro.br/cgi-bin/avail/ for domain availability.\n\ndomain: ufpa.br\nowner: Universidade Federal do Par\u00e1 (19057)\n\n% Security and mail abuse issues should also be addressed to\n% cert.br, http://www.cert.br/, respectivelly to cert@cert.br\n% and mail-abuse@cert.br\n%\n% whois.registro.br accepts only direct match queries. Types\n% of queries are: domain (.br), registrant (tax ID), ticket,\n% provider, contact handle (ID), CIDR block, IP and ASN.\n\n\n"], "emails": ["cert@cert.br", "mail-abuse@cert.br"], "contacts": {"admin": null, "tech": null, "registrant": {"name": "Universidade Federal do Par\u00e1 (19057)"}, "billing": null}} \ No newline at end of file