Class: MockServer::ExpectationStep

Inherits:
Object
  • Object
show all
Defined in:
lib/mockserver/models.rb

Overview

A single step in an ordered multi-action expectation pipeline.

Each step carries exactly ONE action target and a responder flag. Steps without responder = true are side-effects (fire-and-forget webhooks/callbacks). Exactly one step in the list must be marked as the responder; that step's action produces the HTTP response.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http_request: nil, http_class_callback: nil, http_object_callback: nil, http_forward: nil, http_override_forwarded_request: nil, http_response: nil, http_error: nil, responder: nil, delay: nil, blocking: nil, timeout: nil, failure_policy: nil) ⇒ ExpectationStep

Returns a new instance of ExpectationStep.



1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
# File 'lib/mockserver/models.rb', line 1982

def initialize(http_request: nil, http_class_callback: nil, http_object_callback: nil,
               http_forward: nil, http_override_forwarded_request: nil,
               http_response: nil, http_error: nil,
               responder: nil, delay: nil, blocking: nil, timeout: nil, failure_policy: nil)
  @http_request = http_request
  @http_class_callback = http_class_callback
  @http_object_callback = http_object_callback
  @http_forward = http_forward
  @http_override_forwarded_request = http_override_forwarded_request
  @http_response = http_response
  @http_error = http_error
  @responder = responder
  @delay = delay
  @blocking = blocking
  @timeout = timeout
  @failure_policy = failure_policy
end

Instance Attribute Details

#blockingObject

Returns the value of attribute blocking.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def blocking
  @blocking
end

#delayObject

Returns the value of attribute delay.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def delay
  @delay
end

#failure_policyObject

Returns the value of attribute failure_policy.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def failure_policy
  @failure_policy
end

#http_class_callbackObject

Returns the value of attribute http_class_callback.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_class_callback
  @http_class_callback
end

#http_errorObject

Returns the value of attribute http_error.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_error
  @http_error
end

#http_forwardObject

Returns the value of attribute http_forward.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_forward
  @http_forward
end

#http_object_callbackObject

Returns the value of attribute http_object_callback.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_object_callback
  @http_object_callback
end

#http_override_forwarded_requestObject

Returns the value of attribute http_override_forwarded_request.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_override_forwarded_request
  @http_override_forwarded_request
end

#http_requestObject

Returns the value of attribute http_request.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_request
  @http_request
end

#http_responseObject

Returns the value of attribute http_response.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def http_response
  @http_response
end

#responderObject

Returns the value of attribute responder.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def responder
  @responder
end

#timeoutObject

Returns the value of attribute timeout.



1977
1978
1979
# File 'lib/mockserver/models.rb', line 1977

def timeout
  @timeout
end

Class Method Details

.from_hash(data) ⇒ Object



2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
# File 'lib/mockserver/models.rb', line 2017

def self.from_hash(data)
  return nil if data.nil?

  new(
    http_request:                  HttpRequest.from_hash(data['httpRequest']),
    http_class_callback:           HttpClassCallback.from_hash(data['httpClassCallback']),
    http_object_callback:          HttpObjectCallback.from_hash(data['httpObjectCallback']),
    http_forward:                  HttpForward.from_hash(data['httpForward']),
    http_override_forwarded_request: HttpOverrideForwardedRequest.from_hash(data['httpOverrideForwardedRequest']),
    http_response:                 HttpResponse.from_hash(data['httpResponse']),
    http_error:                    HttpError.from_hash(data['httpError']),
    responder:                     data['responder'],
    delay:                         Delay.from_hash(data['delay']),
    blocking:                      data['blocking'],
    timeout:                       Delay.from_hash(data['timeout']),
    failure_policy:                data['failurePolicy']
  )
end

Instance Method Details

#to_hObject



2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'lib/mockserver/models.rb', line 2000

def to_h
  MockServer.strip_none({
    'httpRequest'                  => @http_request&.to_h,
    'httpClassCallback'            => @http_class_callback&.to_h,
    'httpObjectCallback'           => @http_object_callback&.to_h,
    'httpForward'                  => @http_forward&.to_h,
    'httpOverrideForwardedRequest' => @http_override_forwarded_request&.to_h,
    'httpResponse'                 => @http_response&.to_h,
    'httpError'                    => @http_error&.to_h,
    'responder'                    => @responder,
    'delay'                        => @delay&.to_h,
    'blocking'                     => @blocking,
    'timeout'                      => @timeout&.to_h,
    'failurePolicy'                => @failure_policy
  })
end