def test_info_defreg_response(self, responseinfodefregcommandxmlexpected): response = EppResponse.from_xml( responseinfodefregcommandxmlexpected, extra_nsmap={'defReg': 'http://nic.br/epp/defReg-1.0'}) data = response['epp']['response']['resData']['defReg:infData'] xml = response.to_xml(force_prefix=True).decode() assert data.roid == 'EXAMPLE1-REP' assert data.name['@level'] == 'premium' assert data.name['_text'] == 'doe' assert data.registrant == 'jd1234' assert data.tm == 'XYZ-123' assert data.tmCountry == 'US' assert data.tmDate == '1990-04-03' assert data.adminContact == 'sh8013' assert data.status['@s'] == 'ok' assert data.clID == 'ClientX' assert data.crID == 'ClientY' assert data.crDate == '1999-04-03T22:00:00.0Z' assert data.upID == 'ClientX' assert data.upDate == '1999-12-03T09:00:00.0Z' assert data.exDate == '2000-04-03T22:00:00.0Z' assert data.trDate == '2000-01-08T09:00:00.0Z' assert data.authInfo.pw == '2fooBAR' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responseinfodefregcommandxmlexpected
def test_info_asn_response(self, asnxmlschema, responseinfoasncommandxmlexpected): response = EppResponse.from_xml(responseinfoasncommandxmlexpected, extra_nsmap={'asn': 'urn:ietf:params:xml:ns:asn-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['asn:infData'] assert data.number == '64500' assert data.roid == '64500-REP' assert data.organization == 'BR-ABCD-LACNIC' assert data.contact[0]['@type'] == 'routing' assert data.contact[0]['_text'] == 'fan' assert data.contact[1]['@type'] == 'security' assert data.contact[1]['_text'] == 'hkk' assert data.clID == 'ClientY' assert data.crID == 'ClientX' assert data.crDate == '1999-04-03T22:00:00.0Z' assert data.upID == 'ClientX' assert data.upDate == '2005-12-03T09:00:00.0Z' assert data.trDate == '2004-04-08T09:00:00.0Z' assert data.asIn[0] == 'from AS2 10 accept AS1 A2' assert data.asIn[1] == 'from AS3 10 accept AS1 A2' assert data.asOut[0] == 'to AS2 announce AS3 AS4' assert data.asOut[1] == 'to AS5 announce AS3 AS4' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert asnxmlschema.validate(etree.fromstring(xml))
def test_info_contact_with_brorg_response(self, responseinfocontactcommandwithbrorgxmlexpected): response = EppResponse.from_xml( responseinfocontactcommandwithbrorgxmlexpected, extra_nsmap={ 'brorg': 'urn:ietf:params:xml:ns:brorg-1.0', 'lacnicorg': 'urn:ietf:params:xml:ns:lacnicorg-1.0' }) brorgextension = response.get_response_extension('brorg:infData') lacnicorgextension = response.get_response_extension('lacnicorg:infData') assert brorgextension.organization == '005.506.560/0001-36' assert brorgextension.contact["@type"] == 'admin' assert brorgextension.contact["_text"] == 'fan' assert brorgextension.responsible == 'João Cláudio da Silva' assert brorgextension.proxy == 'EDS279' assert brorgextension.exDate == '2006-06-06T06:00:00.0Z' assert brorgextension.domainName[0] == 'nic.br' assert brorgextension.domainName[1] == 'ptt.br' assert brorgextension.domainName[2] == 'registro.br' assert brorgextension.asNumber == '64500' assert brorgextension.ipRange['@version'] == 'v4' assert brorgextension.ipRange.startAddress == '192.168.0.0' assert brorgextension.ipRange.endAddress == '192.168.0.255' assert brorgextension.suspended == 'true' assert lacnicorgextension.type == 'nir' assert lacnicorgextension.eppStatus == 'active' assert lacnicorgextension.eppIP[0] == '192.168.0.1' assert lacnicorgextension.eppIP[1] == '192.0.2.0/24' assert lacnicorgextension.renewalType[0] == 'member' assert lacnicorgextension.renewalType[1] == 'small' assert lacnicorgextension.renewalType[2] == 'founding-partner' assert lacnicorgextension.renewalDate == '2015-06-01T12:00:00.0Z' assert lacnicorgextension.resourcesClass == 'non-legacy-only' assert lacnicorgextension.password == 'abc123' assert lacnicorgextension.legacy == 'true'
def test_info_domain_response(self, domainxmlschema, responseinfodomaincommandxmlexpected): response = EppResponse.from_xml(responseinfodomaincommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['domain:infData'] assert data.name == 'example.com' assert data.roid == 'EXAMPLE1-REP' assert data.status[0]['@s'] == 'ok' assert data.registrant == 'jd1234' assert data.contact[0]['@type'] == 'admin' assert data.contact[0]['_text'] == 'sh8013' assert data.contact[1]['@type'] == 'tech' assert data.contact[1]['_text'] == 'sh8013' assert data.ns.hostObj[0] == 'ns1.example.com' assert data.ns.hostObj[1] == 'ns1.example.net' assert data.host[0] == 'ns1.example.com' assert data.host[1] == 'ns2.example.com' assert data.clID == 'ClientX' assert data.crID == 'ClientY' assert data.crDate == '1999-04-03T22:00:00.0Z' assert data.upID == 'ClientX' assert data.upDate == '1999-12-03T09:00:00.0Z' assert data.exDate == '2005-04-03T22:00:00.0Z' assert data.trDate == '2000-04-08T09:00:00.0Z' assert data.authInfo.pw == '2fooBAR' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responseinfodomaincommandxmlexpected
def test_create_contact_with_brorg_response(self, responsecreatecontactcommandwithbrorgxmlexpected): response = EppResponse.from_xml(responsecreatecontactcommandwithbrorgxmlexpected, extra_nsmap={'brorg': 'urn:ietf:params:xml:ns:brorg-1.0'}) extension = response.get_response_extension('brorg:creData') assert extension.organization == '005.506.560/0001-36' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == 'DEF-54321'
def test_delete_reserve_asn_response(self, asnreservexmlschema, responsedeletereserveasncommandxmlexpected): response = EppResponse.from_xml(responsedeletereserveasncommandxmlexpected, extra_nsmap={'asnReserve': 'urn:ietf:params:xml:ns:asnReserve-1.0'}) xml = response.to_xml(force_prefix=True).decode() assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert asnreservexmlschema.validate(etree.fromstring(xml))
def test_transfer_domain_request_response( self, domainxmlschema, responsetransferrequestdomaincommandxmlexpected): response = EppResponse.from_xml( responsetransferrequestdomaincommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responsetransferrequestdomaincommandxmlexpected
def test_update_domain_response(self, domainxmlschema, responseupdatedomaincommandxmlexpected): response = EppResponse.from_xml(responseupdatedomaincommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responseupdatedomaincommandxmlexpected
def test_delete_defreg_response(self, responsedeletedefregcommandxmlexpected): response = EppResponse.from_xml( responsedeletedefregcommandxmlexpected, extra_nsmap={'defReg': 'http://nic.br/epp/defReg-1.0'}) xml = response.to_xml(force_prefix=True).decode() assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responsedeletedefregcommandxmlexpected
def test_delete_ipnetwork_response( self, responsedeleteipnetworkcommandxmlexpected): response = EppResponse.from_xml( responsedeleteipnetworkcommandxmlexpected, extra_nsmap={'ipnetwork': 'urn:ietf:params:xml:ns:ipnetwork-1.0'}) xml = response.to_xml(force_prefix=True).decode() assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert xml == responsedeleteipnetworkcommandxmlexpected
def test_renew_asn_response(self, asnxmlschema, responserenewasncommandxmlexpected): response = EppResponse.from_xml( responserenewasncommandxmlexpected, extra_nsmap={'asn': 'urn:ietf:params:xml:ns:asn-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['asn:renData'] assert data.number == '64500' assert data.exDate == '2011-04-03T00:00:00.0Z' assert asnxmlschema.validate(etree.fromstring(xml))
def test_renew_domain_response(self, domainxmlschema, responserenewdomaincommandxmlexpected): response = EppResponse.from_xml(responserenewdomaincommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['domain:renData'] assert data.name == 'example.com' assert data.exDate == '2005-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responserenewdomaincommandxmlexpected
def test_create_contact_response(self, contactxmlschema, responsecreatecontactcommandxmlexpected): response = EppResponse.from_xml(responsecreatecontactcommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['contact:creData'] assert data.id == 'sh8013' assert data.crDate == '1999-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert contactxmlschema.validate(etree.fromstring(xml)) assert xml == responsecreatecontactcommandxmlexpected
def test_renew_domain_with_brdomain_response(self, responserenewdomaincommandwithbrdomaixmlexpected): response = EppResponse.from_xml(responserenewdomaincommandwithbrdomaixmlexpected, extra_nsmap={'brdomain': 'urn:ietf:params:xml:ns:brdomain-1.0'}) extension = response.get_response_extension('brdomain:renData') publicationflag = extension.publicationStatus['@publicationFlag'] reasons = extension.publicationStatus[publicationflag + 'Reason'] assert publicationflag == 'onHold' assert reasons[0] == 'billing' assert reasons[1] == 'dns' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ'
def test_info_contact_with_lacnic_response(self, responseinfocontactcommandwithlacnicxmlexpected): response = EppResponse.from_xml( responseinfocontactcommandwithlacnicxmlexpected, extra_nsmap={ 'lacniccontact': 'urn:ietf:params:xml:ns:lacniccontact-1.0', }) lacnicextension = response.get_response_extension('lacniccontact:infData') assert lacnicextension.reminder == 'My first pet name' assert lacnicextension.language == 'pt' assert lacnicextension.property[0] == 'inactive' assert lacnicextension.property[1] == 'bulkwhois' assert lacnicextension.legacy == 'true'
def test_check_ipnetwork_response( self, responserenewipnetworkcommandxmlexpected): response = EppResponse.from_xml( responserenewipnetworkcommandxmlexpected, extra_nsmap={'ipnetwork': 'urn:ietf:params:xml:ns:ipnetwork-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['ipnetwork:renData'] assert data.roid == 'b_12345-LACNIC' assert data.exDate == '2011-04-03T00:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responserenewipnetworkcommandxmlexpected
def test_renew_defreg_response(self, responserenewdefregcommandxmlexpected): response = EppResponse.from_xml( responserenewdefregcommandxmlexpected, extra_nsmap={'defReg': 'http://nic.br/epp/defReg-1.0'}) data = response['epp']['response']['resData']['defReg:renData'] xml = response.to_xml(force_prefix=True).decode() assert data.roid == 'EXAMPLE1-REP' assert data.exDate == '2001-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responserenewdefregcommandxmlexpected
def test_check_contact_with_brorg_response( self, responsecheckcontactcommandwithbrorgxmlexpected): response = EppResponse.from_xml( responsecheckcontactcommandwithbrorgxmlexpected, extra_nsmap={'brorg': 'urn:ietf:params:xml:ns:brorg-1.0'}) extension = response.get_response_extension('brorg:chkData') tickets = extension['ticketInfo'] assert tickets[0].organization == '006.994.175/0001-48' assert tickets[0].ticketNumber == '2822407' assert tickets[0].domainName == 'doremisolfalasi.com.br' assert tickets[1].organization == '067.774.281/0001-00' assert tickets[1].ticketNumber == '2822403' assert tickets[1].domainName == 'edpgviva.com.br'
def test_check_asn_response(self, asnxmlschema, responsecheckasncommandxmlexpected): response = EppResponse.from_xml( responsecheckasncommandxmlexpected, extra_nsmap={'asn': 'urn:ietf:params:xml:ns:asn-1.0'}) xml = response.to_xml(force_prefix=True).decode() cd = response['epp']['response']['resData']['asn:chkData']['cd'] assert cd.number['@avail'] == '0' assert cd.number['_text'] == '64500' assert cd.reason == 'In use' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert asnxmlschema.validate(etree.fromstring(xml))
def eppresponsecode1500(): xml = """<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1500"> <msg>Command completed successfully; ending session</msg> </result> <trID> <clTRID>ABC-12345</clTRID> <svTRID>54321-XYZ</svTRID> </trID> </response> </epp> """ return EppResponse.from_xml(xml)
def test_update_domain_with_brdomain_case2_response( self, responseupdatedomaincommandwithbrdomainxmlexpected_case2): response = EppResponse.from_xml( responseupdatedomaincommandwithbrdomainxmlexpected_case2, extra_nsmap={'brdomain': 'urn:ietf:params:xml:ns:brdomain-1.0'}) extension = response.get_response_extension('brdomain:updData') assert extension['hostStatus']['hostName'] == 'ns2.example.com' assert extension['hostStatus']['dnsAnswer'] == 'Query refused' assert extension['publicationStatus']['@publicationFlag'] == 'onHold' assert extension['publicationStatus']['onHoldReason'][0] == 'billing' assert extension['publicationStatus']['onHoldReason'][1] == 'dns' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ'
def test_info_domain_with_brdomain_response( self, responseinfodomaincommandwithbrdomainxmlexpected): response = EppResponse.from_xml( responseinfodomaincommandwithbrdomainxmlexpected, extra_nsmap={'brdomain': 'urn:ietf:params:xml:ns:brdomain-1.0'}) extension = response.get_response_extension('brdomain:infData') assert extension.organization == '005.506.560/0001-36' assert extension.publicationStatus['@publicationFlag'] == 'onHold' assert extension.publicationStatus['onHoldReason'][0] == 'billing' assert extension.publicationStatus['onHoldReason'][1] == 'dns' assert extension.autoRenew['@active'] == '1' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ'
def test_info_domain_response_unauthorized_client( self, domainxmlschema, responseinfodomaincommandxmlunauthorizedclient): response = EppResponse.from_xml( responseinfodomaincommandxmlunauthorizedclient) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['domain:infData'] assert data.name == 'example.com' assert data.roid == 'EXAMPLE1-REP' assert data.clID == 'ClientX' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responseinfodomaincommandxmlunauthorizedclient
def test_update_domain_with_brdomain_case1_response( self, responseupdatedomaincommandwithbrdomainxmlexpected_case1): response = EppResponse.from_xml( responseupdatedomaincommandwithbrdomainxmlexpected_case1, extra_nsmap={'brdomain': 'urn:ietf:params:xml:ns:brdomain-1.0'}) extension = response.get_response_extension('brdomain:updData') assert extension['ticketNumber'] == '123456' assert extension['pending']['doc']['@status'] == 'notReceived' assert extension['pending']['doc']['docType'] == 'CNPJ' assert extension['pending']['doc']['limit'] == '2006-03-01T22:00:00.0Z' assert extension['pending']['doc']['description']['@lang'] == 'pt' assert extension['pending']['doc']['description'][ '_text'] == 'Cadastro Nacional da Pessoa Juridica' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ'
def test_create_defreg_response(self, responsecreatedefregcommandxmlexpected): response = EppResponse.from_xml( responsecreatedefregcommandxmlexpected, extra_nsmap={'defReg': 'http://nic.br/epp/defReg-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['defReg:creData'] assert data.roid == 'EXAMPLE1-REP' assert data.name['@level'] == 'premium' assert data.name['_text'] == 'doe' assert data.crDate == '1999-04-03T22:00:00.0Z' assert data.exDate == '2000-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responsecreatedefregcommandxmlexpected
def test_create_ipnetwork_response( self, responsecreateipnetworkcommandxmlexpected): response = EppResponse.from_xml( responsecreateipnetworkcommandxmlexpected, extra_nsmap={'ipnetwork': 'urn:ietf:params:xml:ns:ipnetwork-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['ipnetwork:creData'] assert data.ipRange['@version'] == 'v4' assert data.ipRange.startAddress == '192.168.16.0' assert data.ipRange.endAddress == '192.168.31.255' assert data.roid == 'b_123456-LACNIC' assert data.crDate == '1999-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert xml == responsecreateipnetworkcommandxmlexpected
def test_create_reserve_asn_response( self, asnreservexmlschema, responsecreatereserveasncommandxmlexpected): response = EppResponse.from_xml( responsecreatereserveasncommandxmlexpected, extra_nsmap={ 'asnReserve': 'urn:ietf:params:xml:ns:asnReserve-1.0' }) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['asnReserve:creData'] assert data.id == '1024' assert data.crDate == '1999-04-03T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54321-XYZ' assert asnreservexmlschema.validate(etree.fromstring(xml))
def test_check_domain_response(self, domainxmlschema, responsecheckdomaincommandxmlexpected): response = EppResponse.from_xml(responsecheckdomaincommandxmlexpected) xml = response.to_xml(force_prefix=True).decode() cds = response['epp']['response']['resData']['domain:chkData']['cd'] assert cds[0].name['@avail'] == '1' assert cds[0].name['_text'] == 'example.com' assert cds[1].name['@avail'] == '0' assert cds[1].name['_text'] == 'example.net' assert cds[1].reason == 'In use' assert cds[2].name['@avail'] == '1' assert cds[2].name['_text'] == 'example.org' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert domainxmlschema.validate(etree.fromstring(xml)) assert xml == responsecheckdomaincommandxmlexpected
def test_check_ipnetwork_response( self, responsetransferipnetworkcommandxmlexpected): response = EppResponse.from_xml( responsetransferipnetworkcommandxmlexpected, extra_nsmap={'ipnetwork': 'urn:ietf:params:xml:ns:ipnetwork-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['ipnetwork:trnData'] assert data.roid == 'b_12345-LACNIC' assert data.trStatus == 'pending' assert data.reID == 'ClientX' assert data.reDate == '2000-06-08T22:00:00.0Z' assert data.acID == 'ClientY' assert data.acDate == '2000-06-13T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert xml == responsetransferipnetworkcommandxmlexpected
def test_transfer_request_asn_response( self, asnxmlschema, responsetransferrequestasncommandxmlexpected): response = EppResponse.from_xml( responsetransferrequestasncommandxmlexpected, extra_nsmap={'asn': 'urn:ietf:params:xml:ns:asn-1.0'}) xml = response.to_xml(force_prefix=True).decode() data = response['epp']['response']['resData']['asn:trnData'] assert data.number == '64500' assert data.trStatus == 'pending' assert data.reID == 'ClientX' assert data.reDate == '2000-06-08T22:00:00.0Z' assert data.acID == 'ClientY' assert data.acDate == '2000-06-13T22:00:00.0Z' assert response['epp']['response']['trID']['clTRID'] == 'ABC-12345' assert response['epp']['response']['trID']['svTRID'] == '54322-XYZ' assert asnxmlschema.validate(etree.fromstring(xml))