Sha256: 4f8d989d9b8311d5f244f8c1ddd488e997bd6f408fd402d9462809da8bd1cc50

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe Backend do
  it "should have register backends" do
    Quebert.backends.keys.should =~ [:in_process, :beanstalk, :sync]
  end

  it "should register backends" do
    Quebert.backends.register :twenty, 20
    Quebert.backends[:twenty].should eql(20)
  end

  it "should unregister backends" do
    Quebert.backends.unregister :twenty
    Quebert.backends[:twenty].should be_nil
  end
end

describe Backend::InProcess do
  before(:all) do
    @q = Backend::InProcess.new
  end

  it "should put on queue" do
    3.times do |num|
      @q.put Adder.new(num)
    end
  end

  it "should consume from queue" do
    3.times do |num|
      @q.reserve.perform.should eql(num)
    end
  end
end

describe Backend::Beanstalk  do
  before(:all) do
    @q = Backend::Beanstalk.new('localhost:11300','quebert-test')
    @q.drain!
  end

  it "should put on queue" do
    3.times do |num|
      @q.put Adder.new(num)
    end
  end

  it "should consume from queue" do
    3.times do |num|
      @q.reserve.perform.should eql(num)
    end
  end
end

describe Backend::Sync do
  before(:all) do
    @q = Backend::Sync.new
  end

  it "should put on queue" do
    3.times do |num|
      @q.put(Adder.new(num)).should eql(num)
    end
  end

  it "should do nothing when consuming from queue" do
    3.times do |num|
      @q.reserve.perform.should be_nil
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
quebert-2.0.4 spec/backend_spec.rb
quebert-2.0.3 spec/backend_spec.rb
quebert-2.0.2 spec/backend_spec.rb