summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Leitzen <pleitzen@gitlab.com>2018-12-20 11:04:05 +0100
committerPeter Leitzen <pleitzen@gitlab.com>2019-01-02 15:32:15 +0100
commita9a41f856808034f01dd23836d661ceaedd02426 (patch)
tree94b820f67de499698907d1334b040f5fd0952286
parent1e9a621c7e071adc4f81f53a74d4df8279e387e5 (diff)
downloadgitlab-ce-a9a41f856808034f01dd23836d661ceaedd02426.tar.gz
Check feature flag
-rw-r--r--app/controllers/projects/settings/operations/error_tracking_controller.rb5
-rw-r--r--spec/controllers/projects/settings/operations/error_tracking_controller_spec.rb12
2 files changed, 17 insertions, 0 deletions
diff --git a/app/controllers/projects/settings/operations/error_tracking_controller.rb b/app/controllers/projects/settings/operations/error_tracking_controller.rb
index d0f4b6f287c..9409fcdc541 100644
--- a/app/controllers/projects/settings/operations/error_tracking_controller.rb
+++ b/app/controllers/projects/settings/operations/error_tracking_controller.rb
@@ -5,6 +5,7 @@ module Projects
module Operations
class ErrorTrackingController < Projects::ApplicationController
before_action :authorize_update_environment!
+ before_action :check_feature_flag
def create
result = ::Projects::ErrorTracking::SettingService
@@ -22,6 +23,10 @@ module Projects
private
+ def check_feature_flag
+ render_404 unless Feature.enabled?(:error_tracking, current_user)
+ end
+
def setting_params
params
.require(:error_tracking_setting)
diff --git a/spec/controllers/projects/settings/operations/error_tracking_controller_spec.rb b/spec/controllers/projects/settings/operations/error_tracking_controller_spec.rb
index 0f39ffcca87..2001cfd440f 100644
--- a/spec/controllers/projects/settings/operations/error_tracking_controller_spec.rb
+++ b/spec/controllers/projects/settings/operations/error_tracking_controller_spec.rb
@@ -59,6 +59,18 @@ describe Projects::Settings::Operations::ErrorTrackingController do
end
end
+ context 'with feature flag disabled' do
+ before do
+ stub_feature_flags(error_tracking: false)
+ end
+
+ it 'renders 404' do
+ post :create, params: project_params(project)
+
+ expect(response).to have_gitlab_http_status(:not_found)
+ end
+ end
+
context 'as a reporter' do
before do
project.add_reporter(user)