Sha256: d7d19b88f8a75c6bd3d2f6f58c07032e9c39d2a5d212be8b3d78f495382bb860

Contents?: true

Size: 1.8 KB

Versions: 12

Compression:

Stored size: 1.8 KB

Contents

require "pact_broker/webhooks/redact_logs"

module PactBroker
  module Webhooks
    describe RedactLogs do
      describe ".call" do
        let(:values) { [] }

        let(:string) do
          "Authorization: foo\nX-Thing: bar"
        end

        let(:x_auth_string) do
          "X-Authorization: bar foo\nX-Thing: bar"
        end

        let(:x_auth_token) do
          "X-Auth-Token: bar foo\nX-Thing: bar"
        end

        let(:x_authorization_token) do
          "X-Authorization-Token: bar foo\nX-Thing: bar"
        end

        let(:string_lower) do
          "authorization: foo\nX-Thing: bar"
        end

        it "hides the value of the Authorization header" do
          expect(RedactLogs.call(string, values)).to eq "Authorization: [REDACTED]\nX-Thing: bar"
        end

        it "hides the value of the X-Authorization header" do
          expect(RedactLogs.call(x_auth_string, values)).to eq "X-Authorization: [REDACTED]\nX-Thing: bar"
        end

        it "hides the value of the X-Auth-Token header" do
          expect(RedactLogs.call(x_auth_token, values)).to eq "X-Auth-Token: [REDACTED]\nX-Thing: bar"
        end

        it "hides the value of the X-Authorization-Token header" do
          expect(RedactLogs.call(x_authorization_token, values)).to eq "X-Authorization-Token: [REDACTED]\nX-Thing: bar"
        end

        it "hides the value of the authorization header" do
          expect(RedactLogs.call(string_lower, values)).to eq "authorization: [REDACTED]\nX-Thing: bar"
        end

        context "with values" do
          let(:values) { %w[foo bar] }
          let(:string) { "blahfoo\nbar wiffle" }

          it "hides the passed in values" do
            expect(RedactLogs.call(string, values)).to eq "blah********\n******** wiffle"
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.89.1 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.89.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.88.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.87.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.86.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.85.1 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.85.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.84.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.83.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.82.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.81.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb
pact_broker-2.80.0 spec/lib/pact_broker/webhooks/redact_logs_spec.rb