Sha256: 8c4f7e49eb850ce1ede6f34f556088971ccf1eb87cb4f546db725cc3b84f9204

Contents?: true

Size: 1.57 KB

Versions: 5

Compression:

Stored size: 1.57 KB

Contents

require 'helper'

class TestProgstrRuby < Test::Unit::TestCase
  should "serialize text and source" do
    message = Progstr::LogMessage.new :text => "test message", 
      :source => "progstr.something",
      :host => "dev-machine"
    assert_equal "test message", message.to_hash[:text]
    assert_equal "progstr.something", message.to_hash[:source]
    assert_equal "dev-machine", message.to_hash[:host]
  end

  should "serialize level" do
    message = Progstr::LogMessage.new :level => :info
    assert_equal 0, message.to_hash[:level]
  end
  
  should "serialize time in millis since epoch start (UTC)" do
    now = Time.now
    nowMillis = (now.to_f * 1000).to_i
    message = Progstr::LogMessage.new :time => now
    assert_equal nowMillis, message.to_hash[:time]
  end

  should "get current time if not given" do
    message = Progstr::LogMessage.new({})
    assert message.to_hash[:time] > 0, "time not valid"
  end

  should "get machine name" do
    message = Progstr::LogMessage.new({})
    assert message.to_hash[:host].to_s.size > 0, "host name not inferred"
  end

  should "serialize to json" do
    newYear = Time.utc(2011, 1, 1)
    message = Progstr::LogMessage.new :text => "test message", 
      :source => "progstr.something",
      :host => "dev-machine",
      :level => :error,
      :time => newYear

    json = MultiJson.encode(message.to_hash)
    assert_match /"source":"progstr.something"/, json
    assert_match /"host":"dev-machine"/, json
    assert_match /"text":"test message"/, json
    assert_match /"level":2/, json
    assert_match /"time":\d+/, json
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
progstr-ruby-1.0.6 test/test_progstr.rb
progstr-ruby-1.0.5 test/test_progstr.rb
progstr-ruby-1.0.4 test/test_progstr.rb
progstr-ruby-1.0.3 test/test_progstr.rb
progstr-ruby-1.0.2 test/test_progstr.rb