Sha256: edd3f73c9032d2858d40e55afc68410635a12a4a96266f3468601b225ec207f0

Contents?: true

Size: 1.7 KB

Versions: 36

Compression:

Stored size: 1.7 KB

Contents

describe HybridPlatformsConductor::ReportsHandler do

  # Setup a test platform for our reports testing
  #
  # Parameters::
  # * Proc: Code called when platform is setup
  def with_test_platform_for_reports_test
    with_test_platform(nodes: { 'node1' => {}, 'node2' => {}, 'node3' => {} }) do
      register_report_plugins(test_reports_handler, report: HybridPlatformsConductorTest::ReportPlugin)
      test_reports_handler.format = :report
      yield
    end
  end

  it 'delivers a simple report on all the inventory' do
    with_test_platform_for_reports_test do
      test_reports_handler.produce_report_for [{ all: true }]
      expect(HybridPlatformsConductorTest::ReportPlugin.generated_reports).to eq ['Report generated for node1, node2, node3 in en']
    end
  end

  it 'delivers a simple report on some nodes only' do
    with_test_platform_for_reports_test do
      test_reports_handler.produce_report_for %w[node1 node3]
      expect(HybridPlatformsConductorTest::ReportPlugin.generated_reports).to eq ['Report generated for node1, node3 in en']
    end
  end

  it 'delivers a simple report with a different locale' do
    with_test_platform_for_reports_test do
      test_reports_handler.locale = :fr
      test_reports_handler.produce_report_for [{ all: true }]
      expect(HybridPlatformsConductorTest::ReportPlugin.generated_reports).to eq ['Report generated for node1, node2, node3 in fr']
    end
  end

  it 'fails when delivering a simple report with an unknown locale' do
    with_test_platform_for_reports_test do
      test_reports_handler.locale = :de
      expect { test_reports_handler.produce_report_for([{ all: true }])}.to raise_error(RuntimeError, 'Unknown locale for format report: de')
    end
  end

end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
hybrid_platforms_conductor-33.0.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.18.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.17.1 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.17.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.16.4 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.16.3 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.16.2 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.16.1 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.16.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.15.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.14.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.13.4 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.13.3 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.13.2 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.13.1 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.13.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.12.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.11.2 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.11.1 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb
hybrid_platforms_conductor-32.11.0 spec/hybrid_platforms_conductor_test/api/reports_handler_spec.rb