spec/spec_helper.rb in savon-0.3.2 vs spec/spec_helper.rb in savon-0.5.0
- old
+ new
@@ -1,100 +1,15 @@
require "rubygems"
gem "rspec", ">= 1.2.8"
require "spec"
-require "rr"
-require File.join(File.dirname(__FILE__), "..", "lib", "savon")
+require "mocha"
Spec::Runner.configure do |config|
- config.mock_with :rr
+ config.mock_with :mocha
end
-module SpecHelper
- def some_url
- "http://example.com"
- end
+require "savon"
+Savon::Request.log = false
- def some_uri
- URI(some_url)
- end
-
- def some_http
- Net::HTTP.new(some_uri.host, some_uri.port)
- end
-
- def new_wsdl
- Savon::WSDL.new(some_uri, UserFixture.http_mock)
- end
-
- def new_service_instance(options = {})
- service = Savon::Service.new(some_url)
- service.instance_variable_set("@http", UserFixture.http_mock(options))
- service
- end
-end
-
-class UserFixture
- extend RR::Adapters::RRMethods
-
- class << self
- include SpecHelper
-
- def namespace_uri
- "http://v1_0.ws.user.example.com"
- end
-
- def soap_actions
- %w(findUser)
- end
-
- def choice_elements
- %w(idCredential emailCredential)
- end
-
- def user_wsdl
- load_fixture("user_wsdl.xml")
- end
-
- def user_response
- load_fixture("user_response.xml")
- end
-
- def soap_fault
- load_fixture("soap_fault.xml")
- end
-
- def http_mock(options = {})
- response_body = options[:soap_fault] ? soap_fault : user_response
- response_code = options[:http_error] ? 500 : 200
- response_body = "" if options[:http_error] && !options[:soap_fault]
- generate_http_mock(soap_response_mock(response_body, response_code))
- end
-
- private
-
- def load_fixture(file)
- file_path = File.join(File.dirname(__FILE__), "fixtures", file)
- IO.readlines(file_path, "").to_s
- end
-
- def generate_http_mock(soap_response)
- mock = some_http
- stub(mock).get(anything) { wsdl_response_mock(user_wsdl) }
- stub(mock).request_post(anything, anything, anything) { soap_response }
- mock
- end
-
- def wsdl_response_mock(response_body)
- mock = mock()
- stub(mock).body { response_body }
- mock
- end
-
- def soap_response_mock(response_body, response_code)
- mock = mock()
- stub(mock).body { response_body }
- stub(mock).code { response_code }
- stub(mock).message { "whatever" }
- mock
- end
- end
-end
+require "fixtures/user_fixture"
+require "spec_helper_methods"
+require "http_stubs"