Skip to content
Snippets Groups Projects
Commit 44daeea6 authored by Mayra Cabrera's avatar Mayra Cabrera :zero:
Browse files

Merge branch...

Merge branch '369317-add-a-meaningful-audit-event-name-for-merge_trains_enabled-in-project-cicd-settings' into 'master'

Add a meaningful audit event name changes in Project CICD settings

See merge request gitlab-org/gitlab!107428



Merged-by: default avatarMayra Cabrera <mcabrera@gitlab.com>
Approved-by: default avatarValery Sizov <valery@gitlab.com>
Approved-by: default avatarMayra Cabrera <mcabrera@gitlab.com>
Co-authored-by: Nate Rosandich's avatarnrosandich <nrosandich@gitlab.com>
parents 1b029f84 ee970821
No related branches found
No related tags found
1 merge request!107428Add a meaningful audit event name changes in Project CICD settings
Pipeline #728385861 passed
......@@ -12,11 +12,23 @@ def execute
return if model.blank?
if should_audit?(:merge_pipelines_enabled)
audit_changes(:merge_pipelines_enabled, as: 'merge_pipelines_enabled', entity: @project, model: model)
audit_changes(
:merge_pipelines_enabled,
as: 'merge_pipelines_enabled',
entity: @project,
model: model,
event_type: 'project_cicd_merge_pipelines_enabled_updated'
)
end
if should_audit?(:merge_trains_enabled)
audit_changes(:merge_trains_enabled, as: 'merge_trains_enabled', entity: @project, model: model)
audit_changes(
:merge_trains_enabled,
as: 'merge_trains_enabled',
entity: @project,
model: model,
event_type: 'project_cicd_merge_trains_enabled_updated'
)
end
nil
......
......@@ -2,16 +2,24 @@
require 'spec_helper'
RSpec.describe Audit::ProjectCiCdSettingChangesAuditor do
RSpec.describe Audit::ProjectCiCdSettingChangesAuditor, feature_category: :audit_events do
using RSpec::Parameterized::TableSyntax
describe '#execute' do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let_it_be(:group) { create(:group) }
let_it_be(:project) do
create(
:project,
group: group
)
end
let_it_be(:ci_cd_settings) { project.ci_cd_settings }
let_it_be(:project_ci_cd_setting_changes_auditor) { described_class.new(user, ci_cd_settings, project) }
before do
stub_licensed_features(extended_audit_events: true)
stub_licensed_features(extended_audit_events: true, external_audit_events: true)
group.external_audit_event_destinations.create!(destination_url: 'http://example.com')
end
context 'when auditable boolean column is changed' do
......@@ -25,12 +33,11 @@
before do
project.ci_cd_settings.update_attribute(column, prev_value)
project.ci_cd_settings.update_attribute(column, new_value)
end
with_them do
it 'creates an audit event' do
project.ci_cd_settings.update_attribute(column, new_value)
expect { project_ci_cd_setting_changes_auditor.execute }.to change(AuditEvent, :count).by(1)
expect(AuditEvent.last.details).to include({
change: column,
......@@ -38,6 +45,13 @@
to: new_value
})
end
it 'streams correct audit event', :aggregate_failures do
event_name = "project_cicd_#{column}_updated"
expect(AuditEvents::AuditEventStreamingWorker).to receive(:perform_async)
.with(event_name, anything, anything)
project_ci_cd_setting_changes_auditor.execute
end
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment