Don't generate security configuration paths in FOSS

Ensures that security configuration paths are only generated and passed
to the pipeline editor in EE.
parent 4371aec5
# frozen_string_literal: true
module Projects::Ci::PipelineEditorHelper
def js_pipeline_editor_data(project)
{
"ci-config-path": project.ci_config_path_or_default,
"commit-sha" => project.commit ? project.commit.sha : '',
"default-branch" => project.default_branch,
"empty-state-illustration-path" => image_path('illustrations/empty-state/empty-dag-md.svg'),
"initial-branch-name": params[:branch_name],
"lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'),
"new-merge-request-path" => namespace_project_new_merge_request_path,
"project-path" => project.path,
"project-full-path" => project.full_path,
"project-namespace" => project.namespace.full_path,
"yml-help-page-path" => help_page_path('ci/yaml/README')
}
end
end
- page_title s_('Pipelines|Pipeline Editor')
#js-pipeline-editor{ data: { "ci-config-path": @project.ci_config_path_or_default,
"commit-sha" => @project.commit ? @project.commit.sha : '',
"default-branch" => @project.default_branch,
"empty-state-illustration-path" => image_path('illustrations/empty-state/empty-dag-md.svg'),
"initial-branch-name": params[:branch_name],
"lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'),
"new-merge-request-path" => namespace_project_new_merge_request_path,
"project-path" => @project.path,
"project-full-path" => @project.full_path,
"project-namespace" => @project.namespace.full_path,
"yml-help-page-path" => help_page_path('ci/yaml/README'),
"api-fuzzing-configuration-path" => project_security_configuration_api_fuzzing_path(@project),
} }
#js-pipeline-editor{ data: js_pipeline_editor_data(@project) }
# frozen_string_literal: true
module EE::Projects::Ci::PipelineEditorHelper
extend ::Gitlab::Utils::Override
override :js_pipeline_editor_data
def js_pipeline_editor_data(project)
super.merge(
"api-fuzzing-configuration-path" => project_security_configuration_api_fuzzing_path(project)
)
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe EE::Projects::Ci::PipelineEditorHelper do
let_it_be(:project) { create(:project, :public, :repository) }
describe '#js_pipeline_editor_data' do
before do
allow(helper).to receive(:namespace_project_new_merge_request_path).and_return('/mock/project/-/merge_requests/new')
end
subject { helper.js_pipeline_editor_data(project) }
it {
is_expected.to eq({
"ci-config-path": project.ci_config_path_or_default,
"commit-sha" => project.commit.sha,
"default-branch" => project.default_branch,
"empty-state-illustration-path" => match_asset_path('/assets/illustrations/empty-state/empty-dag-md.svg'),
"initial-branch-name": nil,
"lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'),
"new-merge-request-path" => '/mock/project/-/merge_requests/new',
"project-path" => project.path,
"project-full-path" => project.full_path,
"project-namespace" => project.namespace.full_path,
"yml-help-page-path" => help_page_path('ci/yaml/README'),
"api-fuzzing-configuration-path" => project_security_configuration_api_fuzzing_path(project)
})
}
end
end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Projects::Ci::PipelineEditorHelper do
let_it_be(:project) { create(:project, :public, :repository) }
describe '#js_pipeline_editor_data' do
before do
allow(helper).to receive(:namespace_project_new_merge_request_path).and_return('/mock/project/-/merge_requests/new')
end
subject { helper.js_pipeline_editor_data(project) }
it {
is_expected.to eq({
"ci-config-path": project.ci_config_path_or_default,
"commit-sha" => project.commit.sha,
"default-branch" => project.default_branch,
"empty-state-illustration-path" => match_asset_path('/assets/illustrations/empty-state/empty-dag-md.svg'),
"initial-branch-name": nil,
"lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'),
"new-merge-request-path" => '/mock/project/-/merge_requests/new',
"project-path" => project.path,
"project-full-path" => project.full_path,
"project-namespace" => project.namespace.full_path,
"yml-help-page-path" => help_page_path('ci/yaml/README')
})
}
end
end
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