Sha256: 732167882e1931837d27494db3cad7fb88ffb0fafc4a0234188fbb7b882128ed
Contents?: true
Size: 1.19 KB
Versions: 25
Compression:
Stored size: 1.19 KB
Contents
# encoding: utf-8 require "lumberjack/beats/server" require "flores/random" describe Lumberjack::Beats::AckingProtocolV2 do let(:results) { [] } subject { Lumberjack::Beats::AckingProtocolV2.new(number_of_events) } before { 1.upto(number_of_events) { |n| results << subject.ack?(n) } } context "with multiples events" do let(:number_of_events) { Flores::Random.integer(100..1024) } it "should return multiples partial acks" do expect(results.size).to eq(number_of_events) expect(results.count(true)).to be_within(1).of((number_of_events / number_of_events * Lumberjack::Beats::AckingProtocolV2::ACK_RATIO).ceil) end it "last ack should be true" do expect(results.last).to be_truthy end end context "with only one event" do let(:number_of_events) { 1 } it "should return true only once" do expect(results.size).to eq(number_of_events) expect(results.count(true)).to eq(1) end end context "when the windows size is lower than the ack_ratio" do let(:number_of_events) { 2 } it "should return true only once" do expect(results.size).to eq(number_of_events) expect(results.count(true)).to eq(1) end end end
Version data entries
25 entries across 25 versions & 1 rubygems