mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 17:28:18 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
f1ebedc234
16 changed files with 2049 additions and 180 deletions
|
@ -939,15 +939,6 @@ describe 'EPP Contact', epp: true do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'renew command' do
|
||||
it 'returns 2101-unimplemented command' do
|
||||
response = epp_plain_request('contacts/renew.xml')
|
||||
|
||||
response[:msg].should == 'Unimplemented command'
|
||||
response[:result_code].should == '2101'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def check_multiple_contacts_xml
|
||||
|
|
|
@ -2,6 +2,7 @@ require 'rails_helper'
|
|||
|
||||
describe 'EPP Domain', epp: true do
|
||||
before(:all) do
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-1.0.xsd'))
|
||||
@epp_xml = EppXml.new(cl_trid: 'ABC-12345')
|
||||
@registrar1 = Fabricate(:registrar1, code: 'REGDOMAIN1')
|
||||
@registrar2 = Fabricate(:registrar2, code: 'REGDOMAIN2')
|
||||
|
@ -27,7 +28,7 @@ describe 'EPP Domain', epp: true do
|
|||
{ contact: { value: 'sh1111', attrs: { type: 'tech' } } },
|
||||
{ contact: { value: 'sh2222', attrs: { type: 'tech' } } }
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:results][0][:msg].should == 'Contact was not found'
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
|
@ -56,7 +57,7 @@ describe 'EPP Domain', epp: true do
|
|||
name: { value: 'test.ee' }
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2003'
|
||||
response[:results][0][:msg].should ==
|
||||
'Required parameter missing: create > create > ns [ns]'
|
||||
|
@ -79,7 +80,7 @@ describe 'EPP Domain', epp: true do
|
|||
dn = next_domain_name
|
||||
response = epp_plain_request(domain_create_xml({
|
||||
name: { value: dn }
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
d = Domain.last
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
|
@ -115,7 +116,7 @@ describe 'EPP Domain', epp: true do
|
|||
end
|
||||
|
||||
it 'creates a domain with legal document' do
|
||||
response = epp_plain_request(domain_create_xml_with_legal_doc, :xml)
|
||||
response = epp_plain_request(domain_create_xml_with_legal_doc)
|
||||
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
|
@ -143,7 +144,7 @@ describe 'EPP Domain', epp: true do
|
|||
# ]
|
||||
# })
|
||||
|
||||
# epp_plain_request(xml, :xml)
|
||||
# epp_plain_request(xml)
|
||||
|
||||
# d = Domain.last
|
||||
# ds = d.dnskeys.last
|
||||
|
@ -168,7 +169,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:result_code].should == '2306'
|
||||
response[:msg].should == 'IPv4 is missing [ipv4]'
|
||||
|
@ -178,10 +179,10 @@ describe 'EPP Domain', epp: true do
|
|||
# dn = next_domain_name
|
||||
# epp_plain_request(domain_create_xml({
|
||||
# name: { value: dn }
|
||||
# }), :xml)
|
||||
# }))
|
||||
# response = epp_plain_request(domain_create_xml({
|
||||
# name: { value: dn }
|
||||
# }), :xml)
|
||||
# }))
|
||||
|
||||
# response[:msg].should == 'Domain name already exists'
|
||||
# response[:result_code].should == '2302'
|
||||
|
@ -191,24 +192,24 @@ describe 'EPP Domain', epp: true do
|
|||
it 'does not create reserved domain' do
|
||||
xml = domain_create_xml(name: { value: '1162.ee' })
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '2302'
|
||||
response[:msg].should == 'Domain name is reserved or restricted [name_dirty]'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
end
|
||||
|
||||
it 'does not create domain without contacts and registrant' do
|
||||
xml = domain_create_xml(contacts: [], registrant: false)
|
||||
xml = domain_create_xml(_anonymus: [], registrant: false)
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2003'
|
||||
response[:results][0][:msg].should ==
|
||||
'Required parameter missing: create > create > registrant [registrant]'
|
||||
end
|
||||
|
||||
it 'does not create domain without nameservers' do
|
||||
xml = domain_create_xml(ns: [])
|
||||
response = epp_plain_request(xml, :xml)
|
||||
xml = domain_create_xml(ns: nil)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:results][0][:msg].should ==
|
||||
'Required parameter missing: create > create > ns [ns]'
|
||||
|
@ -235,7 +236,7 @@ describe 'EPP Domain', epp: true do
|
|||
ns: nameservers
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '2004'
|
||||
response[:msg].should == 'Nameservers count must be between 2-11 [nameservers]'
|
||||
end
|
||||
|
@ -256,7 +257,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Hostname is invalid [hostname]'
|
||||
response[:result_code].should == '2005'
|
||||
end
|
||||
|
@ -273,13 +274,13 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Required parameter missing: create > create > ns > hostAttr [host_attr]'
|
||||
response[:result_code].should == '2003'
|
||||
end
|
||||
|
||||
it 'creates domain with nameservers with ips' do
|
||||
epp_plain_request(domain_create_with_host_attrs, :xml)
|
||||
epp_plain_request(domain_create_with_host_attrs)
|
||||
Domain.last.nameservers.count.should == 2
|
||||
ns = Domain.last.nameservers.first
|
||||
ns.ipv4.should == '192.0.2.2'
|
||||
|
@ -289,7 +290,7 @@ describe 'EPP Domain', epp: true do
|
|||
it 'returns error when nameserver has invalid ips' do
|
||||
domain_count = Domain.count
|
||||
nameserver_count = Nameserver.count
|
||||
response = epp_plain_request(domain_create_with_invalid_ns_ip_xml, :xml)
|
||||
response = epp_plain_request(domain_create_with_invalid_ns_ip_xml)
|
||||
response[:results][0][:result_code].should == '2005'
|
||||
response[:results][0][:msg].should == 'IPv4 is invalid [ipv4]'
|
||||
response[:results][0][:value].should == '192.0.2.2.invalid'
|
||||
|
@ -304,7 +305,7 @@ describe 'EPP Domain', epp: true do
|
|||
it 'creates a domain with period in days' do
|
||||
xml = domain_create_xml(period_value: 365, period_unit: 'd')
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
Domain.first.valid_to.should == 1.year.since.to_date
|
||||
|
@ -315,7 +316,7 @@ describe 'EPP Domain', epp: true do
|
|||
period: { value: '367', attrs: { unit: 'd' } }
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2004'
|
||||
response[:results][0][:msg].should == 'Period must add up to 1, 2 or 3 years [period]'
|
||||
response[:results][0][:value].should == '367'
|
||||
|
@ -350,7 +351,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
d = Domain.last
|
||||
|
||||
d.dnskeys.count.should == 3
|
||||
|
@ -406,7 +407,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml, validate_input: false)
|
||||
|
||||
response[:results][0][:msg].should ==
|
||||
'Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg]'
|
||||
|
@ -450,7 +451,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:result_code].should == '2302'
|
||||
response[:msg].should == 'Public key already exists [public_key]'
|
||||
|
@ -479,7 +480,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:result_code].should == '2004'
|
||||
response[:msg].should == 'DNS keys count must be between 0-1 [dnskeys]'
|
||||
|
@ -499,7 +500,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
|
||||
d = Domain.last
|
||||
ds = d.dnskeys.first
|
||||
|
@ -531,7 +532,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
|
||||
d = Domain.last
|
||||
ds = d.dnskeys.first
|
||||
|
@ -565,7 +566,7 @@ describe 'EPP Domain', epp: true do
|
|||
# }]
|
||||
# })
|
||||
|
||||
# response = epp_plain_request(xml, :xml)
|
||||
# response = epp_plain_request(xml)
|
||||
# response[:result_code].should == '2306'
|
||||
# response[:msg].should == 'dsData object with key data is not allowed'
|
||||
|
||||
|
@ -592,7 +593,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '2306'
|
||||
response[:msg].should == 'dsData object is not allowed'
|
||||
|
||||
|
@ -612,7 +613,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '2306'
|
||||
response[:msg].should == 'keyData object is not allowed'
|
||||
|
||||
|
@ -640,7 +641,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml, validate_input: false)
|
||||
response[:msg].should == 'Mutually exclusive parameters: extension > create > keyData, '\
|
||||
'extension > create > dsData'
|
||||
response[:result_code].should == '2306'
|
||||
|
@ -656,7 +657,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
|
@ -678,7 +679,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Admin contacts count must be between 1-10 [admin_domain_contacts]'
|
||||
response[:result_code].should == '2004'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
|
@ -695,7 +696,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Admin contact can be private person only'
|
||||
response[:result_code].should == '2306'
|
||||
end
|
||||
|
@ -716,14 +717,14 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
end
|
||||
|
||||
domain.reload
|
||||
|
@ -740,7 +741,7 @@ describe 'EPP Domain', epp: true do
|
|||
|
||||
domain.registrar.should == @registrar2
|
||||
|
||||
response = epp_plain_request(@epp_xml.session.poll, :xml)
|
||||
response = epp_plain_request(@epp_xml.session.poll)
|
||||
|
||||
response[:msg].should == 'Command completed successfully; ack to dequeue'
|
||||
msg_q = response[:parsed].css('msgQ')
|
||||
|
@ -760,13 +761,13 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}) # request with new password
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
trn_data = response[:parsed].css('trnData')
|
||||
|
||||
domain.reload
|
||||
|
@ -785,7 +786,7 @@ describe 'EPP Domain', epp: true do
|
|||
domain.registrar.should == @registrar2
|
||||
|
||||
# should return same data if pending already
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
trn_data = response[:parsed].css('trnData')
|
||||
|
||||
domain.domain_transfers.count.should == 2
|
||||
|
@ -802,7 +803,7 @@ describe 'EPP Domain', epp: true do
|
|||
# should show up in other registrar's poll
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(@epp_xml.session.poll, :xml)
|
||||
epp_plain_request(@epp_xml.session.poll)
|
||||
end
|
||||
|
||||
response[:msg].should == 'Command completed successfully; ack to dequeue'
|
||||
|
@ -817,7 +818,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
end
|
||||
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
|
@ -838,14 +839,14 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '1000'
|
||||
domain.legal_documents.count.should == 1
|
||||
|
||||
|
@ -861,7 +862,7 @@ describe 'EPP Domain', epp: true do
|
|||
end
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
end
|
||||
|
||||
response[:result_code].should == '1000'
|
||||
|
@ -878,7 +879,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -897,7 +898,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -930,7 +931,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -965,7 +966,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -1003,7 +1004,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -1057,7 +1058,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -1110,7 +1111,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -1143,7 +1144,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
end
|
||||
|
@ -1163,7 +1164,7 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Authorization error'
|
||||
response[:result_code].should == '2201'
|
||||
end
|
||||
|
@ -1183,13 +1184,13 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'approve', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
domain.reload
|
||||
dtl = domain.domain_transfers.last
|
||||
|
@ -1219,21 +1220,21 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'reject', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
end
|
||||
|
||||
response[:msg].should == 'Transfer can be rejected only by current registrar'
|
||||
response[:result_code].should == '2304'
|
||||
domain.legal_documents.count.should == 0
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '1000'
|
||||
domain.pending_transfer.should be_nil
|
||||
domain.legal_documents.count.should == 1
|
||||
|
@ -1253,14 +1254,14 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'approve', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
end
|
||||
|
||||
response[:result_code].should == '2304'
|
||||
|
@ -1274,13 +1275,13 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '2201'
|
||||
response[:msg].should == 'Authorization error'
|
||||
end
|
||||
|
@ -1293,20 +1294,20 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:result_code].should == '2002'
|
||||
response[:msg].should == 'Domain already belongs to the querying registrar'
|
||||
end
|
||||
|
||||
it 'returns an error for incorrect op attribute' do
|
||||
response = epp_plain_request(domain_transfer_xml({}, 'bla'), :xml)
|
||||
response = epp_plain_request(domain_transfer_xml({}, 'bla'), validate_input: false)
|
||||
response[:result_code].should == '2306'
|
||||
response[:msg].should == 'Attribute is invalid: op'
|
||||
end
|
||||
|
@ -1319,15 +1320,15 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'query', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
login_as :registrar2 do
|
||||
epp_plain_request(xml, :xml) # transfer domain
|
||||
response = epp_plain_request(xml, :xml) # attempt second transfer
|
||||
epp_plain_request(xml) # transfer domain
|
||||
response = epp_plain_request(xml) # attempt second transfer
|
||||
response[:result_code].should == '2201'
|
||||
response[:msg].should == 'Authorization error'
|
||||
end
|
||||
|
@ -1341,13 +1342,13 @@ describe 'EPP Domain', epp: true do
|
|||
}, 'approve', {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:msg].should == 'Pending transfer was not found'
|
||||
response[:result_code].should == '2303'
|
||||
end
|
||||
|
@ -1366,11 +1367,11 @@ describe 'EPP Domain', epp: true do
|
|||
response = epp_plain_request(domain_update_xml(xml_params, {}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:results][0][:msg].should == 'Command completed successfully'
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
|
@ -1395,11 +1396,11 @@ describe 'EPP Domain', epp: true do
|
|||
response = epp_plain_request(domain_update_xml(xml_params, {}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:results][0][:msg].should == 'Command completed successfully; action pending'
|
||||
response[:results][0][:result_code].should == '1001'
|
||||
|
@ -1503,11 +1504,11 @@ describe 'EPP Domain', epp: true do
|
|||
response = epp_plain_request(domain_update_xml(xml_params, {}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:results][0][:msg].should == 'Object status prohibits operation'
|
||||
response[:results][0][:result_code].should == '2304'
|
||||
|
@ -1563,13 +1564,13 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
response[:results][0][:msg].should == 'Contact was not found'
|
||||
|
||||
Fabricate(:contact, code: 'FIXED:MAK21')
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
|
||||
d = Domain.last
|
||||
|
@ -1587,7 +1588,7 @@ describe 'EPP Domain', epp: true do
|
|||
d.domain_statuses.last.value.should == 'clientUpdateProhibited'
|
||||
d.dnskeys.count.should == 2
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:results][0][:result_code].should == '2302'
|
||||
response[:results][0][:msg].should == 'Nameserver already exists on this domain [hostname]'
|
||||
|
@ -1647,9 +1648,6 @@ describe 'EPP Domain', epp: true do
|
|||
it 'updates domain with registrant change what triggers action pending' do
|
||||
xml = domain_update_xml({
|
||||
name: { value: domain.name },
|
||||
chg: [
|
||||
registrant: { value: 'FIXED:CITIZEN_1234' }
|
||||
],
|
||||
add: [
|
||||
{
|
||||
ns: [
|
||||
|
@ -1670,6 +1668,9 @@ describe 'EPP Domain', epp: true do
|
|||
{ status: { value: 'Payment overdue.', attrs: { s: 'clientHold', lang: 'en' } } },
|
||||
{ status: { value: '', attrs: { s: 'clientUpdateProhibited' } } }
|
||||
]
|
||||
],
|
||||
chg: [
|
||||
registrant: { value: 'FIXED:CITIZEN_1234' }
|
||||
]
|
||||
}, {
|
||||
add: [
|
||||
|
@ -1693,19 +1694,19 @@ describe 'EPP Domain', epp: true do
|
|||
{
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Contact was not found'
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
|
||||
Fabricate(:contact, code: 'FIXED:PENDINGMAK21')
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Command completed successfully; action pending'
|
||||
response[:results][0][:result_code].should == '1001'
|
||||
|
||||
|
@ -1736,7 +1737,7 @@ describe 'EPP Domain', epp: true do
|
|||
}]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2306'
|
||||
response[:results][0][:msg].should == "Parameter value policy error. Client-side object status "\
|
||||
"management not supported: status [status]"
|
||||
|
@ -1788,7 +1789,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Command completed successfully'
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
|
||||
|
@ -1815,13 +1816,16 @@ describe 'EPP Domain', epp: true do
|
|||
}, {
|
||||
rem: [
|
||||
{ keyData: {
|
||||
flags: { value: '256' },
|
||||
protocol: { value: '3' },
|
||||
alg: { value: '254' },
|
||||
pubKey: { value: '700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f' }
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Command completed successfully'
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
|
||||
|
@ -1836,7 +1840,7 @@ describe 'EPP Domain', epp: true do
|
|||
rem_cnt = d.tech_contacts.find_by(code: 'FIXED:CITIZEN_1234')
|
||||
rem_cnt.should be_falsey
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
response[:results][0][:msg].should == 'Nameserver was not found'
|
||||
|
@ -1864,7 +1868,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
response[:results][0][:msg].should == 'Status was not found'
|
||||
|
@ -1892,8 +1896,8 @@ describe 'EPP Domain', epp: true do
|
|||
}
|
||||
})
|
||||
|
||||
epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml, :xml)
|
||||
epp_plain_request(xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
response[:results][0][:result_code].should == '2302'
|
||||
response[:results][0][:msg].should == 'Nameserver already exists on this domain [hostname]'
|
||||
|
@ -1912,7 +1916,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
}
|
||||
|
||||
response = epp_plain_request(domain_update_xml(xml_params), :xml)
|
||||
response = epp_plain_request(domain_update_xml(xml_params))
|
||||
response[:results][0][:msg].should ==
|
||||
'Required parameter missing: extension > extdata > legalDocument [legal_document]'
|
||||
response[:results][0][:result_code].should == '2003'
|
||||
|
@ -1926,7 +1930,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml, validate_input: false)
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
response[:results][0][:msg].should == 'Status was not found'
|
||||
response[:results][0][:value].should == 'invalidStatus'
|
||||
|
@ -1941,7 +1945,7 @@ describe 'EPP Domain', epp: true do
|
|||
period: { value: '1', attrs: { unit: 'y' } }
|
||||
)
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Command completed successfully'
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
|
||||
|
@ -1958,7 +1962,7 @@ describe 'EPP Domain', epp: true do
|
|||
period: { value: '1', attrs: { unit: 'y' } }
|
||||
)
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:result_code].should == '2306'
|
||||
response[:results][0][:msg].should == 'Given and current expire dates do not match'
|
||||
end
|
||||
|
@ -1972,7 +1976,7 @@ describe 'EPP Domain', epp: true do
|
|||
period: { value: '4', attrs: { unit: 'y' } }
|
||||
)
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Period must add up to 1, 2 or 3 years [period]'
|
||||
response[:results][0][:result_code].should == '2004'
|
||||
response[:results][0][:value].should == '4'
|
||||
|
@ -1987,7 +1991,7 @@ describe 'EPP Domain', epp: true do
|
|||
ds_key_tag: '123',
|
||||
ds_alg: 3,
|
||||
ds_digest_type: 1,
|
||||
ds_digest: 'abc',
|
||||
ds_digest: '0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB',
|
||||
flags: 257,
|
||||
protocol: 3,
|
||||
alg: 3,
|
||||
|
@ -1998,7 +2002,7 @@ describe 'EPP Domain', epp: true do
|
|||
ds_key_tag: '123',
|
||||
ds_alg: 3,
|
||||
ds_digest_type: 1,
|
||||
ds_digest: 'abc',
|
||||
ds_digest: '0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB',
|
||||
flags: 0,
|
||||
protocol: 3,
|
||||
alg: 5,
|
||||
|
@ -2008,7 +2012,7 @@ describe 'EPP Domain', epp: true do
|
|||
domain.save
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should == 'Command completed successfully'
|
||||
response[:results][0][:result_code].should == '1000'
|
||||
response[:clTRID].should be_nil
|
||||
|
@ -2018,6 +2022,7 @@ describe 'EPP Domain', epp: true do
|
|||
inf_data.css('status').text.should == 'Payment overdue.'
|
||||
inf_data.css('status').first[:s].should == 'clientHold'
|
||||
inf_data.css('registrant').text.should == domain.registrant_code
|
||||
inf_data.css('roid').text.should == domain.roid
|
||||
|
||||
admin_contacts_from_request = inf_data.css('contact[type="admin"]').map(&:text)
|
||||
admin_contacts_existing = domain.admin_contacts.pluck(:code)
|
||||
|
@ -2043,7 +2048,7 @@ describe 'EPP Domain', epp: true do
|
|||
ds_data_1.css('keyTag').first.text.should == '123'
|
||||
ds_data_1.css('alg').first.text.should == '3'
|
||||
ds_data_1.css('digestType').first.text.should == '1'
|
||||
ds_data_1.css('digest').first.text.should == 'abc'
|
||||
ds_data_1.css('digest').first.text.should == '0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB'
|
||||
|
||||
dnskey_1 = ds_data_1.css('keyData')[0]
|
||||
dnskey_1.css('flags').first.text.should == '257'
|
||||
|
@ -2061,7 +2066,7 @@ describe 'EPP Domain', epp: true do
|
|||
|
||||
domain.touch
|
||||
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }), :xml)
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }))
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
|
||||
inf_data.css('upDate').text.should == domain.updated_at.to_time.utc.iso8601
|
||||
|
@ -2076,13 +2081,13 @@ describe 'EPP Domain', epp: true do
|
|||
domain.nameservers.build(hostname: "ns3.test.ee", ipv4: '192.168.1.1', ipv6: '1080:0:0:0:8:800:200C:417A')
|
||||
domain.save
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'inalid' } })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'invalid' } })
|
||||
response = epp_plain_request(xml, validate_input: false)
|
||||
response[:msg].should == 'Attribute is invalid: hosts'
|
||||
response[:result_code].should == '2306'
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'sub' } })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
inf_data.css('hostAttr').count.should == 2
|
||||
|
@ -2090,41 +2095,41 @@ describe 'EPP Domain', epp: true do
|
|||
inf_data.css('hostName').last.text.should == "ns2.#{domain.name}"
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'del' } })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
inf_data.css('hostAttr').count.should == 1
|
||||
inf_data.css('hostName').first.text.should == "ns3.test.ee"
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'none' } })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
inf_data.css('ns').count.should == 0
|
||||
inf_data.css('hostAttr').count.should == 0
|
||||
|
||||
xml = domain_info_xml(name: { value: domain.name, attrs: { hosts: 'all' } })
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
inf_data.css('hostAttr').count.should == 3
|
||||
end
|
||||
|
||||
it 'returns error when domain can not be found' do
|
||||
response = epp_plain_request(domain_info_xml(name: { value: 'test.ee' }), :xml)
|
||||
response = epp_plain_request(domain_info_xml(name: { value: 'test.ee' }))
|
||||
response[:results][0][:result_code].should == '2303'
|
||||
response[:results][0][:msg].should == 'Domain not found'
|
||||
end
|
||||
|
||||
it 'sets ok status by default' do
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }), :xml)
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }))
|
||||
inf_data = response[:parsed].css('resData infData')
|
||||
inf_data.css('status').first[:s].should == 'ok'
|
||||
end
|
||||
|
||||
it 'can not see other registrar domains with invalid password' do
|
||||
login_as :registrar2 do
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }), :xml)
|
||||
response = epp_plain_request(domain_info_xml(name: { value: domain.name }))
|
||||
response[:result_code].should == '2201'
|
||||
response[:msg].should == 'Authorization error'
|
||||
end
|
||||
|
@ -2135,7 +2140,7 @@ describe 'EPP Domain', epp: true do
|
|||
response = epp_plain_request(domain_info_xml(
|
||||
name: { value: domain.name },
|
||||
authInfo: nil
|
||||
), :xml)
|
||||
))
|
||||
|
||||
response[:result_code].should == '1000'
|
||||
response[:parsed].css('authInfo pw').first.should == nil
|
||||
|
@ -2148,7 +2153,7 @@ describe 'EPP Domain', epp: true do
|
|||
response = epp_plain_request(domain_info_xml(
|
||||
name: { value: domain.name },
|
||||
authInfo: { pw: { value: pw } }
|
||||
), :xml)
|
||||
))
|
||||
|
||||
response[:result_code].should == '1000'
|
||||
response[:parsed].css('authInfo pw').text.should == pw
|
||||
|
@ -2162,11 +2167,11 @@ describe 'EPP Domain', epp: true do
|
|||
}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:msg].should == 'Command completed successfully; action pending'
|
||||
response[:result_code].should == '1001'
|
||||
|
@ -2182,11 +2187,11 @@ describe 'EPP Domain', epp: true do
|
|||
}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:result_code].should == '2304'
|
||||
response[:msg].should == 'Domain status prohibits operation'
|
||||
|
@ -2200,18 +2205,18 @@ describe 'EPP Domain', epp: true do
|
|||
}, {
|
||||
_anonymus: [
|
||||
legalDocument: {
|
||||
value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==',
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:msg].should == 'Object status prohibits operation'
|
||||
response[:result_code].should == '2304'
|
||||
end
|
||||
|
||||
it 'does not delete domain without legal document' do
|
||||
response = epp_plain_request(@epp_xml.domain.delete(name: { value: 'example.ee' }), :xml)
|
||||
response = epp_plain_request(@epp_xml.domain.delete(name: { value: 'example.ee' }))
|
||||
response[:result_code].should == '2003'
|
||||
response[:msg].should ==
|
||||
'Required parameter missing: extension > extdata > legalDocument [legal_document]'
|
||||
|
@ -2223,7 +2228,7 @@ describe 'EPP Domain', epp: true do
|
|||
_anonymus: [
|
||||
{ name: { value: 'one.ee' } }
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
|
||||
response[:result_code].should == '1000'
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
|
@ -2236,7 +2241,7 @@ describe 'EPP Domain', epp: true do
|
|||
_anonymus: [
|
||||
{ name: { value: domain.name } }
|
||||
]
|
||||
}), :xml)
|
||||
}))
|
||||
res_data = response[:parsed].css('resData chkData cd').first
|
||||
name = res_data.css('name').first
|
||||
reason = res_data.css('reason').first
|
||||
|
@ -2255,7 +2260,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '1000'
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
|
||||
|
@ -2276,7 +2281,7 @@ describe 'EPP Domain', epp: true do
|
|||
]
|
||||
})
|
||||
|
||||
response = epp_plain_request(xml, :xml)
|
||||
response = epp_plain_request(xml)
|
||||
response[:result_code].should == '1000'
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<renew>
|
||||
<contact:renew
|
||||
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
|
||||
<contact:id>info-4444</contact:id>
|
||||
<contact:authInfo>
|
||||
<contact:pw>2fooBAR</contact:pw>
|
||||
</contact:authInfo>
|
||||
</contact:renew>
|
||||
</renew>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
|
@ -5,6 +5,7 @@ describe 'EPP Session', epp: true do
|
|||
@api_user = Fabricate(:gitlab_api_user)
|
||||
@epp_xml = EppXml.new(cl_trid: 'ABC-12345')
|
||||
@login_xml_cache = @epp_xml.session.login(clID: { value: 'gitlab' }, pw: { value: 'ghyt9e4fu' })
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/epp-1.0.xsd'))
|
||||
end
|
||||
|
||||
context 'when not connected' do
|
||||
|
@ -23,7 +24,7 @@ describe 'EPP Session', epp: true do
|
|||
|
||||
it 'does not log in with invalid user' do
|
||||
wrong_user = @epp_xml.session.login(clID: { value: 'wrong-user' }, pw: { value: 'ghyt9e4fu' })
|
||||
response = epp_plain_request(wrong_user, :xml)
|
||||
response = epp_plain_request(wrong_user)
|
||||
response[:msg].should == 'Authentication error; server closing connection'
|
||||
response[:result_code].should == '2501'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
|
@ -34,28 +35,29 @@ describe 'EPP Session', epp: true do
|
|||
Fabricate(:api_user, username: 'inactive-user', active: false, registrar: @registrar)
|
||||
|
||||
inactive = @epp_xml.session.login(clID: { value: 'inactive-user' }, pw: { value: 'ghyt9e4fu' })
|
||||
response = epp_plain_request(inactive, :xml)
|
||||
response = epp_plain_request(inactive)
|
||||
response[:msg].should == 'Authentication error; server closing connection'
|
||||
response[:result_code].should == '2501'
|
||||
end
|
||||
|
||||
it 'prohibits further actions unless logged in' do
|
||||
response = epp_plain_request(@epp_xml.domain.create, :xml)
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-1.0.xsd'))
|
||||
response = epp_plain_request(@epp_xml.domain.info(name: { value: 'test.ee' }))
|
||||
response[:msg].should == 'You need to login first.'
|
||||
response[:result_code].should == '2002'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
end
|
||||
|
||||
it 'should not have clTRID in response if client does not send it' do
|
||||
epp_xml_no_cltrid = EppXml.new(cl_trid: '')
|
||||
epp_xml_no_cltrid = EppXml.new(cl_trid: false)
|
||||
wrong_user = epp_xml_no_cltrid.session.login(clID: { value: 'wrong-user' }, pw: { value: 'ghyt9e4fu' })
|
||||
response = epp_plain_request(wrong_user, :xml)
|
||||
response = epp_plain_request(wrong_user)
|
||||
response[:clTRID].should be_nil
|
||||
end
|
||||
|
||||
context 'with valid user' do
|
||||
it 'logs in epp user' do
|
||||
response = epp_plain_request(@login_xml_cache, :xml)
|
||||
response = epp_plain_request(@login_xml_cache)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
|
@ -67,12 +69,12 @@ describe 'EPP Session', epp: true do
|
|||
end
|
||||
|
||||
it 'does not log in twice' do
|
||||
response = epp_plain_request(@login_xml_cache, :xml)
|
||||
response = epp_plain_request(@login_xml_cache)
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
response[:clTRID].should == 'ABC-12345'
|
||||
|
||||
response = epp_plain_request(@login_xml_cache, :xml)
|
||||
response = epp_plain_request(@login_xml_cache)
|
||||
response[:msg].should match(/Already logged in. Use/)
|
||||
response[:result_code].should == '2002'
|
||||
|
||||
|
@ -84,10 +86,10 @@ describe 'EPP Session', epp: true do
|
|||
|
||||
it 'logs out epp user' do
|
||||
c = EppSession.count
|
||||
epp_plain_request(@login_xml_cache, :xml)
|
||||
epp_plain_request(@login_xml_cache)
|
||||
|
||||
EppSession.count.should == c + 1
|
||||
response = epp_plain_request(@epp_xml.session.logout, :xml)
|
||||
response = epp_plain_request(@epp_xml.session.logout)
|
||||
response[:msg].should == 'Command completed successfully; ending session'
|
||||
response[:result_code].should == '1500'
|
||||
|
||||
|
@ -100,7 +102,7 @@ describe 'EPP Session', epp: true do
|
|||
clID: { value: 'gitlab' },
|
||||
pw: { value: 'ghyt9e4fu' },
|
||||
newPW: { value: 'abcdefg' }
|
||||
), :xml)
|
||||
))
|
||||
|
||||
response[:msg].should == 'Command completed successfully'
|
||||
response[:result_code].should == '1000'
|
||||
|
@ -115,7 +117,22 @@ describe 'EPP Session', epp: true do
|
|||
clID: { value: 'gitlab' },
|
||||
pw: { value: 'ghyt9e4fu' },
|
||||
newPW: { value: '' }
|
||||
), :xml)
|
||||
), validate_input: false)
|
||||
|
||||
response[:msg].should == 'Password is missing [password]'
|
||||
response[:result_code].should == '2306'
|
||||
|
||||
@api_user.reload
|
||||
@api_user.password.should == 'ghyt9e4fu'
|
||||
end
|
||||
|
||||
it 'fails if new password is not valid' do
|
||||
@api_user.update(password: 'ghyt9e4fu')
|
||||
response = epp_plain_request(@epp_xml.session.login(
|
||||
clID: { value: 'gitlab' },
|
||||
pw: { value: 'ghyt9e4fu' },
|
||||
newPW: { value: '' }
|
||||
), validate_input: false)
|
||||
|
||||
response[:msg].should == 'Password is missing [password]'
|
||||
response[:result_code].should == '2306'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue