Sha256: a97365b4a63b2a46463a192efdd46e64819659d619ecc8db0e664dadf16a83e8

Contents?: true

Size: 1.9 KB

Versions: 13

Compression:

Stored size: 1.9 KB

Contents

require 'rubygems'
require 'bundler'
begin
  Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
  $stderr.puts e.message
  $stderr.puts "Run `bundle install` to install missing gems"
  exit e.status_code
end
require 'test/unit'
require 'shoulda'
require 'matchy'
require 'fakeweb'
require 'json'
require 'hashie'
require 'awesome_print'
require 'mocha'

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
$LOAD_PATH.unshift(File.dirname(__FILE__))
require 'foursquare2'
require 'config'

FakeWeb.allow_net_connect = false

def foursquare_test_client
  Foursquare2::Client.new(:oauth_token => 'yeehaw')
end

def foursquare_url(url)
  url =~ /^http/ ? url : "http://api.foursquare.com/v2#{url}"
end

def fixture_file(filename, options={})
  return '' if filename == ''
  file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/' + filename)
  fixture   = File.read(file_path)

  case File.extname(file_path)
  when '.json'
    options[:parse] ? Hashie::Mash.new(JSON.parse(fixture)) : fixture
  else
    fixture
  end
end

def stub_get(url, filename, options={})
  opts = {
    :body => error_or_standard_body(filename, options),
    :content_type => 'application/json; charset=utf-8'
  }.merge(options)
  FakeWeb.register_uri(:get, foursquare_url(url), opts)
end

def stub_post(url, filename, options={})
  opts = {
    :body => error_or_standard_body(filename, options),
    :content_type => 'application/json; charset=utf-8'
  }.merge(options)
  FakeWeb.register_uri(:post, foursquare_url(url), opts)
end

def error_or_standard_body(filename, options)
  error_options = options.delete(:error)
  body = fixture_file(error_options ? 'error_template.json' : filename)
  body = body.gsub(/%error_code%/, error_options[:code])
             .gsub(/%error_type%/, error_options[:type])
             .gsub(/%error_message%/, error_options[:message]) if error_options
  body
end

class Test::Unit::TestCase
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
foursquare2-2.0.1 test/helper.rb
foursquare2-2.0.0 test/helper.rb
foursquare2-1.9.8 test/helper.rb
foursquare2-1.9.7 test/helper.rb
foursquare2-1.9.6 test/helper.rb
foursquare2-1.9.5 test/helper.rb
foursquare2-1.9.4 test/helper.rb
foursquare2-1.9.3 test/helper.rb
foursquare2-1.9.2 test/helper.rb
foursquare2-1.9.1 test/helper.rb
foursquare2-1.9.0 test/helper.rb
foursquare2-1.8.2 test/helper.rb
foursquare2-1.8.1 test/helper.rb