Sha256: 468ccf53db34c047f1a71f2c88e0c272127d87a057fd537f8b5e75541c382153

Contents?: true

Size: 1.66 KB

Versions: 45

Compression:

Stored size: 1.66 KB

Contents

require_relative "../../../spec/es_spec_helper"

shared_examples "a routing indexer" do
    let(:index) { 10.times.collect { rand(10).to_s }.join("") }
    let(:type) { 10.times.collect { rand(10).to_s }.join("") }
    let(:event_count) { 10000 + rand(500) }
    let(:routing) { "not_implemented" }
    let(:config) { "not_implemented" }
    subject { LogStash::Outputs::ElasticSearch.new(config) }

    before do
      subject.register
      event_count.times do
        subject.multi_receive([LogStash::Event.new("message" => "test", "type" => type)])
      end
    end


    it "ships events" do
      index_url = "http://#{get_host_port()}/#{index}"

      ftw = FTW::Agent.new
      ftw.post!("#{index_url}/_refresh")

      # Wait until all events are available.
      Stud::try(10.times) do
        data = ""

        response = ftw.get!("#{index_url}/_count?q=*&routing=#{routing}")
        response.read_body { |chunk| data << chunk }
        result = LogStash::Json.load(data)
        cur_count = result["count"]
        insist { cur_count } == event_count
      end
    end
end

describe "(http protocol) index events with static routing", :integration => true do
  it_behaves_like 'a routing indexer' do
    let(:routing) { "test" }
    let(:config) {
      {
        "hosts" => get_host_port,
        "index" => index,
        "routing" => routing
      }
    }
  end
end

describe "(http_protocol) index events with fieldref in routing value", :integration => true do
  it_behaves_like 'a routing indexer' do
    let(:routing) { "test" }
    let(:config) {
      {
        "hosts" => get_host_port,
        "index" => index,
        "routing" => "%{message}"
      }
    }
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
logstash-output-elasticsearch-7.4.3-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-9.1.1-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-9.0.3-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-9.0.2-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-9.0.0-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.4.2-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-8.2.2-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.4.1-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-8.2.0-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.4.0-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-8.1.1-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-8.0.1-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-8.0.0-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.8-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.7-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.6-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.5-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.4-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.3-java spec/integration/outputs/routing_spec.rb
logstash-output-elasticsearch-7.3.2-java spec/integration/outputs/routing_spec.rb