Sha256: 485179fe05409664d7158801d580eede35daed7f76b641d02d983822f5e27d7f

Contents?: true

Size: 933 Bytes

Versions: 1

Compression:

Stored size: 933 Bytes

Contents

require 'spec_helper'

describe HawatelTlb::Mode::DynamicRatio do

  let(:client) { HawatelTlb::Client.new }
  before do
    stub_const("HawatelTlb::Mode::DynamicRatio::RECALC_WEIGHT_INTERVAL", 1)
  end

  context 'dynamic weights' do
    let(:loop_count) { 1000 }
    it 'weight is not in init state' do
      setup_dynamicratio_mode
      exec_node_method(loop_count)
      verify_weights(client.list)
      verify_weights(client.list)

    end
  end

  private

  def verify_weights(nodes)
    nodes.each do |node|
      expect(node.weight).to be > 1
    end
  end

  def setup_dynamicratio_mode
    client.add({:host => 'example.com', :port => 80})
    client.add({:host => 'example2.com', :port => 80})
    client.add({:host => 'example3.com', :port => 80})
    client.configure(:mode => 'dynamicratio')
    client.mode.debug = 0
  end

  def exec_node_method(count)
    (0..count-1).each do
      client.node
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hawatel_tlb-0.1.0 spec/modes/dynamicratio_spec.rb