Sha256: d13588173db86614f235bebafe676c42ad1b78b196658fb574df1d1be1f0fe13

Contents?: true

Size: 1.29 KB

Versions: 17

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'
require 'job_helper'

describe Marty::Diagnostic::DelayedJobWorkers do
  def sample_data opts = {}
    ip, error, status = opts.values_at(:ip, :error, :status)
    {
      ip || Marty::Helper.my_ip => {
        'Delayed Workers / Node' => {
          'description' => error ? '7' : '8',
          'status'      => status.nil? ? true : status,
          '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 'allows a config to set the target workers' do
    Marty::Config['DIAG_DELAYED_TARGET'] = 2
    start_delayed_job
    expect(described_class.generate).to eq(sample_data(status: false))
    stop_delayed_job
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
marty-14.3.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-14.0.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-13.0.2 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-11.0.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-10.0.3 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-10.0.2 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-10.0.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-9.5.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-9.5.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-9.3.3 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-9.3.2 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-9.3.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-8.5.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-8.4.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-8.3.1 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-8.2.0 spec/other/diagnostic/delayed_job_workers_spec.rb
marty-8.0.0 spec/other/diagnostic/delayed_job_workers_spec.rb