Sha256: 9e8d8bcebbbad2f7ad1216eafe5e735b400c9a3f86cbddf09e76cd4a19db1402

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'
require 'service_template/logger/log_transaction'

describe ServiceTemplate::LogTransaction do
  before(:each) do
    ServiceTemplate::LogTransaction.clear
  end

  context '#id' do
    it 'returns the current transaction id if it has been set' do
      id = SecureRandom.hex(10)
      Thread.current[:service_template_tid] = id
      expect(ServiceTemplate::LogTransaction.id).to eq(id)
    end

    it 'sets and returns a new id if the transaction id hasn\'t been set' do
      expect(ServiceTemplate::LogTransaction.id).to_not be_nil
    end

    it 'allows the id to be overridden by a setter' do
      expect(ServiceTemplate::LogTransaction.id).to_not be_nil
      ServiceTemplate::LogTransaction.id = 'foo'
      expect(ServiceTemplate::LogTransaction.id).to eq('foo')
    end
  end

  context '#clear' do
    it 'sets the id to nil' do
      expect(ServiceTemplate::LogTransaction.id).to_not be_nil
      ServiceTemplate::LogTransaction.clear
      expect(Thread.current[:service_template_tid]).to be_nil
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
service_template-0.5.2 spec/logger/log_transaction_spec.rb
service_template-0.5.1 spec/logger/log_transaction_spec.rb
service_template-0.5.0 spec/logger/log_transaction_spec.rb