Builder for transfer xml

This commit is contained in:
Martin Lensment 2014-08-28 13:24:23 +03:00
parent ad03165546
commit 2a47e374f2
3 changed files with 77 additions and 0 deletions

View file

@ -82,6 +82,11 @@ describe 'EPP Domain', epp: true do
expect(trn_data.css('acID').text).to eq('10577829')
expect(trn_data.css('exDate').text).to eq(d.valid_to.to_time.utc.to_s)
end
it 'does not transfer with invalid pw' do
response = epp_request('domains/transfer.xml')
end
end
context 'with citizen as an owner' do

View file

@ -275,5 +275,50 @@ describe 'EPP Helper', epp: true do
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
end
it 'generates valid transfer xml' do
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example.ee</domain:name>
<domain:authInfo>
<domain:pw roid="JD1234-REP">98oiewslkfkd</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
').to_s.squish
generated = Nokogiri::XML(domain_transfer_xml).to_s.squish
expect(generated).to eq(expected)
expected = Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="approve">
<domain:transfer
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>one.ee</domain:name>
<domain:authInfo>
<domain:pw roid="askdf">test</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
').to_s.squish
xml = domain_transfer_xml(name: 'one.ee', op: 'approve', pw: 'test', roid: 'askdf')
generated = Nokogiri::XML(xml).to_s.squish
expect(generated).to eq(expected)
end
end
end

View file

@ -189,6 +189,33 @@ module Epp
end
end
end
def domain_transfer_xml(xml_params = {})
xml_params[:name] = xml_params[:name] || 'example.ee'
xml_params[:pw] = xml_params[:pw] || '98oiewslkfkd'
xml_params[:op] = xml_params[:op] || 'query'
xml_params[:roid] = xml_params[:roid] || 'JD1234-REP'
xml = Builder::XmlMarkup.new
xml.instruct!(:xml, standalone: 'no')
xml.epp('xmlns' => 'urn:ietf:params:xml:ns:epp-1.0') do
xml.command do
xml.transfer('op' => xml_params[:op]) do
xml.tag!('domain:transfer', 'xmlns:domain' => 'urn:ietf:params:xml:ns:domain-1.0') do
if xml_params[:name] != false
xml.tag!('domain:name', xml_params[:name])
end
xml.tag!('domain:authInfo') do
xml.tag!('domain:pw', xml_params[:pw], 'roid' => xml_params[:roid])
end if xml_params[:authInfo] != false
end
end
xml.clTRID 'ABC-12345'
end
end
end
end
RSpec.configure do |c|