From 710a2c1a2ecbce1a6280eaf0668b5400a5ca3248 Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Mon, 11 Jan 2021 12:01:37 -0500 Subject: [PATCH] Use SiteConfig twitter keys before env (#12200) * Use SiteConfig twitter keys before env * Add basic regression test --- app/services/twitter_client/client.rb | 4 ++-- spec/services/twitter_client/client_spec.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/services/twitter_client/client.rb b/app/services/twitter_client/client.rb index 06e4cebb7..2e39bd80d 100644 --- a/app/services/twitter_client/client.rb +++ b/app/services/twitter_client/client.rb @@ -57,8 +57,8 @@ module TwitterClient def target Twitter::REST::Client.new( - consumer_key: ApplicationConfig["TWITTER_KEY"], - consumer_secret: ApplicationConfig["TWITTER_SECRET"], + consumer_key: SiteConfig.twitter_key.presence || ApplicationConfig["TWITTER_KEY"], + consumer_secret: SiteConfig.twitter_secret.presence || ApplicationConfig["TWITTER_SECRET"], user_agent: "TwitterRubyGem/#{Twitter::Version} (#{URL.url})", timeouts: { connect: 5, diff --git a/spec/services/twitter_client/client_spec.rb b/spec/services/twitter_client/client_spec.rb index 54ffff380..daefd1ee6 100644 --- a/spec/services/twitter_client/client_spec.rb +++ b/spec/services/twitter_client/client_spec.rb @@ -11,6 +11,14 @@ RSpec.describe TwitterClient::Client, type: :service, vcr: true do end end + it "works properly when SiteConfig is set" do + VCR.use_cassette("twitter_client_status") do + allow(SiteConfig).to receive(:twitter_key).and_return("test") + tweet = described_class.status(tweet_id) + expect(tweet.text).to be_present + end + end + it "raises NotFound if the status does not exist" do VCR.use_cassette("twitter_client_status_not_found") do expect do