Sha256: 6daa49765b0e30fa049916d71ec7e64cc5796ce5767da4ee54c9b395c358dbee

Contents?: true

Size: 862 Bytes

Versions: 106

Compression:

Stored size: 862 Bytes

Contents

# encoding: utf-8
require "logstash/instrument/metric_type/gauge"
require "logstash/json"
require "spec_helper"

describe LogStash::Instrument::MetricType::Gauge do
  let(:namespaces) { [:root, :pipelines, :pipeline_01] }
  let(:key) { :mykey }
  let(:value) { "hello" }

  subject { described_class.new(namespaces, key) }

  before :each do
    subject.execute(:set, value)
  end

  describe "#execute" do
    it "set the value of the gauge" do
      expect(subject.value).to eq(value)
    end
  end

  context "When serializing to JSON" do
    it "serializes the value" do
      expect(LogStash::Json.dump(subject)).to eq("\"#{value}\"")
    end
  end

  context "When creating a hash " do
    it "creates the hash from all the values" do
      metric_hash = {
        key => value
      }
      expect(subject.to_hash).to match(metric_hash)
    end
  end
end

Version data entries

106 entries across 103 versions & 14 rubygems

Version Path
logstash-core-5.0.0.alpha6.snapshot5-java spec/logstash/instrument/metric_type/gauge_spec.rb
logstash-core-5.0.0.alpha6.snapshot4-java spec/logstash/instrument/metric_type/gauge_spec.rb
logstash-core-5.0.0.alpha6.snapshot3-java spec/logstash/instrument/metric_type/gauge_spec.rb
logstash-core-5.0.0.alpha6.snapshot2-java spec/logstash/instrument/metric_type/gauge_spec.rb
logstash-core-5.0.0.alpha6.snapshot1-java spec/logstash/instrument/metric_type/gauge_spec.rb
logstash-core-5.0.0.alpha5.snapshot1-java spec/logstash/instrument/metric_type/gauge_spec.rb