Sha256: f1b1b64fd755acad26de224a34a9d881a486d584acce70d013f791626f767886

Contents?: true

Size: 1.43 KB

Versions: 29

Compression:

Stored size: 1.43 KB

Contents

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

describe "Proxy option" do
  let(:settings) {
    {
      "hosts" => "node01",
      "proxy" => proxy
    }
  }
  subject {
    LogStash::Outputs::ElasticSearch.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

29 entries across 29 versions & 1 rubygems

Version Path
logstash-output-elasticsearch-2.7.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-3.0.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-3.0.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-3.0.0 spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.7.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.6.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.6.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.6.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.5.5-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.5.3-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.5.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.5.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.5.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.4.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.4.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.4.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.3.2-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.3.1-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.3.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb
logstash-output-elasticsearch-2.2.0-java spec/unit/outputs/elasticsearch_proxy_spec.rb