spec/shapewear/savon_usage_spec.rb in shapewear-0.0.6 vs spec/shapewear/savon_usage_spec.rb in shapewear-0.1.0

- old
+ new

@@ -4,24 +4,36 @@ describe Shapewear do describe "usage with SOAP clients" do before do stub_request(:get, "http://services.example.com/complete/soap/wsdl") \ - .to_return :body => CompleteService.to_wsdl, :headers => {'Content-Type' => 'application/xml'} + .to_return :body => CompleteService.to_wsdl, :headers => { 'Content-Type' => 'application/xml' } stub_request(:post, "http://services.example.com/complete/soap") \ - .to_return :body => lambda { |r| CompleteService.serve(r) }, :headers => {'Content-Type' => 'application/xml'} + .to_return :body => lambda { |r| CompleteService.serve(r) }, :headers => { 'Content-Type' => 'application/xml' } end - it "should work with Savon" do - client = Savon::Client.new 'http://services.example.com/complete/soap/wsdl' - response = client.request :echo_in_uppercase, :xmlns => 'http://services.example.com/v1' do - soap.body = {:text => 'uppercase text'} + describe "Savon" do + it "should work for simple requests" do + client = Savon::Client.new 'http://services.example.com/complete/soap/wsdl' + response = client.request :echo_in_uppercase, :xmlns => 'http://services.example.com/v1' do + soap.body = { :text => 'uppercase text' } + end + + puts response.inspect + puts response.body.inspect + + response.body[:echo_in_uppercase_response][:body].should == 'UPPERCASE TEXT' end - puts response.inspect - puts response.body.inspect + it "should raise SOAP:Faults" do + client = Savon::Client.new 'http://services.example.com/complete/soap/wsdl' - response.body[:echo_in_uppercase_response][:body].should == 'UPPERCASE TEXT' + expect { + client.request :get_structured_data, :xmlns => 'http://services.example.com/v1' do + soap.body = { :id => 55 } + end + }.to raise_error Savon::SOAP::Fault, "(RuntimeError) ID must be 0 or 1" + end end end end \ No newline at end of file