Module: HammerCLIForeman::Testing::APIExpectations::ExpectationExtensions

Defined in:
lib/hammer_cli_foreman/testing/api_expectations.rb

Instance Method Summary collapse

Instance Method Details

#api_call_matcherObject



91
92
93
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 91

def api_call_matcher
  @api_call_matcher ||= APICallMatcher.new
end

#method_signatureObject



61
62
63
64
65
66
67
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 61

def method_signature
  signature = "#{@note}\n  #{super}"
  if @api_call_matcher && !@api_call_matcher.expected_params.empty?
    signature += "\n  expected params to include: " + params_signature(@api_call_matcher.expected_params)
  end
  signature
end

#params_signature(hash) ⇒ Object



69
70
71
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 69

def params_signature(hash)
  JSON.pretty_generate(hash).split("\n").join("\n  ")
end

#set_note(note) ⇒ Object



73
74
75
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 73

def set_note(note)
  @note = note
end

#with_action(resource, action) ⇒ Object



84
85
86
87
88
89
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 84

def with_action(resource, action)
  api_call_matcher.expected_resource = resource
  api_call_matcher.expected_action = action
  self.with(api_call_matcher)
  self
end

#with_params(expected_params = {}, &block) ⇒ Object



77
78
79
80
81
82
# File 'lib/hammer_cli_foreman/testing/api_expectations.rb', line 77

def with_params(expected_params = {}, &block)
  api_call_matcher.expected_params = expected_params
  api_call_matcher.block = block if block_given?
  self.with(api_call_matcher)
  self
end