Sha256: 8f478eee0b494b205b9c9ef1c950febf2113cd9c0583b925511213ac0308b499

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

require 'test_helper'

class PayloadParserTest < ActiveSupport::TestCase
  setup do
    @_previous_parsers = RailsMetrics::PayloadParser.parsers.dup
  end

  teardown do
    RailsMetrics::PayloadParser.parsers.replace @_previous_parsers
  end

  delegate :add, :ignore, :filter, :to => RailsMetrics::PayloadParser

  test "a non registered parser returns payload as is" do
    assert_equal Hash[:some => :info], filter("rails_metrics.something", :some => :info)
  end

  test "a parser with hash converts into method calls" do
    add "rails_metrics.something", :except => [:foo, :bar]
    assert_equal Hash[:some => :info], filter("rails_metrics.something", :some => :info,
                                              :foo => :baz, :bar => :baz)
  end

  test "a parser with a block calls the block with payload" do
    add "rails_metrics.something" do |payload|
      assert_equal Hash[:some => :info], payload
      { :foo => :bar }
    end
    assert_equal Hash[:foo => :bar], filter("rails_metrics.something", :some => :info)
  end

  test "a parser can be ignored" do
    ignore "rails_metrics.something"
    assert_nil filter("rails_metrics.something", :some => :info)
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
rails_customerbeats-0.0.5 test/payload_parser_test.rb
rails_customerbeats-0.0.4 test/payload_parser_test.rb
rails_customerbeats-0.3 test/payload_parser_test.rb
rails_metrics-0.1 test/payload_parser_test.rb