Commit f647525a authored by Kamil Trzciński's avatar Kamil Trzciński

Remove `promo_` implicit licensed feature flags

It appears that we did never use this feature.
To reduce amount of feature flags we should remove
it and add it if this is deems to be needed.
parent 7a9bd50d
...@@ -35,7 +35,3 @@ the instance license. ...@@ -35,7 +35,3 @@ the instance license.
```ruby ```ruby
License.feature_available?(:feature_symbol) License.feature_available?(:feature_symbol)
``` ```
## Enabling promo features on GitLab.com
A paid feature can be made available to everyone on GitLab.com by enabling the feature flag `"promo_#{feature}"`.
...@@ -148,8 +148,6 @@ module EE ...@@ -148,8 +148,6 @@ module EE
end end
def feature_available_in_plan?(feature) def feature_available_in_plan?(feature)
return true if ::License.promo_feature_available?(feature)
available_features = strong_memoize(:features_available_in_plan) do available_features = strong_memoize(:features_available_in_plan) do
Hash.new do |h, f| Hash.new do |h, f|
h[f] = (plans.map(&:name) & self.class.plans_with_feature(f)).any? h[f] = (plans.map(&:name) & self.class.plans_with_feature(f)).any?
......
...@@ -298,10 +298,6 @@ class License < ApplicationRecord ...@@ -298,10 +298,6 @@ class License < ApplicationRecord
Gitlab::CurrentSettings.license_trial_ends_on Gitlab::CurrentSettings.license_trial_ends_on
end end
def promo_feature_available?(feature)
::Feature.enabled?("promo_#{feature}", default_enabled: false)
end
def history def history
all.sort_by { |license| [license.starts_at, license.created_at, license.expires_at] }.reverse all.sort_by { |license| [license.starts_at, license.created_at, license.expires_at] }.reverse
end end
......
...@@ -368,25 +368,6 @@ RSpec.describe Namespace do ...@@ -368,25 +368,6 @@ RSpec.describe Namespace do
end end
end end
context 'when the feature is temporarily available on the entire instance' do
let(:feature) { :ci_cd_projects }
before do
stub_application_setting_on_object(group, should_check_namespace_plan: true)
stub_feature_flags(promo_ci_cd_projects: true)
end
it 'returns true when the feature is available globally' do
stub_licensed_features(feature => true)
is_expected.to be_truthy
end
it 'returns `false` when the feature is not included in the global license' do
is_expected.to be_falsy
end
end
context 'when feature is disabled by a feature flag' do context 'when feature is disabled by a feature flag' do
it 'returns false' do it 'returns false' do
stub_feature_flags(feature => false) stub_feature_flags(feature => false)
......
...@@ -850,26 +850,6 @@ RSpec.describe License do ...@@ -850,26 +850,6 @@ RSpec.describe License do
end end
end end
describe '#promo_feature_available?' do
subject { described_class.promo_feature_available?(:container_scanning) }
context 'with promo_container_scanning disabled' do
before do
stub_feature_flags(promo_container_scanning: false)
end
it { is_expected.to be_falsey }
end
context 'with promo_container_scanning enabled' do
before do
stub_feature_flags(promo_container_scanning: true)
end
it { is_expected.to be_truthy }
end
end
describe '.history' do describe '.history' do
before(:all) do before(:all) do
described_class.delete_all described_class.delete_all
......
...@@ -809,17 +809,6 @@ RSpec.describe Project do ...@@ -809,17 +809,6 @@ RSpec.describe Project do
is_expected.to eq(false) is_expected.to eq(false)
end end
end end
context 'with promo feature flag' do
let(:allowed_on_global_license) { true }
before do
project.clear_memoization(:licensed_feature_available)
stub_feature_flags("promo_#{feature}" => true)
end
it { is_expected.to be_truthy }
end
end end
end end
......
...@@ -37,10 +37,7 @@ module StubbedFeature ...@@ -37,10 +37,7 @@ module StubbedFeature
# We do `m.call` as we want to validate the execution of method arguments # We do `m.call` as we want to validate the execution of method arguments
# and a feature flag state if it is not persisted # and a feature flag state if it is not persisted
unless Feature.persisted_name?(args.first) unless Feature.persisted_name?(args.first)
# TODO: this is hack to support `promo_feature_available?` feature_flag = true
# We enable all feature flags by default unless they are `promo_`
# Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/218667
feature_flag = true unless args.first.to_s.start_with?('promo_')
end end
feature_flag feature_flag
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment