diff --git a/Rakefile b/Rakefile index 9ba3daf6d8758923ecbebe646932e527fd1de703..70cea9efde1bb2471a68c1abf5a73be8fc8b4188 100644 --- a/Rakefile +++ b/Rakefile @@ -4,11 +4,17 @@ Bundler::GemHelper.install_tasks require 'rake/testtask' Rake::TestTask.new(:test) do |test| test.libs << 'lib' << 'test' - test.pattern = 'test/**/*_test.rb' + test.pattern = 'test/*_test.rb' test.verbose = true end -task :default => :test +Rake::TestTask.new(:integration) do |test| + test.libs << 'lib' << 'test' + test.pattern = 'test/integration/*_test.rb' + test.verbose = true +end + +task :default => [:test, :integration] require 'rdoc/task' Rake::RDocTask.new do |rdoc| diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb index 8a443fee520c281735b18d2e3f2c34e2a4904d3e..e8905707bc1a31ca6043183f2b8ebb9734eafe59 100644 --- a/lib/geocoder/lookups/base.rb +++ b/lib/geocoder/lookups/base.rb @@ -141,8 +141,11 @@ module Geocoder def fetch_raw_data(query, reverse = false) timeout(Geocoder::Configuration.timeout) do url = query_url(query, reverse) + uri = URI.parse(url) unless cache and response = cache[url] - response = http_client.get_response(URI.parse(url)).body + client = http_client.new(uri.host, uri.port) + client.use_ssl = true if Geocoder::Configuration.use_https + response = client.get(uri.request_uri).body if cache cache[url] = response end diff --git a/test/integration/smoke_test.rb b/test/integration/smoke_test.rb new file mode 100644 index 0000000000000000000000000000000000000000..8d80e1e14730cd9ad53072ef2ff9c07c5f4cf373 --- /dev/null +++ b/test/integration/smoke_test.rb @@ -0,0 +1,24 @@ +$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), *%w[ .. .. lib])) +require 'pathname' +require 'rubygems' +require 'test/unit' +require 'geocoder' + +class SmokeTest < Test::Unit::TestCase + + def test_simple_zip_code_search + result = Geocoder.search "27701" + assert_equal "Durham", result.first.city + assert_equal "North Carolina", result.first.state + end + + def test_simple_zip_code_search_with_ssl + Geocoder::Configuration.use_https = true + result = Geocoder.search "27701" + assert_equal "Durham", result.first.city + assert_equal "North Carolina", result.first.state + ensure + Geocoder::Configuration.use_https = false + end + +end