Prepare for moving url generation to google maps api service

pull/12301/head
Javier Torres 7 years ago
parent 0d2e6b0fcb
commit e474096df7

@ -310,7 +310,7 @@ SPEC_HELPER_MIN_SPECS = \
spec/models/carto/username_proposer_spec.rb \
spec/services/carto/overquota_users_service_spec.rb \
spec/services/visualization/common_data_service_spec.rb \
spec/lib/carto/google_maps_api_signer_spec.rb \
spec/lib/carto/google_maps_api_spec.rb \
$(NULL)
# This class must be tested isolated as pollutes namespace

@ -2,7 +2,7 @@ require 'base64'
require 'openssl'
module Carto
class GoogleMapsApiSigner
class GoogleMapsApi
def sign(user, url)
raise 'User does not have Google configured' unless user.google_maps_query_string.present?
if user.google_maps_client_id.present? && user.google_maps_private_key.present?

@ -1,33 +0,0 @@
# encoding: utf-8
require_relative '../../spec_helper_min.rb'
require 'carto/google_maps_api_signer'
module Carto
describe GoogleMapsApiSigner do
let(:url) { 'https://maps.googleapis.com/maps/api/staticmap?center=40.714%2c-73.998&zoom=12&size=400x400' }
describe 'with client_id' do
# You can generate test signature with https://developers.google.com/maps/documentation/static-maps/get-api-key
let(:user) do
FactoryGirl.build(:user, google_maps_key: 'client=wds', google_maps_private_key: 'MjM0MzJk-3N_czQzJmFkc2Rhc2Q=')
end
it 'signs google maps urls' do
gmas = GoogleMapsApiSigner.new
expect(gmas.sign(user, url)).to eq "#{url}&client=wds&signature=fK5mHV9MLROw4xZnBPcrCOUdjio="
end
end
describe 'with api_key' do
let(:user) do
FactoryGirl.build(:user, google_maps_key: 'key=xxx')
end
it 'signs google maps urls' do
gmas = GoogleMapsApiSigner.new
expect(gmas.sign(user, url)).to eq "#{url}&key=xxx"
end
end
end
end

@ -0,0 +1,35 @@
# encoding: utf-8
require_relative '../../spec_helper_min.rb'
require 'carto/google_maps_api_signer'
module Carto
describe GoogleMapsApi do
let(:url) { 'https://maps.googleapis.com/maps/api/staticmap?center=40.714%2c-73.998&zoom=12&size=400x400' }
describe '#sign' do
describe 'with client_id' do
# You can generate test signature with https://developers.google.com/maps/documentation/static-maps/get-api-key
let(:user) do
FactoryGirl.build(:user, google_maps_key: 'client=wds', google_maps_private_key: 'MjM0MzJk-3N_czQzJmFkc2Rhc2Q=')
end
it 'signs google maps urls' do
gmas = GoogleMapsApi.new
expect(gmas.sign(user, url)).to eq "#{url}&client=wds&signature=fK5mHV9MLROw4xZnBPcrCOUdjio="
end
end
describe 'with api_key' do
let(:user) do
FactoryGirl.build(:user, google_maps_key: 'key=xxx')
end
it 'signs google maps urls' do
gmas = GoogleMapsApi.new
expect(gmas.sign(user, url)).to eq "#{url}&key=xxx"
end
end
end
end
end
Loading…
Cancel
Save