From 95b5094d520071bd5d2a41810b31fd5119b4ea8e Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Wed, 22 Oct 2014 17:22:35 +0300 Subject: [PATCH] Refactor domain info xml to gem --- Gemfile.lock | 2 +- spec/epp/domain_spec.rb | 10 ++++---- spec/epp/epp_helper_spec.rb | 49 ------------------------------------- spec/epp/session_spec.rb | 2 +- spec/support/epp.rb | 26 -------------------- 5 files changed, 7 insertions(+), 82 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2ee0ca9b3..12c6df914 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: git@github.com:gitlabeu/epp-xml.git - revision: 4c506960b70246ece25a3e7352075b9aa9060d03 + revision: bd353d79764ba10ce189add76dfd2f4672649175 specs: epp-xml (0.0.1) activesupport (~> 4.1, >= 4.1.4) diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index d4f73cd53..68fb579f0 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -38,7 +38,7 @@ describe 'EPP Domain', epp: true do end it 'can not see other registrar domains' do - response = epp_request(domain_info_xml, :xml, :elkdata) + response = epp_request(EppXml::Domain.info, :xml, :elkdata) expect(response[:result_code]).to eq('2302') expect(response[:msg]).to eq('Domain exists but belongs to other registrar') end @@ -709,7 +709,7 @@ describe 'EPP Domain', epp: true do end it 'sets ok status by default' do - response = epp_request(domain_info_xml, :xml) + response = epp_request(EppXml::Domain.info, :xml) inf_data = response[:parsed].css('resData infData') expect(inf_data.css('status').first[:s]).to eq('ok') end @@ -743,7 +743,7 @@ describe 'EPP Domain', epp: true do d.save - xml = domain_info_xml(name: { value: 'Example.ee' }) + xml = EppXml::Domain.info(name: { value: 'Example.ee' }) response = epp_request(xml, :xml) expect(response[:results][0][:result_code]).to eq('1000') @@ -797,14 +797,14 @@ describe 'EPP Domain', epp: true do d.touch - response = epp_request(domain_info_xml, :xml) + response = epp_request(EppXml::Domain.info, :xml) inf_data = response[:parsed].css('resData infData') expect(inf_data.css('upDate').text).to eq(d.updated_at.to_time.utc.to_s) 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(EppXml::Domain.info(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 diff --git a/spec/epp/epp_helper_spec.rb b/spec/epp/epp_helper_spec.rb index be33bd160..bdb8c3546 100644 --- a/spec/epp/epp_helper_spec.rb +++ b/spec/epp/epp_helper_spec.rb @@ -2,55 +2,6 @@ require 'rails_helper' describe 'EPP Helper', epp: true do context 'in context of Domain' do - it 'generates valid info xml' do - expected = Nokogiri::XML(' - - - - - example.ee - - 2fooBAR - - - - ABC-12345 - - - ').to_s.squish - - generated = Nokogiri::XML(domain_info_xml).to_s.squish - expect(generated).to eq(expected) - - expected = Nokogiri::XML(' - - - - - one.ee - - b3rafsla - - - - ABC-12345 - - - ').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 - it 'generates valid check xml' do expected = Nokogiri::XML(' diff --git a/spec/epp/session_spec.rb b/spec/epp/session_spec.rb index 3beb6e446..c6ba1e1f8 100644 --- a/spec/epp/session_spec.rb +++ b/spec/epp/session_spec.rb @@ -29,7 +29,7 @@ describe 'EPP Session', epp: true do end it 'prohibits further actions unless logged in' do - response = epp_plain_request(domain_create_xml, :xml) + response = epp_plain_request(EppXml::Domain.create, :xml) expect(response[:result_code]).to eq('2002') expect(response[:msg]).to eq('You need to login first.') expect(response[:clTRID]).to eq('ABC-12345') diff --git a/spec/support/epp.rb b/spec/support/epp.rb index 9880e3bba..461de1f62 100644 --- a/spec/support/epp.rb +++ b/spec/support/epp.rb @@ -92,32 +92,6 @@ module Epp end end - def domain_info_xml(xml_params = {}) - defaults = { - name: { value: 'example.ee', attrs: { hosts: 'all' } }, - authInfo: { - pw: { value: '2fooBAR' } - } - } - - xml_params = defaults.deep_merge(xml_params) - - 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.info do - xml.tag!('domain:info', 'xmlns:domain' => 'urn:ietf:params:xml:ns:domain-1.0') do - 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) defaults = { name: { value: 'example.ee' }