Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2018-10-16 11:35:08 +0300
committerSean McGivern <sean@mcgivern.me.uk>2018-10-16 11:35:08 +0300
commit59af98f133ee229479c6159b15391deb4782a294 (patch)
tree8a1034a4d2239a8939c90f0d5d7b1edd9f3f0af7
parent6ea674d1796488f784083eab53becb86330343cb (diff)
parentc6a4c9231e983f2bd5f0c2115a5c9c16fd18bfb2 (diff)
Merge branch 'rails5-fix-utf' into 'master'
Use InvalidUTF8ErrorHandler only for rails 4 Closes #51908 See merge request gitlab-org/gitlab-ce!22340
-rw-r--r--app/controllers/application_controller.rb4
-rw-r--r--spec/controllers/application_controller_spec.rb26
2 files changed, 22 insertions, 8 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index bbeaeb7694e..eeabcc0c9bb 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -12,7 +12,9 @@ class ApplicationController < ActionController::Base
include WorkhorseHelper
include EnforcesTwoFactorAuthentication
include WithPerformanceBar
- include InvalidUTF8ErrorHandler
+ # this can be removed after switching to rails 5
+ # https://gitlab.com/gitlab-org/gitlab-ce/issues/51908
+ include InvalidUTF8ErrorHandler unless Gitlab.rails5?
before_action :authenticate_sessionless_user!
before_action :authenticate_user!
diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb
index a8556771edd..be3fc832008 100644
--- a/spec/controllers/application_controller_spec.rb
+++ b/spec/controllers/application_controller_spec.rb
@@ -685,22 +685,34 @@ describe ApplicationController do
end
context 'html' do
+ subject { get :index, text: "hi \255" }
+
it 'renders 412' do
- get :index, text: "hi \255"
+ if Gitlab.rails5?
+ expect { subject }.to raise_error(ActionController::BadRequest)
+ else
+ subject
- expect(response).to have_gitlab_http_status(412)
- expect(response).to render_template :precondition_failed
+ expect(response).to have_gitlab_http_status(412)
+ expect(response).to render_template :precondition_failed
+ end
end
end
context 'js' do
+ subject { get :index, text: "hi \255", format: :js }
+
it 'renders 412' do
- get :index, text: "hi \255", format: :js
+ if Gitlab.rails5?
+ expect { subject }.to raise_error(ActionController::BadRequest)
+ else
+ subject
- json_response = JSON.parse(response.body)
+ json_response = JSON.parse(response.body)
- expect(response).to have_gitlab_http_status(412)
- expect(json_response['error']).to eq('Invalid UTF-8')
+ expect(response).to have_gitlab_http_status(412)
+ expect(json_response['error']).to eq('Invalid UTF-8')
+ end
end
end
end