From 5464e4c3426b482835a4ab4e18ff0b9dab06744f Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Tue, 21 Oct 2014 18:17:18 +0300 Subject: [PATCH] Refactor domain info builder --- spec/epp/domain_spec.rb | 6 ++++-- spec/epp/epp_helper_spec.rb | 9 ++++++++- spec/support/epp.rb | 19 ++++++++++--------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 3f00da2dd..3cc254ccd 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -743,7 +743,7 @@ describe 'EPP Domain', epp: true do d.save - xml = domain_info_xml(name_value: 'Example.ee') + xml = domain_info_xml(name: { value: 'Example.ee' }) response = epp_request(xml, :xml) expect(response[:results][0][:result_code]).to eq('1000') @@ -804,7 +804,7 @@ describe 'EPP Domain', epp: true do end it 'returns error when domain can not be found' do - response = epp_request(domain_info_xml(name_value: 'test.ee'), :xml) + response = epp_request(domain_info_xml(name: { value: 'test.ee' }), :xml) expect(response[:results][0][:result_code]).to eq('2303') expect(response[:results][0][:msg]).to eq('Domain not found') end @@ -952,6 +952,8 @@ describe 'EPP Domain', epp: true do ] }) + puts Nokogiri::XML(xml).to_s + epp_request(xml, :xml) expect(d.dnskeys.count).to eq(1) diff --git a/spec/epp/epp_helper_spec.rb b/spec/epp/epp_helper_spec.rb index 5901f603a..40a721c32 100644 --- a/spec/epp/epp_helper_spec.rb +++ b/spec/epp/epp_helper_spec.rb @@ -158,7 +158,14 @@ describe 'EPP Helper', epp: true do ').to_s.squish - generated = Nokogiri::XML(domain_info_xml(name_value: 'one.ee', name_hosts: 'sub', pw: 'b3rafsla')).to_s.squish + xml = domain_info_xml({ + name: { value: 'one.ee', attrs: { hosts: 'sub' } }, + authInfo: { + pw: { value: 'b3rafsla' } + } + }) + + generated = Nokogiri::XML(xml).to_s.squish expect(generated).to eq(expected) end diff --git a/spec/support/epp.rb b/spec/support/epp.rb index 0e86ee795..7b88ce1c8 100644 --- a/spec/support/epp.rb +++ b/spec/support/epp.rb @@ -145,9 +145,14 @@ module Epp end def domain_info_xml(xml_params = {}) - xml_params[:name_value] = xml_params[:name_value] || 'example.ee' - xml_params[:name_hosts] = xml_params[:name_hosts] || 'all' - xml_params[:pw] = xml_params[:pw] || '2fooBAR' + defaults = { + name: { value: 'example.ee', attrs: { hosts: 'all' } }, + authInfo: { + pw: { value: '2fooBAR' } + } + } + + xml_params = defaults.deep_merge(xml_params) xml = Builder::XmlMarkup.new @@ -156,17 +161,13 @@ module Epp xml.command do xml.info do xml.tag!('domain:info', 'xmlns:domain' => 'urn:ietf:params:xml:ns:domain-1.0') do - if xml_params[:name] != false - xml.tag!('domain:name', xml_params[:name_value], 'hosts' => xml_params[:name_hosts]) - end - xml.tag!('domain:authInfo') do - xml.tag!('domain:pw', xml_params[:pw]) - end + generate_xml_from_hash(xml_params, xml, 'domain') end end xml.clTRID 'ABC-12345' end end + end def domain_update_xml(xml_params = {}, dnssec_params = false)