Sha256: 33e566c21f9045dccebfe51679c0e931a44de67abaab15905f407c6850a051fd

Contents?: true

Size: 1.25 KB

Versions: 12

Compression:

Stored size: 1.25 KB

Contents

require "spec_helper"

describe Savon::LogMessage do

  it "returns the message if it's not XML" do
    message = log_message("hello", [:password], :pretty_print).to_s
    expect(message).to eq("hello")
  end

  it "returns the message if it shouldn't be filtered or pretty printed" do
    Nokogiri.expects(:XML).never

    message = log_message("<hello/>", [], false).to_s
    expect(message).to eq("<hello/>")
  end

  it "pretty prints a given message" do
    message = log_message("<envelope><body>hello</body></envelope>", [], :pretty_print).to_s

    expect(message).to include("\n<envelope>")
    expect(message).to include("\n  <body>")
  end

  it "filters tags in a given message" do
    message = log_message("<root><password>secret</password></root>", [:password], false).to_s
    expect(message).to include("<password>***FILTERED***</password>")
  end

  it "properly applies Proc filter" do
    filter = Proc.new do |document|
      document.xpath('//password').each do |node|
        node.content = "FILTERED"
      end
    end

    message = log_message("<root><password>secret</password></root>", [filter], false).to_s
    expect(message).to include("<password>FILTERED</password>")
  end

  def log_message(*args)
    Savon::LogMessage.new(*args)
  end

end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
savon-SU-2.11.1b spec/savon/log_message_spec.rb
savon-SU-2.11.1 spec/savon/log_message_spec.rb
savon-2.11.1 spec/savon/log_message_spec.rb
savon-2.11.0 spec/savon/log_message_spec.rb
savon-2.10.1 spec/savon/log_message_spec.rb
savon-2.10.0 spec/savon/log_message_spec.rb
savon-2.9.0 spec/savon/log_message_spec.rb
savon-2.8.1 spec/savon/log_message_spec.rb
savon-2.8.0 spec/savon/log_message_spec.rb
savon-2.7.2 spec/savon/log_message_spec.rb
savon-2.7.1 spec/savon/log_message_spec.rb
savon-2.7.0 spec/savon/log_message_spec.rb