Sha256: 76560f49a1b98ca38f54fc8ca4f1aa10549ab0943b4e7fa2c599d57a17ab05f2

Contents?: true

Size: 1.43 KB

Versions: 19

Compression:

Stored size: 1.43 KB

Contents

require_relative "../../../spec/amazon_es_spec_helper"
require 'stud/temporary'
require 'elasticsearch'
require "logstash/outputs/amazon_es"

describe "Proxy option" do
  let(:settings) {
    {
      "hosts" => "node01",
      "proxy" => proxy
    }
  }
  subject {
    LogStash::Outputs::AmazonES.new(settings)
  }

  before do
    allow(::Elasticsearch::Client).to receive(:new).with(any_args)
  end

  describe "valid configs" do
    before do
      subject.register
    end

    context "when specified as a string" do
      let(:proxy) { "http://127.0.0.1:1234" }

      it "should set the proxy to the exact value" do
        expect(::Elasticsearch::Client).to have_received(:new) do |options|
          expect(options[:transport_options][:proxy]).to eql(proxy)
        end
      end
    end

    context "when specified as a hash" do
      let(:proxy) { {"hosts" => "127.0.0.1", "protocol" => "http"} }

      it "should pass through the proxy values as symbols" do
        expected = {:hosts => proxy["hosts"], :protocol => proxy["protocol"]}
        expect(::Elasticsearch::Client).to have_received(:new) do |options|
          expect(options[:transport_options][:proxy]).to eql(expected)
        end
      end
    end
  end

  describe "invalid configs" do
    let(:proxy) { ["bad", "stuff"] }

    it "should have raised an exception" do
      expect {
        subject.register
      }.to raise_error(LogStash::ConfigurationError)
    end
  end

end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
logstash-output-amazon_es-6.0.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-2.0.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-2.0.1 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-1.1.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-1.1.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-1.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-1.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.3-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.3 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.2.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.2.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.3-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.3 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.2 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.1 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-amazon_es-0.1.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb