Sha256: 0fad7a652d16944c4ecde4b775f61c1b94eb4018e1d3f3ba574c27d10d1c3664

Contents?: true

Size: 1.46 KB

Versions: 9

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

class NullAdapter < Acfs::Adapter::Base

  # Start processing queued requests.
  #
  def start
  end

  # Abort running and queued requests.
  #
  def abort
  end

  # Run request right now skipping queue.
  #
  def run(_)
  end

  # Enqueue request to be run later.
  #
  def queue(_)
  end
end

class NotificationCollector
  def call(*args)
    events << ActiveSupport::Notifications::Event.new(*args)
  end

  def events
    @events ||= []
  end
end

describe ::Acfs::Runner do
  let(:adapter) { ::NullAdapter.new }
  let(:runner) { ::Acfs::Runner.new adapter }
  let(:collector) { NotificationCollector.new }

  after do
    ::ActiveSupport::Notifications.notifier = \
      ::ActiveSupport::Notifications::Fanout.new
  end

  describe '#instrumentation' do
    before do
      ::ActiveSupport::Notifications.subscribe /^acfs\.runner/, collector
    end

    describe '#process' do
      it 'should trigger event' do
        runner.process ::Acfs::Operation.new MyUser, :read, params: {id: 0}
        expect(collector.events).to have(1).items
      end
    end

    describe '#run' do
      it 'should trigger event' do
        runner.run ::Acfs::Operation.new MyUser, :read, params: {id: 0}
        expect(collector.events).to have(1).items
      end
    end

    describe '#enqueue' do
      it 'should trigger event' do
        runner.run ::Acfs::Operation.new MyUser, :read, params: {id: 0}
        expect(collector.events).to have(1).items
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
acfs-1.0.0.dev.1.b305 spec/acfs/runner_spec.rb
acfs-1.0.0.dev.1.b298 spec/acfs/runner_spec.rb
acfs-1.0.0.dev.1.b297 spec/acfs/runner_spec.rb
acfs-0.37.0.1.b295 spec/acfs/runner_spec.rb
acfs-0.37.0 spec/acfs/runner_spec.rb
acfs-0.36.0.1.b293 spec/acfs/runner_spec.rb
acfs-0.36.0 spec/acfs/runner_spec.rb
acfs-0.35.0.1.b291 spec/acfs/runner_spec.rb
acfs-0.35.0 spec/acfs/runner_spec.rb