Commit 4bd3d389 authored by Kushal Pandya's avatar Kushal Pandya

Merge branch '347187-cleanup-coorpus-management-feature-flag' into 'master'

Remove corpus management feature flags

See merge request gitlab-org/gitlab!82463
parents b7f77234 b504880a
...@@ -222,14 +222,12 @@ export const securityFeatures = [ ...@@ -222,14 +222,12 @@ export const securityFeatures = [
helpPath: COVERAGE_FUZZING_HELP_PATH, helpPath: COVERAGE_FUZZING_HELP_PATH,
configurationHelpPath: COVERAGE_FUZZING_CONFIG_HELP_PATH, configurationHelpPath: COVERAGE_FUZZING_CONFIG_HELP_PATH,
type: REPORT_TYPE_COVERAGE_FUZZING, type: REPORT_TYPE_COVERAGE_FUZZING,
secondary: gon?.features?.corpusManagementUi secondary: {
? {
type: REPORT_TYPE_CORPUS_MANAGEMENT, type: REPORT_TYPE_CORPUS_MANAGEMENT,
name: CORPUS_MANAGEMENT_NAME, name: CORPUS_MANAGEMENT_NAME,
description: CORPUS_MANAGEMENT_DESCRIPTION, description: CORPUS_MANAGEMENT_DESCRIPTION,
configurationText: CORPUS_MANAGEMENT_CONFIG_TEXT, configurationText: CORPUS_MANAGEMENT_CONFIG_TEXT,
} },
: {},
}, },
]; ];
......
...@@ -1161,8 +1161,6 @@ Input type: `ConfigureSecretDetectionInput` ...@@ -1161,8 +1161,6 @@ Input type: `ConfigureSecretDetectionInput`
### `Mutation.corpusCreate` ### `Mutation.corpusCreate`
Available only when feature flag `corpus_management` is enabled. This flag is enabled by default.
Input type: `CorpusCreateInput` Input type: `CorpusCreateInput`
#### Arguments #### Arguments
...@@ -13789,7 +13787,7 @@ Represents vulnerability finding of a security report on the pipeline. ...@@ -13789,7 +13787,7 @@ Represents vulnerability finding of a security report on the pipeline.
| <a id="projectcontainerexpirationpolicy"></a>`containerExpirationPolicy` | [`ContainerExpirationPolicy`](#containerexpirationpolicy) | Container expiration policy of the project. | | <a id="projectcontainerexpirationpolicy"></a>`containerExpirationPolicy` | [`ContainerExpirationPolicy`](#containerexpirationpolicy) | Container expiration policy of the project. |
| <a id="projectcontainerregistryenabled"></a>`containerRegistryEnabled` | [`Boolean`](#boolean) | Indicates if Container Registry is enabled for the current user. | | <a id="projectcontainerregistryenabled"></a>`containerRegistryEnabled` | [`Boolean`](#boolean) | Indicates if Container Registry is enabled for the current user. |
| <a id="projectcontainerrepositoriescount"></a>`containerRepositoriesCount` | [`Int!`](#int) | Number of container repositories in the project. | | <a id="projectcontainerrepositoriescount"></a>`containerRepositoriesCount` | [`Int!`](#int) | Number of container repositories in the project. |
| <a id="projectcorpuses"></a>`corpuses` | [`CoverageFuzzingCorpusConnection`](#coveragefuzzingcorpusconnection) | Find corpuses of the project. Available only when feature flag `corpus_management` is enabled. This flag is enabled by default. (see [Connections](#connections)) | | <a id="projectcorpuses"></a>`corpuses` | [`CoverageFuzzingCorpusConnection`](#coveragefuzzingcorpusconnection) | Find corpuses of the project. (see [Connections](#connections)) |
| <a id="projectcreatedat"></a>`createdAt` | [`Time`](#time) | Timestamp of the project creation. | | <a id="projectcreatedat"></a>`createdAt` | [`Time`](#time) | Timestamp of the project creation. |
| <a id="projectdastscannerprofiles"></a>`dastScannerProfiles` | [`DastScannerProfileConnection`](#dastscannerprofileconnection) | DAST scanner profiles associated with the project. (see [Connections](#connections)) | | <a id="projectdastscannerprofiles"></a>`dastScannerProfiles` | [`DastScannerProfileConnection`](#dastscannerprofileconnection) | DAST scanner profiles associated with the project. (see [Connections](#connections)) |
| <a id="projectdastsiteprofiles"></a>`dastSiteProfiles` | [`DastSiteProfileConnection`](#dastsiteprofileconnection) | DAST Site Profiles associated with the project. (see [Connections](#connections)) | | <a id="projectdastsiteprofiles"></a>`dastSiteProfiles` | [`DastSiteProfileConnection`](#dastsiteprofileconnection) | DAST Site Profiles associated with the project. (see [Connections](#connections)) |
...@@ -144,12 +144,8 @@ You can download the JSON report file from the CI/CD pipelines page. For more in ...@@ -144,12 +144,8 @@ You can download the JSON report file from the CI/CD pipelines page. For more in
## Corpus registry ## Corpus registry
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5017) in GitLab 14.8. > - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5017) in GitLab 14.8.
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/347187) in GitLab 14.9. [Feature flags `corpus_management` and `corpus_management_ui`](https://gitlab.com/gitlab-org/gitlab/-/issues/328418) removed.
FLAG:
On self-managed GitLab, by default this feature is available. To hide the feature, ask an
administrator to [disable the feature flags](../../../administration/feature_flags.md) named
`corpus_management` and `corpus_management_ui`. On GitLab.com, this feature is available.
The corpus registry is a library of corpuses. Corpuses in a project's registry are available to The corpus registry is a library of corpuses. Corpuses in a project's registry are available to
all jobs in that project. A project-wide registry is a more efficient way to manage corpuses than all jobs in that project. A project-wide registry is a more efficient way to manage corpuses than
......
...@@ -14,7 +14,6 @@ module EE ...@@ -14,7 +14,6 @@ module EE
before_action only: [:show] do before_action only: [:show] do
push_frontend_feature_flag(:security_auto_fix, project, default_enabled: false) push_frontend_feature_flag(:security_auto_fix, project, default_enabled: false)
push_frontend_feature_flag(:corpus_management_ui, project, default_enabled: :yaml)
push_frontend_feature_flag(:secure_vulnerability_training, project, default_enabled: :yaml) push_frontend_feature_flag(:secure_vulnerability_training, project, default_enabled: :yaml)
end end
......
...@@ -6,7 +6,6 @@ module Projects ...@@ -6,7 +6,6 @@ module Projects
include SecurityAndCompliancePermissions include SecurityAndCompliancePermissions
before_action do before_action do
render_404 unless Feature.enabled?(:corpus_management_ui, @project, default_enabled: :yaml)
authorize_read_coverage_fuzzing! authorize_read_coverage_fuzzing!
end end
......
...@@ -84,7 +84,7 @@ module EE ...@@ -84,7 +84,7 @@ module EE
mount_mutation ::Mutations::IncidentManagement::TimelineEvent::Update mount_mutation ::Mutations::IncidentManagement::TimelineEvent::Update
mount_mutation ::Mutations::IncidentManagement::TimelineEvent::Destroy mount_mutation ::Mutations::IncidentManagement::TimelineEvent::Destroy
mount_mutation ::Mutations::AppSec::Fuzzing::API::CiConfiguration::Create mount_mutation ::Mutations::AppSec::Fuzzing::API::CiConfiguration::Create
mount_mutation ::Mutations::AppSec::Fuzzing::Coverage::Corpus::Create, feature_flag: :corpus_management mount_mutation ::Mutations::AppSec::Fuzzing::Coverage::Corpus::Create
mount_mutation ::Mutations::Projects::SetComplianceFramework mount_mutation ::Mutations::Projects::SetComplianceFramework
mount_mutation ::Mutations::SecurityPolicy::CommitScanExecutionPolicy mount_mutation ::Mutations::SecurityPolicy::CommitScanExecutionPolicy
mount_mutation ::Mutations::SecurityPolicy::AssignSecurityPolicyProject mount_mutation ::Mutations::SecurityPolicy::AssignSecurityPolicyProject
......
...@@ -166,7 +166,6 @@ module EE ...@@ -166,7 +166,6 @@ module EE
field :corpuses, ::Types::AppSec::Fuzzing::Coverage::CorpusType.connection_type, field :corpuses, ::Types::AppSec::Fuzzing::Coverage::CorpusType.connection_type,
null: true, null: true,
resolver: ::Resolvers::AppSec::Fuzzing::Coverage::CorpusesResolver, resolver: ::Resolvers::AppSec::Fuzzing::Coverage::CorpusesResolver,
feature_flag: :corpus_management,
description: "Find corpuses of the project." description: "Find corpuses of the project."
field :push_rules, field :push_rules,
......
...@@ -21,8 +21,6 @@ module Mutations ...@@ -21,8 +21,6 @@ module Mutations
def resolve(full_path:, package_id:) def resolve(full_path:, package_id:)
project = authorized_find!(full_path) project = authorized_find!(full_path)
raise Gitlab::Graphql::Errors::ResourceNotAvailable, 'Feature disabled' unless allowed?(project)
response = ::AppSec::Fuzzing::Coverage::Corpuses::CreateService.new( response = ::AppSec::Fuzzing::Coverage::Corpuses::CreateService.new(
project: project, project: project,
current_user: current_user, current_user: current_user,
...@@ -38,10 +36,6 @@ module Mutations ...@@ -38,10 +36,6 @@ module Mutations
private private
def allowed?(project)
Feature.enabled?(:corpus_management, project, default_enabled: :yaml)
end
def build_response(payload) def build_response(payload)
{ {
errors: [], errors: [],
......
---
name: corpus_management
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51589
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/328418
milestone: '14.8'
type: development
group: group::fuzz testing
default_enabled: true
\ No newline at end of file
---
name: corpus_management_ui
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77279
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/349014
milestone: '14.8'
type: development
group: group::dynamic analysis
default_enabled: true
\ No newline at end of file
...@@ -29,7 +29,7 @@ module EE ...@@ -29,7 +29,7 @@ module EE
dast: project_security_configuration_dast_path(project), dast: project_security_configuration_dast_path(project),
dast_profiles: project_security_configuration_dast_scans_path(project), dast_profiles: project_security_configuration_dast_scans_path(project),
api_fuzzing: project_security_configuration_api_fuzzing_path(project), api_fuzzing: project_security_configuration_api_fuzzing_path(project),
corpus_management: (project_security_configuration_corpus_management_path(project) if ::Feature.enabled?(:corpus_management_ui, project, default_enabled: :yaml)) corpus_management: project_security_configuration_corpus_management_path(project)
} }
end end
end end
......
...@@ -188,7 +188,6 @@ RSpec.describe Projects::Security::ConfigurationController do ...@@ -188,7 +188,6 @@ RSpec.describe Projects::Security::ConfigurationController do
before do before do
stub_feature_flags(security_auto_fix: false) stub_feature_flags(security_auto_fix: false)
stub_feature_flags(corpus_management_ui: false)
request request
end end
......
...@@ -27,26 +27,10 @@ RSpec.describe Mutations::AppSec::Fuzzing::Coverage::Corpus::Create do ...@@ -27,26 +27,10 @@ RSpec.describe Mutations::AppSec::Fuzzing::Coverage::Corpus::Create do
context 'when the feature is licensed' do context 'when the feature is licensed' do
context 'when the user can create a corpus' do context 'when the user can create a corpus' do
context 'when corpus_management feature is enabled' do
before do
stub_feature_flags(corpus_management: true)
end
it 'returns the corpus' do it 'returns the corpus' do
expect(resolve[:corpus]).to eq(corpus) expect(resolve[:corpus]).to eq(corpus)
end end
end end
context 'when corpus_management feature is disabled' do
before do
stub_feature_flags(corpus_management: false)
end
it 'raises the resource not available error' do
expect { resolve }.to raise_error(Gitlab::Graphql::Errors::ResourceNotAvailable)
end
end
end
end end
end end
end end
...@@ -75,19 +75,11 @@ RSpec.describe ::Gitlab::Security::ScanConfiguration do ...@@ -75,19 +75,11 @@ RSpec.describe ::Gitlab::Security::ScanConfiguration do
end end
end end
context 'with a scanner under feature flag' do context 'with a scanner' do
let(:type) { :corpus_management } let(:type) { :corpus_management }
let(:configuration_path) { "/#{project.namespace.path}/#{project.name}/-/security/configuration/corpus_management" } let(:configuration_path) { "/#{project.namespace.path}/#{project.name}/-/security/configuration/corpus_management" }
it { is_expected.to eq(configuration_path) } it { is_expected.to eq(configuration_path) }
context 'when feature flag is disabled' do
before do
stub_feature_flags(corpus_management_ui: false)
end
it { is_expected.to be_nil }
end
end end
end end
......
...@@ -796,8 +796,8 @@ RSpec.describe ProjectPolicy do ...@@ -796,8 +796,8 @@ RSpec.describe ProjectPolicy do
end end
end end
describe 'read_corpus_management' do describe 'coverage_fuzzing' do
context 'when corpus_management feature is available' do context 'when coverage_fuzzing feature is available' do
before do before do
stub_licensed_features(coverage_fuzzing: true) stub_licensed_features(coverage_fuzzing: true)
end end
......
...@@ -13,8 +13,6 @@ RSpec.describe Projects::Security::ConfigurationPresenter do ...@@ -13,8 +13,6 @@ RSpec.describe Projects::Security::ConfigurationPresenter do
before do before do
stub_licensed_features(licensed_scan_types.to_h { |type| [type, true] }) stub_licensed_features(licensed_scan_types.to_h { |type| [type, true] })
stub_feature_flags(corpus_management_ui: false)
end end
describe '#to_html_data_attribute' do describe '#to_html_data_attribute' do
......
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