From 73fa4263fbed168aa17bd4058dfdc9a78a4ab244 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Tue, 23 Feb 2021 16:47:54 +0530 Subject: [PATCH] FIX: log warning when context is missing when a user is destroyed (#12182) --- app/services/user_destroyer.rb | 1 + spec/services/user_destroyer_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/app/services/user_destroyer.rb b/app/services/user_destroyer.rb index cc70cc3d911..13ebf83cf54 100644 --- a/app/services/user_destroyer.rb +++ b/app/services/user_destroyer.rb @@ -93,6 +93,7 @@ class UserDestroyer deleted_by = @actor end StaffActionLogger.new(deleted_by).log_user_deletion(user, opts.slice(:context)) + Rails.logger.warn("User destroyed without context from: #{caller_locations(14, 1)[0]}") if opts.slice(:context).blank? end MessageBus.publish "/logout", result.id, user_ids: [result.id] end diff --git a/spec/services/user_destroyer_spec.rb b/spec/services/user_destroyer_spec.rb index 9b474bf8e64..8ac418dad90 100644 --- a/spec/services/user_destroyer_spec.rb +++ b/spec/services/user_destroyer_spec.rb @@ -85,6 +85,15 @@ describe UserDestroyer do end end + context 'context is missing' do + it "logs warning message if context is missing" do + messages = track_log_messages(level: Logger::WARN) do + UserDestroyer.new(admin).destroy(user) + end + expect(messages[0][2]).to include("User destroyed without context from:") + end + end + context "with a reviewable post" do let!(:reviewable) { Fabricate(:reviewable, created_by: user) }