Sha256: 67bf17df0a5073cd39fec30e747c09e7bbc9738e6a9026f2785ef9a508c0f15b

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

module ESHelper
  def self.get_host_port
    if ENV["INTEGRATION"] == "true"
      "elasticsearch:9200"
    else
      "localhost:9200"
    end
  end

  def self.get_client
    Elasticsearch::Client.new(:hosts => [get_host_port])
  end

  def self.doc_type
    if ESHelper.es_version_satisfies?(">=8")
      nil
    elsif ESHelper.es_version_satisfies?(">=7")
      "_doc"
    else
      "doc"
    end
  end

  def self.index_doc(es, params)
    type = doc_type
    params[:type] = doc_type unless type.nil?
    es.index(params)
  end

  def self.es_version
    ENV['ES_VERSION'] || ENV['ELASTIC_STACK_VERSION']
  end

  def self.es_version_satisfies?(*requirement)
    es_version = RSpec.configuration.filter[:es_version] || ENV['ES_VERSION'] || ENV['ELASTIC_STACK_VERSION']
    if es_version.nil?
      puts "Info: ES_VERSION, ELASTIC_STACK_VERSION or 'es_version' tag wasn't set. Returning false to all `es_version_satisfies?` call."
      return false
    end
    es_release_version = Gem::Version.new(es_version).release
    Gem::Requirement.new(requirement).satisfied_by?(es_release_version)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
logstash-filter-elasticsearch-3.9.3 spec/es_helper.rb
logstash-filter-elasticsearch-3.9.0 spec/es_helper.rb
logstash-filter-elasticsearch-3.8.0 spec/es_helper.rb
logstash-filter-elasticsearch-3.7.1 spec/es_helper.rb
logstash-filter-elasticsearch-3.7.0 spec/es_helper.rb
logstash-filter-elasticsearch-3.6.1 spec/es_helper.rb