From 8001875d13988063300c67e10cc738015387726a Mon Sep 17 00:00:00 2001 From: nrosandich Date: Wed, 21 Dec 2022 15:45:08 +1300 Subject: [PATCH 1/2] Add event name for merge_commit_template change --- .../audit/project_setting_changes_auditor.rb | 17 +++++++++-- .../project_setting_changes_auditor_spec.rb | 28 ++++++++++++++++++- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/ee/lib/audit/project_setting_changes_auditor.rb b/ee/lib/audit/project_setting_changes_auditor.rb index f982f47e2b2440..8b360912c0cd88 100644 --- a/ee/lib/audit/project_setting_changes_auditor.rb +++ b/ee/lib/audit/project_setting_changes_auditor.rb @@ -18,9 +18,20 @@ def execute end audit_squash_option - audit_changes(:merge_commit_template, as: 'merge_commit_template', entity: @project, model: model) - audit_changes(:squash_commit_template, as: 'squash_commit_template', entity: @project, model: model, - event_type: 'squash_commit_template_updated') + audit_changes( + :merge_commit_template, + as: 'merge_commit_template', + entity: @project, + model: model, + event_type: 'merge_commit_template_updated' + ) + audit_changes( + :squash_commit_template, + as: 'squash_commit_template', + entity: @project, + model: model, + event_type: 'squash_commit_template_updated' + ) end def attributes_from_auditable_model(column) diff --git a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb index e113a347133c36..41b2304efabf4f 100644 --- a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb +++ b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Audit::ProjectSettingChangesAuditor do +RSpec.describe Audit::ProjectSettingChangesAuditor, feature_category: :audit_events do using RSpec::Parameterized::TableSyntax describe '#execute' do let_it_be(:user) { create(:user) } @@ -111,6 +111,32 @@ project_setting_changes_auditor.execute end end + + context 'when merge_commit_template is changed' do + before do + project.project_setting.update!(merge_commit_template: 'old merge commit template') + end + + it 'creates an audit event' do + project.project_setting.update!(merge_commit_template: 'new merge commit template') + + expect { project_setting_changes_auditor.execute }.to change(AuditEvent, :count).by(1) + expect(AuditEvent.last.details).to include({ + change: 'merge_commit_template', + from: 'old merge commit template', + to: 'new merge commit template' + }) + end + + it 'streams correct audit event stream' do + project.project_setting.update!(merge_commit_template: 'new merge commit template') + + expect(AuditEvents::AuditEventStreamingWorker).to receive(:perform_async).with( + 'merge_commit_template_updated', anything, anything) + + project_setting_changes_auditor.execute + end + end end end end -- GitLab From e73c92b3d0e0d48bbfad6872da49de5e860d8c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Alexandre=20Cunha?= Date: Wed, 21 Dec 2022 20:23:42 +0000 Subject: [PATCH 2/2] Add aggregate_failures so that the full results are available --- .../audit/project_setting_changes_auditor_spec.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb index 41b2304efabf4f..d03f58e96492d4 100644 --- a/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb +++ b/ee/spec/lib/audit/project_setting_changes_auditor_spec.rb @@ -120,12 +120,14 @@ it 'creates an audit event' do project.project_setting.update!(merge_commit_template: 'new merge commit template') - expect { project_setting_changes_auditor.execute }.to change(AuditEvent, :count).by(1) - expect(AuditEvent.last.details).to include({ - change: 'merge_commit_template', - from: 'old merge commit template', - to: 'new merge commit template' - }) + aggregate_failures do + expect { project_setting_changes_auditor.execute }.to change(AuditEvent, :count).by(1) + expect(AuditEvent.last.details).to include({ + change: 'merge_commit_template', + from: 'old merge commit template', + to: 'new merge commit template' + }) + end end it 'streams correct audit event stream' do -- GitLab