Sha256: b0a361e1156b59029299276a1c29fd01e04ead5fb932a22e00c6737a7caacfb0

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

require File.expand_path('../../test_helper', __FILE__)

class TracerTest < Minitest::Test

  should "set trace id" do
    fake_trace = "tracer"
    Imprint::Tracer.set_trace_id(fake_trace, fake_rack_env)
    assert_equal fake_trace, Imprint::Tracer.get_trace_id
  end

  should "set trace timestamp" do
    fake_trace = "tracer"
    Timecop.freeze do
      test_time = Time.now
      Imprint::Tracer.set_trace_id(fake_trace, fake_rack_env)
      # timecop has a bug with millisec time on osx
      # this makes the check ignore millisec
      assert !!Imprint::Tracer.get_trace_timestamp.to_s.match(/#{test_time.to_i.to_s}/)
    end
  end

  should "get trace id defaults" do
    assert_equal Imprint::Tracer::TRACE_ID_DEFAULT, Imprint::Tracer.get_trace_id
    Imprint::Tracer.set_trace_id("fake_trace", fake_rack_env)
    refute_nil Imprint::Tracer.get_trace_id
    Imprint::Tracer.set_trace_id(nil, fake_rack_env)
    assert_equal Imprint::Tracer::TRACE_ID_DEFAULT, Imprint::Tracer.get_trace_id
  end

  should "get trace timestamp defaults" do
    Timecop.freeze do
      test_time = Time.now
      # timecop has a bug with millisec time on osx
      # this makes the check ignore millisec
      assert !!Imprint::Tracer.get_trace_timestamp.to_s.match(/#{test_time.to_i.to_s}/)
    end
  end
  
  should "generate rand trace id" do
    trace_id = Imprint::Tracer.rand_trace_id
    refute_nil trace_id
    assert_equal 6, trace_id.length
    assert trace_id.match(/[A-Za-z]/)
  end

  protected

  def fake_rack_env
    {}
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imprint-1.4.3.pre test/unit/tracer_test.rb