Sha256: 2f7aa46f8669e1ae525a0e353fbaed3b2841104a224cea2a82bb9017b47a5108

Contents?: true

Size: 1.11 KB

Versions: 11

Compression:

Stored size: 1.11 KB

Contents

require 'spec_helper'

describe Marty::Diagnostic::Collection do
  def sample_data consistent = true
    node_a_data = Marty::Diagnostic::Collection.pack(include_ip=false){'A'}
    data = {
      'NodeA' => node_a_data,
      'NodeB' => node_a_data,
    }
    return data if consistent
    data + {'NodeB' => {'Base' => Marty::Diagnostic::Collection.error('B')}}
  end

  it 'all diagnostics in diagnostics class attribute are generated' do
    diags = [Marty::Diagnostic::Version, Marty::Diagnostic::Nodes]
    expected = diags.map{|d| d.generate}.reduce(:deep_merge)
    Marty::Diagnostic::Collection.diagnostics = diags
    expect(Marty::Diagnostic::Collection.generate).to eq(expected)
  end

  it 'declares data consistency via status consistency' do
    a = sample_data
    b = sample_data + {
      'NodeB' => Marty::Diagnostic::Collection.pack(include_ip=false){'B'}
    }
    c = sample_data(consistent=false)

    expect(Marty::Diagnostic::Collection.consistent?(a)).to eq(true)
    expect(Marty::Diagnostic::Collection.consistent?(b)).to eq(true)
    expect(Marty::Diagnostic::Collection.consistent?(c)).to eq(false)
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
marty-1.2.9 spec/other/diagnostic/collection_spec.rb
marty-1.2.8 spec/other/diagnostic/collection_spec.rb
marty-1.2.7 spec/other/diagnostic/collection_spec.rb
marty-1.2.6 spec/other/diagnostic/collection_spec.rb
marty-1.2.5 spec/other/diagnostic/collection_spec.rb
marty-1.2.4 spec/other/diagnostic/collection_spec.rb
marty-1.2.3 spec/other/diagnostic/collection_spec.rb
marty-1.2.2 spec/other/diagnostic/collection_spec.rb
marty-1.2.1 spec/models/diagnostic/collection_spec.rb
marty-1.2.0 spec/models/diagnostic/collection_spec.rb
marty-1.1.9 spec/models/diagnostic/collection_spec.rb