From 1bc18a5bf4a1070b9b12a8f5501fd7d9f24aaffe Mon Sep 17 00:00:00 2001 From: David Taylor <david@taylorhq.com> Date: Fri, 5 Jul 2024 12:28:16 +0100 Subject: [PATCH] DEV: Remove spec following revert in 92d7d24d0f (#27736) This spec was introduced as part of the original commit (8e10878e1a), but was missed from the revert. --- spec/lib/discourse_logstash_logger_spec.rb | 136 --------------------- 1 file changed, 136 deletions(-) delete mode 100644 spec/lib/discourse_logstash_logger_spec.rb diff --git a/spec/lib/discourse_logstash_logger_spec.rb b/spec/lib/discourse_logstash_logger_spec.rb deleted file mode 100644 index e094e2c18ed..00000000000 --- a/spec/lib/discourse_logstash_logger_spec.rb +++ /dev/null @@ -1,136 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe DiscourseLogstashLogger do - let(:lograge_logstash_formatter_formatted_message) do - "{\"method\":\"GET\",\"path\":\"/\",\"format\":\"html\",\"controller\":\"ListController\",\"action\":\"latest\",\"status\":200,\"allocations\":242307,\"duration\":178.2,\"view\":78.36,\"db\":0.0,\"params\":\"\",\"ip\":\"127.0.0.1\",\"username\":null,\"@timestamp\":\"2024-07-01T07:51:11.283Z\",\"@version\":\"1\",\"message\":\"[200] GET / (ListController#latest)\"}" - end - - let(:output) { StringIO.new } - let(:logger) { described_class.logger(logdev: output, type: "test") } - - describe "#add" do - it "logs a JSON string with the right fields" do - logger.add(Logger::INFO, lograge_logstash_formatter_formatted_message) - output.rewind - - expect(output.read.chomp).to eq( - { - "message" => "[200] GET / (ListController#latest)", - "severity" => 1, - "severity_name" => "INFO", - "pid" => described_class::PROCESS_PID, - "type" => "test", - "host" => described_class::HOST, - "method" => "GET", - "path" => "/", - "format" => "html", - "controller" => "ListController", - "action" => "latest", - "status" => 200, - "allocations" => 242_307, - "duration" => 178.2, - "view" => 78.36, - "db" => 0.0, - "params" => "", - "ip" => "127.0.0.1", - "username" => nil, - "@timestamp" => "2024-07-01T07:51:11.283Z", - "@version" => "1", - }.to_json, - ) - end - - it "logs a JSON string with the right fields when `customize_event` attribute is set" do - logger = - described_class.logger( - logdev: output, - type: "test", - customize_event: ->(event) { event["custom"] = "custom" }, - ) - - logger.add(Logger::INFO, lograge_logstash_formatter_formatted_message) - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed["custom"]).to eq("custom") - end - - it "does not log a JSON string with the `backtrace` field when severity is less than `Logger::WARN`" do - logger.add( - Logger::INFO, - lograge_logstash_formatter_formatted_message, - nil, - backtrace: "backtrace", - ) - - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed).not_to have_key("backtrace") - end - - it "logs a JSON string with the `backtrace` field when severity is at least `Logger::WARN`" do - logger.add( - Logger::ERROR, - lograge_logstash_formatter_formatted_message, - nil, - backtrace: "backtrace", - ) - - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed["backtrace"]).to eq("backtrace") - end - - described_class::ALLOWED_HEADERS_FROM_ENV.each do |header| - it "does not include `#{header}` from `env` keyword argument in the logged JSON string when severity is less than `Logger::WARN`" do - logger.add( - Logger::INFO, - lograge_logstash_formatter_formatted_message, - nil, - env: { - header => "header", - }, - ) - - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed).not_to have_key("request.headers.#{header.downcase}") - end - - it "includes `#{header}` from `env` keyword argument in the logged JSON string when severity is at least `Logger::WARN`" do - logger.add( - Logger::ERROR, - lograge_logstash_formatter_formatted_message, - nil, - env: { - header => "header", - }, - ) - - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed["request.headers.#{header.downcase}"]).to eq("header") - end - end - - it "does not include keys from `env` keyword argument in the logged JSOn string which are not in the allow list" do - logger.add( - Logger::ERROR, - lograge_logstash_formatter_formatted_message, - nil, - env: { - "SOME_RANDOM_HEADER" => "header", - }, - ) - - output.rewind - parsed = JSON.parse(output.read.chomp) - - expect(parsed).not_to have_key("request.headers.some_random_header") - end - end -end