Make legaldoc required on domain transfer

This commit is contained in:
Martin Lensment 2015-02-13 12:24:19 +02:00
parent 7e00308f85
commit fcd3f4146b
2 changed files with 68 additions and 2 deletions

View file

@ -158,6 +158,8 @@ class Epp::DomainsController < EppController
@prefix = nil
requires_attribute 'transfer', 'op', values: %(approve, query, reject)
requires 'extension > extdata > legalDocument'
end
## DELETE

View file

@ -696,6 +696,13 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: pw } }
}, 'query', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
response = login_as :registrar2 do
@ -723,6 +730,13 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: pw } }
}, 'query', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
}) # request with new password
response = epp_plain_request(xml, :xml)
@ -829,6 +843,20 @@ describe 'EPP Domain', epp: true do
create_settings
end
it 'does not create a domain transfer without legal document' do
pw = domain.auth_info
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: pw } }
})
login_as :registrar2 do
response = epp_plain_request(xml, :xml)
response[:result_code].should == '2003'
response[:msg].should == 'Required parameter missing: extension > extdata > legalDocument'
end
end
it 'approves the transfer request' do
domain.domain_transfers.create({
status: DomainTransfer::PENDING,
@ -840,7 +868,14 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: domain.auth_info } }
}, 'approve')
}, 'approve', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
response = epp_plain_request(xml, :xml)
@ -903,7 +938,14 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: domain.auth_info } }
}, 'approve')
}, 'approve', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
response = login_as :registrar2 do
epp_plain_request(xml, :xml)
@ -917,7 +959,15 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: 'test' } }
}, 'query', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
response = epp_plain_request(xml, :xml)
response[:result_code].should == '2201'
response[:msg].should == 'Authorization error'
@ -928,6 +978,13 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: pw } }
}, 'query', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
response = epp_plain_request(xml, :xml)
@ -947,6 +1004,13 @@ describe 'EPP Domain', epp: true do
xml = domain_transfer_xml({
name: { value: domain.name },
authInfo: { pw: { value: pw } }
}, 'query', {
_anonymus: [
legalDocument: {
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
attrs: { type: 'pdf' }
}
]
})
login_as :registrar2 do