Sha256: 288e6c6c4ccf466c31faa87d6a800bb10b74b274360193231f5bfdc913eee695

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require 'webmock/rspec'

require 'linkedin'


def fixture_path
  File.expand_path("../fixtures", __FILE__)
end

def fixture(file)
  File.new(fixture_path + '/' + file)
end


def linkedin_url(url)
  url =~ /^http/ ? url : "https://api.linkedin.com#{url}"
end


def stub_get(url, filename, status=nil)
  options = { :body => fixture(filename) }
  options.merge!({ :status => status }) unless status.nil?

  stub_request(:get, linkedin_url(url)).to_return(options)
end

def stub_post(url, result)
  result_hash = { :status => 201 }
  result_hash[:body] = fixture(result) if result

  stub_request(:post, linkedin_url(url)).to_return(result_hash)
end

def expect_post(url, body, result = nil)
  a_request(:post, linkedin_url(url)).with({
    :body => fixture(body).read,
    :headers => { :content_type => 'application/xml' }
  }).should have_been_made.once
end

def stub_put(url, returns_xml, status=nil)
  options = { :body => fixture(returns_xml) }
  options.merge!({ :status => status }) unless status.nil?
  stub_request(:put, linkedin_url(url)).to_return(options)
end

def stub_delete(url, returns_xml)
  stub_request(:delete, linkedin_url(url)).to_return(:body => fixture(returns_xml))
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
linkedin-0.2.2 spec/spec_helper.rb
linkedin-0.2.1 spec/spec_helper.rb