Sha256: 6249b06c26c4520c2b54c58d20d7ce266fb59625877483f5f9ec692523896208

Contents?: true

Size: 1.4 KB

Versions: 18

Compression:

Stored size: 1.4 KB

Contents

test_name "C96148: verify partitions facts" do
  tag 'risk:high'

  confine :except, :platform => 'osx' # no partitions on osx
  confine :except, :platform => 'windows' # no partitions on windows
  confine :except, :platform => 'solaris' # no partitions on solaris

  require 'json'

  possible_facts = [
      ['backing_file', /^\/.*/],
      ['filesystem', /\w/],
      ['uuid', /^[-a-zA-Z0-9]+$/],
      ['partuuid', /^[-a-f0-9]+$/],
      ['mount', /^\/.*/],
      ['label', /.*/],
      ['partlabel', /\w+/],
  ]

  agents.each do |agent|
    step("verify that partitions contain facts") do
      on(agent, facter("--json partitions")) do |facter_output|
        facter_results = JSON.parse(facter_output.stdout)
        facter_results['partitions'].each_key do |partition_name|
          partition_facts = facter_results['partitions'][partition_name]
          assert_match(/\d+\.\d+ [TGMK]iB/, partition_facts['size'], "Expected partition '#{partition_name}' fact 'size' to match expression")
          assert(partition_facts['size_bytes'] >= 0, "Expected partition '#{partition_name}' fact 'size_bytes' to be positive")
          possible_facts.each do |fact, expression|
            unless partition_facts[fact].nil?
              assert_match(expression, partition_facts[fact], "Expected partition '#{partition_name}' fact '#{fact}' to match expression")
            end
          end
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 2 rubygems

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