summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/raw_controller_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 18:13:03 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 18:13:03 +0000
commit29f6c0bff81cae77435342e46d1f439ac16a57d1 (patch)
tree9e48603e2818e9c56ac937743fd23f1d0fcf6529 /spec/controllers/projects/raw_controller_spec.rb
parentb962adf4c32f2371ad0d8bfcdc444933943d3cd9 (diff)
downloadgitlab-ce-29f6c0bff81cae77435342e46d1f439ac16a57d1.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers/projects/raw_controller_spec.rb')
-rw-r--r--spec/controllers/projects/raw_controller_spec.rb25
1 files changed, 22 insertions, 3 deletions
diff --git a/spec/controllers/projects/raw_controller_spec.rb b/spec/controllers/projects/raw_controller_spec.rb
index e0d88fa799f..1c9aafacbd9 100644
--- a/spec/controllers/projects/raw_controller_spec.rb
+++ b/spec/controllers/projects/raw_controller_spec.rb
@@ -247,9 +247,11 @@ RSpec.describe Projects::RawController do
sign_in create(:user)
request_file
- expect(response.cache_control[:public]).to eq(true)
- expect(response.cache_control[:max_age]).to eq(60)
+ expect(response.headers['ETag']).to eq("\"bdd5aa537c1e1f6d1b66de4bac8a6132\"")
expect(response.cache_control[:no_store]).to be_nil
+ expect(response.header['Cache-Control']).to eq(
+ 'max-age=60, public, must-revalidate, stale-while-revalidate=60, stale-if-error=300, s-maxage=60'
+ )
end
context 'when a public project has private repo' do
@@ -260,7 +262,9 @@ RSpec.describe Projects::RawController do
sign_in user
request_file
- expect(response.header['Cache-Control']).to include('max-age=60, private')
+ expect(response.header['Cache-Control']).to eq(
+ 'max-age=60, private, must-revalidate, stale-while-revalidate=60, stale-if-error=300, s-maxage=60'
+ )
end
end
@@ -274,6 +278,21 @@ RSpec.describe Projects::RawController do
expect(response).to have_gitlab_http_status(:not_modified)
end
end
+
+ context 'when improve_blobs_cache_headers disabled' do
+ before do
+ stub_feature_flags(improve_blobs_cache_headers: false)
+ end
+
+ it 'uses weak etags with a restricted set of headers' do
+ sign_in create(:user)
+ request_file
+
+ expect(response.headers['ETag']).to eq("W/\"bdd5aa537c1e1f6d1b66de4bac8a6132\"")
+ expect(response.cache_control[:no_store]).to be_nil
+ expect(response.header['Cache-Control']).to eq('max-age=60, public')
+ end
+ end
end
end
end