Sha256: a2c95b4a3eaa3fac14fd8e97e391d99ef04e32d19882521ce31f3e96bf6ce68f

Contents?: true

Size: 1.15 KB

Versions: 18

Compression:

Stored size: 1.15 KB

Contents

require 'spec_helper'
require 'job_helper'

describe Marty::Diagnostic::DelayedJobWorkers do
  def sample_data ip=nil, error=false
    {
      ip || Marty::Helper.my_ip => {
        'DelayedJobWorkers' => {
          'description' => error ? "3" : "4",
          'status'      => true,
          'consistent'  => nil
        },
      }
    }
  end

  def sample_aggregate error=false
    [
      sample_data(ip='0.0.0.0'),
      sample_data(ip='0.0.0.1'),
      sample_data(ip='0.0.0.2', error=error),
      sample_data(ip='0.0.0.3'),
    ].reduce(:merge)
  end

  it 'can determine the number of workers on a node' do
    start_delayed_job
    expect(described_class.generate).to eq(sample_data)
    stop_delayed_job
  end

  it 'can determine if there are nodes with missing workers' do
    consistent   = sample_aggregate
    inconsistent = sample_aggregate(error=true)

    expect(described_class.consistent?(consistent)).to eq(true)
    expect(described_class.consistent?(inconsistent)).to eq(false)
  end

  it 'recognizes zero workers as an error' do
    data = described_class.generate.values[0]
    expect(data['DelayedJobWorkers']['status']).to eq(false)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
marty-2.1.5 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.3.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.3.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.1.4 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.1.3 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.1.2 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.1.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.1.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.9 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.8 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.7 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.6 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.5 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.4 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.3 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.2 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-2.0.0 spec/other/diagnostic/delayed_job_workers_spec.rb