Sha256: 5d9e102e66eac73336eeb60dc114d52392dd40e80319a23ddb1bfb458554aef4

Contents?: true

Size: 1.29 KB

Versions: 7

Compression:

Stored size: 1.29 KB

Contents

# encoding: utf-8
require "logstash/outputs/statsd"
require_relative "../spec_helper"

describe LogStash::Outputs::Statsd do

  let(:host)   { "localhost" }
  let(:port)   { rand(2000..10000) }
  let!(:server) { StatsdServer.new.run(port) }

  after(:each) do
    server.close
  end

  describe "registration and close" do

    it "should register without errors" do
      output = LogStash::Plugin.lookup("output", "statsd").new
      expect {output.register}.to_not raise_error
    end

  end

  describe "#send" do

    context "count metrics" do

      let(:config) do
        { "host" => host, "sender" => "spec", "port" => port, "count" => [ "foo.bar", "0.1" ] }
      end

      let(:properties) do
        { "metric" => "foo.bar", "count" => 10 }
      end

      let(:event) { LogStash::Event.new(properties) }

      subject { LogStash::Outputs::Statsd.new(config) }

      before(:each) do
        subject.register
      end

      it "should receive data send to the server" do
        subject.receive(event)
        # Since we are dealing with threads and networks, 
        # we might experience delays or timing issues.
        # lets try a few times before giving up completely.
        try {
          expect(server.received).to include("logstash.spec.foo.bar:0.1|c")
        }
      end

    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
logstash-output-statsd-3.1.1 spec/outputs/statsd_spec.rb
logstash-output-statsd-3.0.1 spec/outputs/statsd_spec.rb
logstash-output-statsd-3.0.0 spec/outputs/statsd_spec.rb
logstash-output-statsd-2.0.7 spec/outputs/statsd_spec.rb
logstash-output-statsd-2.0.5 spec/outputs/statsd_spec.rb
logstash-output-statsd-2.0.4 spec/outputs/statsd_spec.rb
logstash-output-statsd-2.0.3 spec/outputs/statsd_spec.rb