require 'spec_helper' describe 'A default soap sinatra application' do def app SoapApp end it "should parse soap request and send response" do headers = {"HTTP_SOAPACTION" => 'test'} message = 'onebarwat' post '/action', message, headers response =<<-XML one bar wat XML last_response.body.should == response end it "should raise soap fault on unknown action" do headers = {"HTTP_SOAPACTION" => 'test2'} message = 'onebarwat' post '/action', message, headers response =<<-XML Client Undefined Soap Action XML last_response.body.should == response end it "should have endpoint for soap actions" do endpoint = app.routes["POST"].select {|k| k[0].to_s.match('action')}.count endpoint.should eq 1 end it "should have route for wsdl" do wsdl = app.routes["GET"].select {|k| k[0].to_s.match('wsdl')}.count wsdl.should == 1 end end