Sha256: 9f51c582e8aeb55c4c91e7345f0e54ebda8a2a13c0f09ea58c136b250de137a8
Contents?: true
Size: 1.87 KB
Versions: 2
Compression:
Stored size: 1.87 KB
Contents
require 'spec_helper' module LogInterceptor @@intercepted_request = "" def self.debug(message = nil) message ||= yield if block_given? # save only the first XMLly message if message.include? "xml version" @@intercepted_request = message if @@intercepted_request == "" end end def self.info(message = nil) end def self.get_intercepted_request @@intercepted_request end def self.reset_intercepted_request @@intercepted_request = "" end end describe 'Correct translation of attributes to XML' do it "new :@attr syntax: correctly maps a Ruby Hash to XML attributes" do LogInterceptor.reset_intercepted_request client = Savon.client( :wsdl => "http://mt205.sabameeting.com/CWS/CWS.asmx?WSDL", :log => true, :logger => LogInterceptor ) response = nil begin response = call_and_fail_gracefully(client, :add_new_user, :message => { :user => { :@userID => "test" } }) rescue end xml_doc = Nokogiri::XML(LogInterceptor.get_intercepted_request) xml_doc.remove_namespaces! attributes_element_not_present = xml_doc.xpath("//AddNewUser/attributes").blank? expect(attributes_element_not_present).to eq true end it "old :attributes! syntax: correctly maps a Ruby Hash to XML attributes" do LogInterceptor.reset_intercepted_request client = Savon.client( :wsdl => "http://mt205.sabameeting.com/CWS/CWS.asmx?WSDL", :log => true, :logger => LogInterceptor ) response = nil response = call_and_fail_gracefully(client, :add_new_user, :message => { :user => {}, :attributes! => { :user => { :userID => "test" } } }) xml_doc = Nokogiri::XML(LogInterceptor.get_intercepted_request) xml_doc.remove_namespaces! attributes_element_not_present = xml_doc.xpath("//AddNewUser/attributes").blank? expect(attributes_element_not_present).to eq true end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
savon-2.12.1 | spec/integration/centra_spec.rb |
savon-2.12.0 | spec/integration/centra_spec.rb |