Sha256: 57a371b1e8ab654f0646795f9b2485e26396119add36a0c850a314b0a0d45a48
Contents?: true
Size: 957 Bytes
Versions: 4
Compression:
Stored size: 957 Bytes
Contents
RSpec.describe 'Subscribing to instrumentation events' do subject(:notifications) { Dry::Monitor::Notifications.new(:app) } before do Dry::Monitor::Notifications.register_event(:sql, { name: 'rom[sql]' }) end describe '#instrument' do it 'allows subscribing via block' do captured = [] payload = { query: 'SELECT 1 FROM users' } notifications.subscribe(:sql) do |event| captured << [event.id, event[:query]] end notifications.instrument(:sql, payload) expect(captured).to eql([[:sql, 'SELECT 1 FROM users']]) end it 'allows instrumenting via block' do captured = [] payload = { query: 'SELECT 1 FROM users' } notifications.subscribe(:sql) do |event| captured << [event.id, event[:query]] end notifications.instrument(:sql, payload) do payload end expect(captured).to eql([[:sql, 'SELECT 1 FROM users']]) end end end
Version data entries
4 entries across 4 versions & 1 rubygems