diff --git a/.gitignore b/.gitignore
index c94bfb4e2fb82925be8231893229c1e294f40b68..a199d36a480ccc4cb736d3a928b4afcbd8d219c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ rdoc/*
 *.gem
 .bundle
 Gemfile.lock
+api_keys.yml
diff --git a/test/integration/http_client_test.rb b/test/integration/http_client_test.rb
new file mode 100644
index 0000000000000000000000000000000000000000..c024d59a61faec08740f5c7d87c187c8283af15e
--- /dev/null
+++ b/test/integration/http_client_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'
+require 'yaml'
+
+class HttpClientTest < Test::Unit::TestCase
+  def setup
+    @api_keys = YAML.load_file("api_keys.yml")
+  end
+
+  def test_http_basic_auth
+    Geocoder.configure(lookup: :geocoder_us, api_key: @api_keys["geocoder_us"])
+    results = Geocoder.search "27701"
+    assert_not_nil (r = results.first)
+  end
+
+  def test_ssl
+    Geocoder.configure(lookup: :esri, use_https: true)
+    results = Geocoder.search "27701"
+    assert_not_nil (r = results.first)
+  end
+end
diff --git a/test/integration/smoke_test.rb b/test/integration/smoke_test.rb
deleted file mode 100644
index 0b7cf2fbabe3c9cd31cab65ddcd135ca5e62b24b..0000000000000000000000000000000000000000
--- a/test/integration/smoke_test.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-$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_not_nil (r = result.first)
-    assert_equal "Durham", r.city
-    assert_equal "North Carolina", r.state
-  end
-
-  def test_simple_zip_code_search_with_ssl
-    Geocoder.configure(:use_https => true)
-    result = Geocoder.search "27701"
-    assert_not_nil (r = result.first)
-    assert_equal "Durham", r.city
-    assert_equal "North Carolina", r.state
-  ensure
-    Geocoder.configure(:use_https => false)
-  end
-
-end