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