Sha256: 9fc7b03bec74b982ac0a7bd97a3a5d04bd5e859591157f61874fe5c5f356057e

Contents?: true

Size: 835 Bytes

Versions: 1

Compression:

Stored size: 835 Bytes

Contents

require 'sitehub/middleware/transaction_id'

class SiteHub
  module Middleware
    describe TransactionId do
      let(:transaction_id) { Constants::RackHttpHeaderKeys::TRANSACTION_ID }
      subject do
        described_class.new(proc {})
      end
      it 'adds a unique identifier to the request' do
        uuid = UUID.generate(:compact)
        expect(UUID).to receive(:generate).with(:compact).and_return(uuid)
        env = {}
        subject.call(env)

        expect(env[transaction_id]).to eq(uuid)
      end

      context 'transaction id header already exists' do
        it 'leaves it intact' do
          expect(UUID).to_not receive(:generate)
          env = { transaction_id => :exiting_id }
          subject.call(env)

          expect(env[transaction_id]).to eq(:exiting_id)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sitehub-0.4.6 spec/sitehub/middleware/transaction_id_spec.rb