diff options
author | ThibG <thib@sitedethib.com> | 2020-07-22 11:44:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-22 11:44:02 +0200 |
commit | f55dd193f9a62623054dba1537d01bd7f5cd32f3 (patch) | |
tree | 1aa839a7498ea0e0bac4d2baf140a491fb022da0 /spec/controllers/activitypub/outboxes_controller_spec.rb | |
parent | bcf85b5208c936486550da0ce978098840218073 (diff) |
Fix RSS feeds not being cachable (#14368)
* Add tests for some cachable responses This only covers responses that we should have managed to make cachable so far. It's not the case of all responses that should be cachable in the end. * Fix RSS feeds not being cachable
Diffstat (limited to 'spec/controllers/activitypub/outboxes_controller_spec.rb')
-rw-r--r-- | spec/controllers/activitypub/outboxes_controller_spec.rb | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/spec/controllers/activitypub/outboxes_controller_spec.rb b/spec/controllers/activitypub/outboxes_controller_spec.rb index 03490533d..1baf5a623 100644 --- a/spec/controllers/activitypub/outboxes_controller_spec.rb +++ b/spec/controllers/activitypub/outboxes_controller_spec.rb @@ -3,6 +3,21 @@ require 'rails_helper' RSpec.describe ActivityPub::OutboxesController, type: :controller do let!(:account) { Fabricate(:account) } + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + before do Fabricate(:status, account: account, visibility: :public) Fabricate(:status, account: account, visibility: :unlisted) @@ -39,9 +54,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(json[:totalItems]).to eq 4 end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' end context 'with page requested' do @@ -62,9 +75,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(json[:orderedItems].all? { |item| item[:to].include?(ActivityPub::TagManager::COLLECTIONS[:public]) || item[:cc].include?(ActivityPub::TagManager::COLLECTIONS[:public]) }).to be true end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' end end |