From 6f327a89c8807a1e0a712316b1dea742ae1ab846 Mon Sep 17 00:00:00 2001
From: Aaron Parecki <aaron@parecki.com>
Date: Thu, 26 May 2016 10:59:35 -0700
Subject: [PATCH] add test ensuring esri token doesn't override existing config
 (#1056)

---
 test/unit/lookups/esri_test.rb | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/test/unit/lookups/esri_test.rb b/test/unit/lookups/esri_test.rb
index a2d2e624..f6026b77 100644
--- a/test/unit/lookups/esri_test.rb
+++ b/test/unit/lookups/esri_test.rb
@@ -34,6 +34,25 @@ class EsriTest < GeocoderTestCase
     assert_match /token=xxxxx/, url
   end
 
+  def test_token_generation_doesnt_overwrite_existing_config
+    Geocoder.configure(esri: {api_key: ['id','secret'], for_storage: true})
+
+    query = Geocoder::Query.new("Bluffton, SC")
+    lookup = Geocoder::Lookup.get(:esri)
+
+    lookup.instance_eval do
+      # redefine `create_token` to return a manually-created token
+      def create_token
+        "xxxxx"
+      end
+    end
+
+    url = lookup.query_url(query)
+
+    assert_match /forStorage=true/, url
+    assert_match /token=xxxxx/, url
+  end
+
   def test_query_for_reverse_geocode
     query = Geocoder::Query.new([45.423733, -75.676333])
     lookup = Geocoder::Lookup.get(:esri)
-- 
GitLab