diff --git a/app/controllers/projects/google_cloud/base_controller.rb b/app/controllers/projects/google_cloud/base_controller.rb index f6039d016030769809cce34621dab890e437b98e..3a702b04ffa1c862caaff0c4056a65929600f8ed 100644 --- a/app/controllers/projects/google_cloud/base_controller.rb +++ b/app/controllers/projects/google_cloud/base_controller.rb @@ -6,7 +6,6 @@ class Projects::GoogleCloud::BaseController < Projects::ApplicationController before_action :admin_project_google_cloud! before_action :google_oauth2_enabled! - before_action :feature_flag_enabled! private @@ -25,17 +24,6 @@ def google_oauth2_enabled! end end - def feature_flag_enabled! - enabled_for_user = Feature.enabled?(:incubation_5mp_google_cloud, current_user) - enabled_for_group = Feature.enabled?(:incubation_5mp_google_cloud, project.group) - enabled_for_project = Feature.enabled?(:incubation_5mp_google_cloud, project) - feature_is_enabled = enabled_for_user || enabled_for_group || enabled_for_project - unless feature_is_enabled - track_event(:error_feature_flag_not_enabled) - access_denied! - end - end - def validate_gcp_token! is_token_valid = GoogleApi::CloudPlatform::Client.new(token_in_session, nil) .validate_token(expires_at_in_session) diff --git a/config/feature_flags/development/incubation_5mp_google_cloud.yml b/config/feature_flags/development/incubation_5mp_google_cloud.yml deleted file mode 100644 index e2118e659618f0e896fae9cd092e157c5e757c33..0000000000000000000000000000000000000000 --- a/config/feature_flags/development/incubation_5mp_google_cloud.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: incubation_5mp_google_cloud -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70715 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371332 -milestone: '14.3' -type: development -group: group::incubation -default_enabled: true diff --git a/lib/sidebars/projects/menus/infrastructure_menu.rb b/lib/sidebars/projects/menus/infrastructure_menu.rb index 448285fb773d6e5cd5471e01eefe9de4ff579df7..5cdc5a2432d9543ddf684540abe2b38230afd4f5 100644 --- a/lib/sidebars/projects/menus/infrastructure_menu.rb +++ b/lib/sidebars/projects/menus/infrastructure_menu.rb @@ -94,15 +94,10 @@ def aws_menu_item end def google_cloud_menu_item - enabled_for_user = Feature.enabled?(:incubation_5mp_google_cloud, context.current_user) - enabled_for_group = Feature.enabled?(:incubation_5mp_google_cloud, context.project.group) - enabled_for_project = Feature.enabled?(:incubation_5mp_google_cloud, context.project) - feature_is_enabled = enabled_for_user || enabled_for_group || enabled_for_project user_has_permissions = can?(context.current_user, :admin_project_google_cloud, context.project) - google_oauth2_configured = google_oauth2_configured? - unless feature_is_enabled && user_has_permissions && google_oauth2_configured + unless user_has_permissions && google_oauth2_configured return ::Sidebars::NilMenuItem.new(item_id: :incubation_5mp_google_cloud) end diff --git a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb index 057b7060a7699f10576fe1d320f74e2fbad30333..517502ee7c3cb9ddb424dbbfd2a944a6491150aa 100644 --- a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb @@ -130,41 +130,8 @@ def find_menu_item(menu_item) it_behaves_like 'access rights checks' - context 'when feature flag is turned off globally' do - before do - stub_feature_flags(incubation_5mp_google_cloud: false) - end - - it { is_expected.to be_nil } - - context 'when feature flag is enabled for specific project' do - before do - stub_feature_flags(incubation_5mp_google_cloud: project) - end - - it_behaves_like 'access rights checks' - end - - context 'when feature flag is enabled for specific group' do - before do - stub_feature_flags(incubation_5mp_google_cloud: project.group) - end - - it_behaves_like 'access rights checks' - end - - context 'when feature flag is enabled for specific project' do - before do - stub_feature_flags(incubation_5mp_google_cloud: user) - end - - it_behaves_like 'access rights checks' - end - end - context 'when instance is not configured for Google OAuth2' do before do - stub_feature_flags(incubation_5mp_google_cloud: true) unconfigured_google_oauth2 = Struct.new(:app_id, :app_secret).new('', '') allow(Gitlab::Auth::OAuth::Provider).to receive(:config_for) .with('google_oauth2') diff --git a/spec/requests/projects/google_cloud/configuration_controller_spec.rb b/spec/requests/projects/google_cloud/configuration_controller_spec.rb index ab0cd6109f5a058cec28b07bddb27dfb356c677c..8638ca9df261af8249c901a517cb8f37915b5527 100644 --- a/spec/requests/projects/google_cloud/configuration_controller_spec.rb +++ b/spec/requests/projects/google_cloud/configuration_controller_spec.rb @@ -68,29 +68,6 @@ end end - context 'but feature flag is disabled' do - before do - stub_feature_flags(incubation_5mp_google_cloud: false) - end - - it 'returns not found' do - authorized_members.each do |authorized_member| - sign_in(authorized_member) - - get url - - expect(response).to have_gitlab_http_status(:not_found) - expect_snowplow_event( - category: 'Projects::GoogleCloud::ConfigurationController', - action: 'error_feature_flag_not_enabled', - label: nil, - project: project, - user: authorized_member - ) - end - end - end - context 'but google oauth2 token is not valid' do it 'does not return revoke oauth url' do allow_next_instance_of(GoogleApi::CloudPlatform::Client) do |client| diff --git a/spec/requests/projects/google_cloud/databases_controller_spec.rb b/spec/requests/projects/google_cloud/databases_controller_spec.rb index 46f6d27644c1e74b57740d11fbf8af91ae800622..31a4963b5c1aec89924341399d3ac9a81b1d3b64 100644 --- a/spec/requests/projects/google_cloud/databases_controller_spec.rb +++ b/spec/requests/projects/google_cloud/databases_controller_spec.rb @@ -6,8 +6,6 @@ shared_examples 'shared examples for database controller endpoints' do include_examples 'requires `admin_project_google_cloud` role' - include_examples 'requires feature flag `incubation_5mp_google_cloud` enabled' - include_examples 'requires valid Google OAuth2 configuration' include_examples 'requires valid Google Oauth2 token' do diff --git a/spec/requests/projects/google_cloud/gcp_regions_controller_spec.rb b/spec/requests/projects/google_cloud/gcp_regions_controller_spec.rb index da000ec00c0deebd6f2c694aa4ea9630d5657fa8..9105114487fdd8b5f90615dfbd6654c0f796783b 100644 --- a/spec/requests/projects/google_cloud/gcp_regions_controller_spec.rb +++ b/spec/requests/projects/google_cloud/gcp_regions_controller_spec.rb @@ -35,19 +35,6 @@ end end - RSpec.shared_examples "should track feature_flag_disabled event" do |user| - it "tracks event" do - is_expected.to be(404) - expect_snowplow_event( - category: 'Projects::GoogleCloud::GcpRegionsController', - action: 'error_feature_flag_not_enabled', - label: nil, - project: project, - user: user_maintainer - ) - end - end - RSpec.shared_examples "should track gcp_error event" do |config| it "tracks event" do is_expected.to be(403) @@ -116,15 +103,6 @@ it_behaves_like "should be forbidden" it_behaves_like "should track gcp_error event", unconfigured_google_oauth2 end - - context 'but feature flag is disabled' do - before do - stub_feature_flags(incubation_5mp_google_cloud: false) - end - - it_behaves_like "should be not found" - it_behaves_like "should track feature_flag_disabled event" - end end end diff --git a/spec/requests/projects/google_cloud/service_accounts_controller_spec.rb b/spec/requests/projects/google_cloud/service_accounts_controller_spec.rb index 29d4154329f7536b2c42d3cf72cb1a27fbcd7999..120107c2317a17e4e9462f0f72161dae54c5915a 100644 --- a/spec/requests/projects/google_cloud/service_accounts_controller_spec.rb +++ b/spec/requests/projects/google_cloud/service_accounts_controller_spec.rb @@ -250,22 +250,6 @@ end end end - - context 'but feature flag is disabled' do - before do - stub_feature_flags(incubation_5mp_google_cloud: false) - end - - it 'returns not found' do - authorized_members.each do |authorized_member| - sign_in(authorized_member) - - get url - - expect(response).to have_gitlab_http_status(:not_found) - end - end - end end end end diff --git a/spec/support/shared_examples/requests/projects/google_cloud/google_cloud_ff_examples.rb b/spec/support/shared_examples/requests/projects/google_cloud/google_cloud_ff_examples.rb deleted file mode 100644 index d49fe517c60482d4647eb3c591e4965dc42d0b7a..0000000000000000000000000000000000000000 --- a/spec/support/shared_examples/requests/projects/google_cloud/google_cloud_ff_examples.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -RSpec.shared_examples 'requires feature flag `incubation_5mp_google_cloud` enabled' do - context 'when feature flag is disabled' do - before do - project.add_maintainer(user) - stub_feature_flags(incubation_5mp_google_cloud: false) - end - - it 'renders not found' do - sign_in(user) - - subject - - expect(response).to have_gitlab_http_status(:not_found) - end - end -end