Use SiteConfig twitter keys before env (#12200)

* Use SiteConfig twitter keys before env

* Add basic regression test
This commit is contained in:
Ben Halpern 2021-01-11 12:01:37 -05:00 committed by GitHub
parent 99a4d7c141
commit 710a2c1a2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -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,

View file

@ -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