diff options
author | Rémy Coutable <remy@rymai.me> | 2018-05-22 15:12:47 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-05-24 19:29:29 +0200 |
commit | 660439e968c77f216b0579250d0042d62ea4cb95 (patch) | |
tree | 0a6792ecfc093f33d24cd588c8db764ed20804d8 | |
parent | 981b8ab7bd72c8500f8cc7f64c9eeff36f454851 (diff) | |
download | gitlab-ce-660439e968c77f216b0579250d0042d62ea4cb95.tar.gz |
Reduce CE/EE diff in spec/controllers/projects/environments_controller_spec.rb
Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r-- | app/controllers/projects/environments_controller.rb | 10 | ||||
-rw-r--r-- | spec/controllers/projects/environments_controller_spec.rb | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb index 52d528e816e..0821362f5df 100644 --- a/app/controllers/projects/environments_controller.rb +++ b/app/controllers/projects/environments_controller.rb @@ -7,6 +7,7 @@ class Projects::EnvironmentsController < Projects::ApplicationController before_action :authorize_admin_environment!, only: [:terminal, :terminal_websocket_authorize] before_action :environment, only: [:show, :edit, :update, :stop, :terminal, :terminal_websocket_authorize, :metrics] before_action :verify_api_request!, only: :terminal_websocket_authorize + before_action :expire_etag_cache, only: [:index] def index @environments = project.environments @@ -148,6 +149,15 @@ class Projects::EnvironmentsController < Projects::ApplicationController Gitlab::Workhorse.verify_api_request!(request.headers) end + def expire_etag_cache + return if request.format.json? + + # this forces to reload json content + Gitlab::EtagCaching::Store.new.tap do |store| + store.touch(project_environments_path(project, format: :json)) + end + end + def environment_params params.require(:environment).permit(:name, :external_url) end diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb index ff9ab53d8c3..47d4942acbd 100644 --- a/spec/controllers/projects/environments_controller_spec.rb +++ b/spec/controllers/projects/environments_controller_spec.rb @@ -21,6 +21,13 @@ describe Projects::EnvironmentsController do expect(response).to have_gitlab_http_status(:ok) end + + it 'expires etag cache to force reload environments list' do + expect_any_instance_of(Gitlab::EtagCaching::Store) + .to receive(:touch).with(project_environments_path(project, format: :json)) + + get :index, environment_params + end end context 'when requesting JSON response for folders' do |