Sha256: e395daba7c0a91304e0025e93a415a27c7aec92773e6e14a769e7a60ccfe01ed

Contents?: true

Size: 1.27 KB

Versions: 8

Compression:

Stored size: 1.27 KB

Contents

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

describe LogStash::Util::DefaultsPrinter do
  shared_examples "a defaults printer" do
    it 'the .print method returns a defaults description' do
      expect(actual_block.call).to eq(expected)
    end
  end

  let(:workers)  { 1 }
  let(:expected) { "Settings: User set filter workers: #{workers}" }
  let(:settings) { {} }

  describe 'class methods API' do
    let(:actual_block) do
      -> {described_class.print(settings)}
    end

    context 'when the settings hash is empty' do
      let(:expected) { "Settings: " }
      it_behaves_like "a defaults printer"
    end

    context 'when the settings hash has content' do
      let(:workers) { 42 }
      let(:settings) { {'filter-workers' => workers} }
      it_behaves_like "a defaults printer"
    end
  end

  describe 'instance method API' do
    let(:actual_block) do
      -> {described_class.new(settings).print}
    end

    context 'when the settings hash is empty' do
      let(:expected) { "Settings: " }
      it_behaves_like "a defaults printer"
    end

    context 'when the settings hash has content' do
      let(:workers) { 13 }
      let(:settings) { {'filter-workers' => workers} }

      it_behaves_like "a defaults printer"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
logstash-core-2.1.3-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.2-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.2.snapshot1-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.1-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.0-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.0.snapshot4-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.0.snapshot3-java spec/util/defaults_printer_spec.rb
logstash-core-2.1.0.snapshot2-java spec/util/defaults_printer_spec.rb