Sha256: ef8b77547307f5ca1fe13629cac858fd8d5f4469bfd74cf07d3bb78ec1e1cad0

Contents?: true

Size: 1.41 KB

Versions: 7

Compression:

Stored size: 1.41 KB

Contents

# encoding: utf-8
require "spec_helper"
require "logstash/util/wrapped_acked_queue"

describe LogStash::Util::WrappedAckedQueue do
  shared_examples "queue tests" do
    it "is_empty? on creation" do
      expect(queue.is_empty?).to be_truthy
    end

    it "not is_empty? after pushing an element" do
      queue.push(LogStash::Event.new)
      expect(queue.is_empty?).to be_falsey
    end

    it "not is_empty? when all elements are not acked" do
      queue.push(LogStash::Event.new)
      batch = queue.read_batch(1, 250)
      expect(batch.get_elements.size).to eq(1)
      expect(queue.is_empty?).to be_falsey
    end

    it "is_empty? when all elements are acked" do
      queue.push(LogStash::Event.new)
      batch = queue.read_batch(1, 250)
      expect(batch.get_elements.size).to eq(1)
      expect(queue.is_empty?).to be_falsey
      batch.close
      expect(queue.is_empty?).to be_truthy
    end
  end

  context "persisted" do
    let(:page_capacity) { 1024 }
    let(:max_events) { 0 }
    let(:max_bytes) { 0 }
    let(:checkpoint_acks) { 1024 }
    let(:checkpoint_writes) { 1024 }
    let(:checkpoint_interval) { 0 }
    let(:path) { Stud::Temporary.directory }
    let(:queue) { LogStash::Util::WrappedAckedQueue.create_file_based(path, page_capacity, max_events, checkpoint_acks, checkpoint_writes, checkpoint_interval, max_bytes) }

    after do
      queue.close
    end

    include_examples "queue tests"
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
logstash-core-5.6.16-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.15-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.14-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.13-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.12-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.11-java spec/logstash/util/wrapped_acked_queue_spec.rb
logstash-core-5.6.10-java spec/logstash/util/wrapped_acked_queue_spec.rb