Sha256: 1ff971f5e2acc488aef01f3f6681d6211bfe5d59a2a9dd5456db0dcff138db84

Contents?: true

Size: 1.67 KB

Versions: 18

Compression:

Stored size: 1.67 KB

Contents

test_name 'C100537: FACTER_ env var should override external fact' do
  tag 'risk:medium'

  require 'facter/acceptance/user_fact_utils'
  extend Facter::Acceptance::UserFactUtils

  agents.each do |agent|
    fact_name      = 'external_fact'
    fact_value     = 'from_script'
    override_value = 'override_fact'
    external_dir   = agent.tmpdir('facts.d')
    fact_file      = File.join(external_dir,
                               "#{fact_name}#{get_external_fact_script_extension(agent['platform'])}")

    teardown do
      on(agent, "rm -rf '#{external_dir}'")
    end

    step "Agent #{agent}: setup external fact" do
      on(agent, "mkdir -p '#{external_dir}'")
      create_remote_file(agent,
                         fact_file,
                         external_fact_content(agent['platform'], fact_name, fact_value))
      on(agent, "chmod +x '#{fact_file}'")
    end

    step "Agent: #{agent}: ensure external fact resolves correctly" do
      on(agent, facter("--external-dir '#{external_dir}' #{fact_name}")) do |facter_output|
        assert_equal(fact_value,
                     facter_output.stdout.chomp,
                     'Expected external fact to resolve as defined in script')
      end
    end

    step "Agent #{agent}: the fact value from FACTER_ env var should override the external fact value" do
      on(agent, facter("--external-dir '#{external_dir}' #{fact_name}",
                       :environment => { "FACTER_#{fact_name}" => override_value })) do |facter_output|
        assert_equal(override_value,
                     facter_output.stdout.chomp,
                     'Expected `FACTER_` fact value to override external fact')
      end
    end

  end

end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
facter-4.0.29 acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-4.0.28 acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.2.cfacter.20181217 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.1.cfacter.20181031 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.6.cfacter.20181031 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.1.cfacter.20181023 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.5.cfacter.20181022 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.0.cfacter.20181004 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.0.cfacter.20181001 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.12.0.cfacter.20180918 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.4.cfacter.20180821 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.3.cfacter.20180716 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.2.cfacter.20180612 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.9.6.cfacter.20180612 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.2.cfacter.20180606 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.9.6.cfacter.20180606 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
facter-3.11.0.cfacter.20180319 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb
cfacter-3.11.0.rc.20180314 ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb