lib/soaspec/exchange.rb in soaspec-0.0.9 vs lib/soaspec/exchange.rb in soaspec-0.0.10

- old
+ new

@@ -1,14 +1,10 @@ require_relative '../soaspec' # This represents a request / response pair class Exchange - attr_reader :xml_response - - attr_reader :xml_doc - def initialize(name, override_parameters = {}) @test_name = name.to_s @api_class = Soaspec::Environment.api_handler @override_parameters = override_parameters end @@ -21,14 +17,10 @@ # Name describing this class when used with `RSpec.describe` # This will make the request and store the response # @return [String] Name given when initializing def to_s @response = make_request - if @api_class.class < Soaspec::BasicSoapHandler - @xml_response = @response.to_xml - @xml_doc = @response.doc - end @test_name end # Elements a shared 'success scenario' is expected to have def mandatory_elements @@ -38,17 +30,27 @@ # Elements a shared 'success scenario' is expected to have def mandatory_xpath_values @api_class.mandatory_xpath_values end - # Returns Savon response + # Returns response object from Api + # For example for SOAP it will be a Savon response # response.body (body of response as Hash) # response.header (head of response as Hash) def response @response end + # Get status code from api class. This is http response for Web Api + # @return [Integer] Status code from api class def status_code @api_class.status_code_for(@response) + end + + # Extract value from path api class + # @param [String] path Path to return element for api class E.g - for SOAP this is XPath + # @return [String] Value at path + def [](path) + @api_class.value_from_path(self, path) end end \ No newline at end of file