module Resilient::Test::MetricsStorageInterface

Public Instance Methods

test_increment() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 16
def test_increment
  buckets = [
    Resilient::CircuitBreaker::Metrics::Bucket.new(1, 5),
    Resilient::CircuitBreaker::Metrics::Bucket.new(6, 10),
  ]
  keys = [
    :successes,
    :failures,
  ]
  @object.increment(buckets, keys)
  assert_equal 1, @object.source[buckets[0]][:successes]
  assert_equal 1, @object.source[buckets[0]][:failures]
  assert_equal 1, @object.source[buckets[1]][:successes]
  assert_equal 1, @object.source[buckets[1]][:failures]
end
test_prune() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 72
def test_prune
  buckets = [
    Resilient::CircuitBreaker::Metrics::Bucket.new(1, 5),
    Resilient::CircuitBreaker::Metrics::Bucket.new(6, 10),
  ]
  keys = [
    :successes,
    :failures,
  ]
  @object.increment(buckets, keys)
  @object.increment(buckets, keys)
  @object.increment(buckets[0], keys)
  @object.prune(buckets, keys)
  result = @object.sum(buckets, keys)
  assert_equal 0, result[:successes]
  assert_equal 0, result[:failures]
end
test_responds_to_increment() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 4
def test_responds_to_increment
  assert_respond_to @object, :increment
end
test_responds_to_prune() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 12
def test_responds_to_prune
  assert_respond_to @object, :prune
end
test_responds_to_sum() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 8
def test_responds_to_sum
  assert_respond_to @object, :sum
end
test_sum_defaults() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 32
def test_sum_defaults
  buckets = [
    Resilient::CircuitBreaker::Metrics::Bucket.new(1, 5),
    Resilient::CircuitBreaker::Metrics::Bucket.new(6, 10),
  ]
  keys = [
    :successes,
    :failures,
  ]
  result = @object.sum(buckets, keys)
  assert_equal 0, result[:successes]
  assert_equal 0, result[:failures]
end
test_sum_with_values() click to toggle source
# File lib/resilient/test/metrics_storage_interface.rb, line 46
def test_sum_with_values
  buckets = [
    Resilient::CircuitBreaker::Metrics::Bucket.new(1, 5),
    Resilient::CircuitBreaker::Metrics::Bucket.new(6, 10),
  ]
  keys = [
    :successes,
    :failures,
  ]
  @object.increment(buckets, keys)
  @object.increment(buckets, keys)
  @object.increment(buckets[0], keys)

  assert_equal 5, @object.sum(buckets, [:successes])[:successes]
  assert_equal 5, @object.sum(buckets, [:failures])[:failures]
  assert_equal 10, @object.sum(buckets, keys).values.inject(0) { |sum, value| sum += value }

  assert_equal 3, @object.sum(buckets[0], [:successes])[:successes]
  assert_equal 3, @object.sum(buckets[0], [:failures])[:failures]
  assert_equal 6, @object.sum(buckets[0], keys).values.inject(0) { |sum, value| sum += value }

  assert_equal 2, @object.sum(buckets[1], [:successes])[:successes]
  assert_equal 2, @object.sum(buckets[1], [:failures])[:failures]
  assert_equal 4, @object.sum(buckets[1], keys).values.inject(0) { |sum, value| sum += value }
end