Sha256: 55a10e414fc167e85b1cde8f1c7aeeb61f5fbc86be00a2c646c3745f4ccf02fe

Contents?: true

Size: 1.15 KB

Versions: 4

Compression:

Stored size: 1.15 KB

Contents

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

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

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

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

  def self.opensearch_version
    ENV['OPENSEARCH_VERSION']
  end

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

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
logstash-filter-opensearch-0.1.1 spec/opensearch_helper.rb
logstash-filter-opensearch-manticore-0.1.1 spec/opensearch_helper.rb
logstash-filter-opensearch-manticore-0.1.0 spec/opensearch_helper.rb
logstash-filter-opensearch-0.1.0 spec/opensearch_helper.rb