Sha256: c6aba212cb43d853732bfb92eb23a905c53a3304dce573a6694967e9047d3054

Contents?: true

Size: 1.74 KB

Versions: 4

Compression:

Stored size: 1.74 KB

Contents

require 'test_helper'
require 'chillout/custom_advanced_metric'

module Chillout
  class CustomAdvancedMetricTest < ChilloutTestCase
    def setup
      @time = Time.now.utc
    end

    def test_basic_scenario
      m = CustomAdvancedMetric.new(
        series: "who",
        tags: {
          let: "the_dog",
        },
        values: {
          out: 1,
          we: "did",
        },
        timestamp: @time
      ).as_measurements

      assert_equal m, [{
        series: "who",
        tags: {
          let: "the_dog",
        },
        values: {
          out: 1,
          we: "did",
        },
        timestamp: @time,
      }]
    end

    def test_tags
      m = CustomAdvancedMetric.new(
        series: "who",
        tags: [["1", "two"]],
        values: {},
        timestamp: @time
      ).as_measurements

      assert_equal m.first.fetch(:tags), {"1" => "two"}
    end

    def test_values
      m = CustomAdvancedMetric.new(
        series: "who",
        tags: [],
        values: [[:dog, 3]],
        timestamp: @time
      ).as_measurements

      assert_equal m.first.fetch(:values), {dog: 3}
    end

    def test_invalid_series
      assert_raises ArgumentError do
        CustomAdvancedMetric.new(
          series: Object.new,
          tags: {
            let: "the_dog",
          },
          values: {
            out: 1,
            we: "did",
          },
          timestamp: @time
        )
      end
    end

    def test_invalid_series
      assert_raises NoMethodError do
        CustomAdvancedMetric.new(
          series: Object.new,
          tags: {
            let: "the_dog",
          },
          values: {
            out: 1,
            we: "did",
          },
          timestamp: @time
        )
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
chillout-0.8.9 test/custom_advanced_metric_test.rb
chillout-0.8.8 test/custom_advanced_metric_test.rb
chillout-0.8.7 test/custom_advanced_metric_test.rb
chillout-0.8.6 test/custom_advanced_metric_test.rb