Sha256: b4b9a8a550aba0baaebc437325638975bec2453a2c9a5df9cb6a0e6d234df5e7

Contents?: true

Size: 1.12 KB

Versions: 5

Compression:

Stored size: 1.12 KB

Contents

require File.join(File.dirname(__FILE__), 'helper')

# Base class for testing geocoders.
class NetAdapterTest < Test::Unit::TestCase #:nodoc: all
  class Geokit::Geocoders::CachedGeocoder < Geokit::Geocoders::Geocoder
    def self.parse_json(hash)
      hash
    end
  end

  class SuperSimpleCache
    def initialize
      @cache = {}
    end

    def write(key, value)
      @cache[key] = value
    end

    def fetch(key)
      @cache[key]
    end
  end

  RESULT = '{"name":"json"}'
  RESULT_HASH = {'name' => 'json'}

  # Defines common test fixtures.
  def setup
    @url = 'http://www.cacheme.com'
    @address = 'San Francisco, CA'
  end

  def test_cache
    old_adapter = Geokit::Geocoders.net_adapter
    Geokit::Geocoders.net_adapter = Geokit::NetAdapter::Typhoeus
    Typhoeus::Config.cache = SuperSimpleCache
    success = MockSuccess.new
    success.expects(:body).returns(RESULT)
    Geokit::NetAdapter::Typhoeus.expects(:do_get).with(@url).returns(success)
    assert_equal RESULT_HASH, Geokit::Geocoders::CachedGeocoder.process(:json, @url)
    Typhoeus::Config.cache = nil
    Geokit::Geocoders.net_adapter = old_adapter
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
geokit-1.14.0 test/test_net_adapter.rb
geokit-1.13.1 test/test_net_adapter.rb
geokit-1.13.0 test/test_net_adapter.rb
geokit-1.12.0 test/test_net_adapter.rb
geokit-1.11.0 test/test_net_adapter.rb