module HammerCLIForeman::Testing::APIExpectations

Public Instance Methods

api_connection(options={}, version = '1.15') click to toggle source
# File lib/hammer_cli_foreman/testing/api_expectations.rb, line 153
def api_connection(options={}, version = '1.15')
  FakeApiConnection.new({
    :uri => 'https://test.org',
    :apidoc_cache_dir => "test/data/#{version}",
    :apidoc_cache_name => 'foreman_api',
    :authenticator => TestAuthenticator.new('admin', 'changeme'),
    :dry_run => true
  }.merge(options))
end
api_expects(resource=nil, action=nil, note=nil, &block) click to toggle source
# File lib/hammer_cli_foreman/testing/api_expectations.rb, line 163
def api_expects(resource=nil, action=nil, note=nil, &block)
  APIExpectationsDecorator.new.expects_call(resource, action, note, &block)
end
api_expects_no_call() click to toggle source
# File lib/hammer_cli_foreman/testing/api_expectations.rb, line 167
def api_expects_no_call
  APIExpectationsDecorator.new.expects_no_call
end
index_response(items, options={}) click to toggle source
# File lib/hammer_cli_foreman/testing/api_expectations.rb, line 175
def index_response(items, options={})
  cnt = if items.is_a?(Hash)
          items.keys.count
        else
          items.length
        end
  {
    "total" => options.fetch(:total, cnt),
    "subtotal" => options.fetch(:subtotal, cnt),
    "page" => options.fetch(:page, 1),
    "per_page" => options.fetch(:per_page, cnt),
    "search" => "",
    "sort" => {
      "by" => nil,
      "order" => nil
    },
    "results" => items
  }
end