Sha256: 79699f7579bcd2c1afc3c73fc63cc8c0644ff798e9fdc7bd8ede05a5244edfa8

Contents?: true

Size: 1.82 KB

Versions: 99

Compression:

Stored size: 1.82 KB

Contents

require 'test_plugin_helper'

class ArchivedReportGeneratorTest < ActiveSupport::TestCase
  setup do
    User.current = User.find_by(login: 'secret_admin')

    env = FactoryBot.create(:katello_k_t_environment)
    cv = env.content_views << FactoryBot.create(:katello_content_view, organization: env.organization)

    @host = FactoryBot.create(
      :host,
      :with_subscription,
      :with_content,
      content_view: cv.first,
      lifecycle_environment: env,
      organization: env.organization
    )

    @host.subscription_facet.pools << FactoryBot.create(:katello_pool, account_number: '1234', cp_id: 1)
  end

  def interesting_facts
    [
      'dmi::system::uuid',
      'virt::uuid',
      'cpu::cpu(s)',
      'cpu::cpu_socket(s)',
      'cpu::core(s)_per_socket',
      'memory::memtotal',
      'dmi::bios::vendor',
      'dmi::bios::version',
      'dmi::bios::relase_date',
      'distribution::name',
      'uname::release',
      'lscpu::flags',
    ]
  end

  def fact_names
    @fact_names ||= Hash[
      interesting_facts.map do |fact|
        [fact, FactoryBot.create(:fact_name, name: fact, type: 'Katello::RhsmFactName')]
      end
    ]
  end

  test 'generates a report for a single host' do
    batches = Host.where(id: @host.id).in_batches
    test_org = FactoryBot.create(:organization)

    ForemanInventoryUpload::Generators::Queries.expects(:for_org).with(test_org.id).returns(batches)
    ForemanInventoryUpload::Generators::Slice.any_instance.stubs(:golden_ticket?).returns(false)
    Dir.mktmpdir do |tmpdir|
      target = File.join(tmpdir, 'test.tar.gz')
      generator = ForemanInventoryUpload::Generators::ArchivedReport.new(target, Logger.new(STDOUT))
      generator.render(organization: test_org.id)

      files = Dir["#{tmpdir}/*"]
      assert_equal "#{tmpdir}/test.tar.gz", files.first
    end
  end
end

Version data entries

99 entries across 99 versions & 1 rubygems

Version Path
foreman_rh_cloud-6.0.45 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.46 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.45 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.44 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-7.0.45 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-6.0.44 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.43 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-4.0.36 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-3.0.33 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-6.0.42.2 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-6.0.42.1 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-6.0.43 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.42 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-6.0.42 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.41 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.39 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.38 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-4.0.35 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.37 test/unit/archived_report_generator_test.rb
foreman_rh_cloud-5.0.36 test/unit/archived_report_generator_test.rb