puppet_spec_facts 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +7 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +13 -0
  8. data/README.md +93 -0
  9. data/Rakefile +7 -0
  10. data/Vagrantfile +146 -0
  11. data/facts/Archlinux/Archlinux_3.15.8-1-ARCH_x86_64_3.5.1_stringified.json +86 -0
  12. data/facts/CentOS/CentOS_5.11_i386_3.7.1_structured.json +127 -0
  13. data/facts/CentOS/CentOS_5.11_i386_PE-3.3.2_stringified.json +84 -0
  14. data/facts/CentOS/CentOS_5.11_x86_64_3.7.1_structured.json +127 -0
  15. data/facts/CentOS/CentOS_5.11_x86_64_PE-3.3.2_stringified.json +84 -0
  16. data/facts/Debian/Debian_wheezy_7.7_amd64_3.7.2_structured.json +143 -0
  17. data/facts/Debian/Debian_wheezy_7.7_amd64_PE-3.3.2_stringified.json +86 -0
  18. data/facts/Debian/Debian_wheezy_7.7_i386_PE-3.3.2_stringified.json +86 -0
  19. data/facts/FreeBSD/FreeBSD_10.0-RELEASE_amd64_3.6.2_structured.json +114 -0
  20. data/facts/SLES/SLES_11.1_x86_64_3.1.1_stringified.json +62 -0
  21. data/facts/Ubuntu/Ubuntu_precise_12.04_amd64_PE-3.3.2_stringified.json +85 -0
  22. data/facts/Ubuntu/Ubuntu_precise_12.04_i386_PE-3.3.2_stringified.json +85 -0
  23. data/facts/Ubuntu/Ubuntu_saucy_13.10_amd64_3.5.1_stringified.json +84 -0
  24. data/facts/Ubuntu/Ubuntu_trusty_14.04_amd64_PE-3.3.2_stringified.json +85 -0
  25. data/facts/Ubuntu/Ubuntu_trusty_14.04_i386_PE-3.3.2_stringified.json +85 -0
  26. data/facts/darwin/Darwin_10.9.5_x86_64_3.4.3_stringified.json +135 -0
  27. data/facts/darwin/Darwin_10.9.5_x86_64_3.7.3_structured.json +157 -0
  28. data/lib/puppet_spec_facts/version.rb +3 -0
  29. data/lib/puppet_spec_facts.rb +139 -0
  30. data/puppet_spec_facts.gemspec +27 -0
  31. data/spec/lib/puppet_spec_facts_spec.rb +102 -0
  32. data/spec/spec_helper.rb +5 -0
  33. metadata +161 -0
@@ -0,0 +1,157 @@
1
+ {
2
+ "architecture": "x86_64",
3
+ "kernel": "Darwin",
4
+ "domain": "local",
5
+ "virtual": "physical",
6
+ "is_virtual": false,
7
+ "hardwaremodel": "x86_64",
8
+ "operatingsystem": "Darwin",
9
+ "os": {
10
+ "name": "Darwin",
11
+ "family": "Darwin",
12
+ "release": {
13
+ "major": "13",
14
+ "minor": "4",
15
+ "full": "13.4.0"
16
+ }
17
+ },
18
+ "kernelrelease": "13.4.0",
19
+ "facterversion": "2.3.0",
20
+ "fqdn": "MacBook-Pro.local",
21
+ "gid": "staff",
22
+ "hardwareisa": "i386",
23
+ "hostname": "MacBook-Pro",
24
+ "id": "example",
25
+ "interfaces": "lo0,gif0,stf0,en0,en1,en2,bridge0,p2p0,vboxnet0,vboxnet1,vboxnet10,vboxnet11,vboxnet12,vboxnet13,vboxnet2,vboxnet3,vboxnet4,vboxnet5,vboxnet6,vboxnet7,vboxnet8,vboxnet9,fw1,en6,fw0,en5",
26
+ "ipaddress_lo0": "127.0.0.1",
27
+ "netmask_lo0": "255.0.0.0",
28
+ "mtu_lo0": 16384,
29
+ "mtu_gif0": 1280,
30
+ "mtu_stf0": 1280,
31
+ "ipaddress_en0": "10.0.26.161",
32
+ "macaddress_en0": "3c:15:c2:cf:1c:24",
33
+ "netmask_en0": "255.255.252.0",
34
+ "mtu_en0": 1500,
35
+ "macaddress_en1": "72:00:03:cf:03:20",
36
+ "mtu_en1": 1500,
37
+ "macaddress_en2": "72:00:03:cf:03:21",
38
+ "mtu_en2": 1500,
39
+ "macaddress_bridge0": "3e:15:c2:fc:e5:00",
40
+ "mtu_bridge0": 1500,
41
+ "macaddress_p2p0": "0e:15:c2:cf:1c:24",
42
+ "mtu_p2p0": 2304,
43
+ "macaddress_vboxnet0": "0a:00:27:00:00:00",
44
+ "mtu_vboxnet0": 1500,
45
+ "macaddress_vboxnet1": "0a:00:27:00:00:01",
46
+ "mtu_vboxnet1": 1500,
47
+ "ipaddress_vboxnet10": "10.255.0.1",
48
+ "macaddress_vboxnet10": "0a:00:27:00:00:0a",
49
+ "netmask_vboxnet10": "255.255.0.0",
50
+ "mtu_vboxnet10": 1500,
51
+ "macaddress_vboxnet11": "0a:00:27:00:00:0b",
52
+ "mtu_vboxnet11": 1500,
53
+ "macaddress_vboxnet12": "0a:00:27:00:00:0c",
54
+ "mtu_vboxnet12": 1500,
55
+ "macaddress_vboxnet13": "0a:00:27:00:00:0d",
56
+ "mtu_vboxnet13": 1500,
57
+ "ipaddress_vboxnet2": "192.168.37.1",
58
+ "macaddress_vboxnet2": "0a:00:27:00:00:02",
59
+ "netmask_vboxnet2": "255.255.255.0",
60
+ "mtu_vboxnet2": 1500,
61
+ "ipaddress_vboxnet3": "10.20.1.1",
62
+ "macaddress_vboxnet3": "0a:00:27:00:00:03",
63
+ "netmask_vboxnet3": "255.255.255.0",
64
+ "mtu_vboxnet3": 1500,
65
+ "macaddress_vboxnet4": "0a:00:27:00:00:04",
66
+ "mtu_vboxnet4": 1500,
67
+ "macaddress_vboxnet5": "0a:00:27:00:00:05",
68
+ "mtu_vboxnet5": 1500,
69
+ "macaddress_vboxnet6": "0a:00:27:00:00:06",
70
+ "mtu_vboxnet6": 1500,
71
+ "macaddress_vboxnet7": "0a:00:27:00:00:07",
72
+ "mtu_vboxnet7": 1500,
73
+ "macaddress_vboxnet8": "0a:00:27:00:00:08",
74
+ "mtu_vboxnet8": 1500,
75
+ "macaddress_vboxnet9": "0a:00:27:00:00:09",
76
+ "mtu_vboxnet9": 1500,
77
+ "macaddress_fw1": "00:0a:27:02:00:57",
78
+ "mtu_fw1": 4078,
79
+ "ipaddress_en6": "10.0.16.143",
80
+ "macaddress_en6": "68:5b:35:b7:45:4b",
81
+ "netmask_en6": "255.255.252.0",
82
+ "mtu_en6": 1500,
83
+ "macaddress_fw0": "00:0a:27:02:00:58",
84
+ "mtu_fw0": 4078,
85
+ "macaddress_en5": "68:5b:35:c1:60:3b",
86
+ "mtu_en5": 1500,
87
+ "ipaddress": "10.0.26.161",
88
+ "kernelmajversion": "13.4",
89
+ "kernelversion": "13.4.0",
90
+ "macaddress": "68:5b:35:b7:45:4b",
91
+ "sp_smc_version_system": "2.19f7",
92
+ "sp_boot_rom_version": "MBP112.0138.B07",
93
+ "sp_cpu_type": "Intel Core i7",
94
+ "sp_current_processor_speed": "2.3 GHz",
95
+ "sp_l2_cache_core": "256 KB",
96
+ "sp_l3_cache": "6 MB",
97
+ "sp_machine_model": "MacBookPro11,3",
98
+ "sp_machine_name": "MacBook Pro",
99
+ "sp_number_processors": 4,
100
+ "sp_packages": 1,
101
+ "sp_physical_memory": "16 GB",
102
+ "sp_boot_mode": "normal_boot",
103
+ "sp_boot_volume": "Macintosh HD",
104
+ "sp_kernel_version": "Darwin 13.4.0",
105
+ "sp_local_host_name": "MacBook Pro",
106
+ "sp_os_version": "OS X 10.9.5 (13F34)",
107
+ "sp_secure_vm": "secure_vm_enabled",
108
+ "sp_uptime": "up 7:5:7:38",
109
+ "macosx_productname": "Mac OS X",
110
+ "macosx_productversion": "10.9.5",
111
+ "macosx_buildversion": "13F34",
112
+ "macosx_productversion_major": "10.9",
113
+ "macosx_productversion_minor": "5",
114
+ "productname": "MacBookPro11,3",
115
+ "memorysize": "16.00 GB",
116
+ "memoryfree": "3.62 GB",
117
+ "swapsize": "1024.00 MB",
118
+ "swapfree": "627.00 MB",
119
+ "swapsize_mb": "1024.00",
120
+ "swapfree_mb": "627.00",
121
+ "memorysize_mb": "16384.00",
122
+ "memoryfree_mb": "3706.13",
123
+ "swapencrypted": true,
124
+ "netmask": "255.255.252.0",
125
+ "network_lo0": "127.0.0.0",
126
+ "network_en0": "10.0.24.0",
127
+ "network_vboxnet10": "10.255.0.0",
128
+ "network_vboxnet2": "192.168.37.0",
129
+ "network_vboxnet3": "10.20.1.0",
130
+ "network_en6": "10.0.16.0",
131
+ "operatingsystemmajrelease": "13",
132
+ "operatingsystemrelease": "13.4.0",
133
+ "osfamily": "Darwin",
134
+ "path": "/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin",
135
+ "processors": {
136
+ "count": 8,
137
+ "speed": "2.3 GHz"
138
+ },
139
+ "processorcount": 8,
140
+ "ps": "ps auxwww",
141
+ "puppetversion": "3.7.3",
142
+ "rubyplatform": "x86_64-darwin13.0",
143
+ "rubysitedir": "/Users/example/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0",
144
+ "rubyversion": "2.1.2",
145
+ "system_uptime": {
146
+ "seconds": 623230,
147
+ "hours": 173,
148
+ "days": 7,
149
+ "uptime": "7 days"
150
+ },
151
+ "timezone": "PST",
152
+ "uptime": "7 days",
153
+ "uptime_days": 7,
154
+ "uptime_hours": 173,
155
+ "uptime_seconds": 623230,
156
+ "fact_style": "structured"
157
+ }
@@ -0,0 +1,3 @@
1
+ module PuppetSpecFacts
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,139 @@
1
+ require "puppet_spec_facts/version"
2
+ require 'json'
3
+ require 'puppet'
4
+ require 'semver'
5
+ require 'fileutils'
6
+
7
+ # this module is intended to be used in rspec-puppet tests when you need to
8
+ # test on a variety of platforms and need to load facter facts for each one
9
+
10
+ # you can generate appropriate json files with: facter --json > filename.json
11
+ # then dump the file in the facts directory with the .json extension. If you're
12
+ # cool you'll use facter --json | jq . > filename.json to prettyprint it
13
+
14
+ module PuppetSpecFacts
15
+ def self.puppet_platforms
16
+ platforms = {}
17
+ file_list = Dir.glob("#{@proj_root}/**/*.json")
18
+ file_list.each do |filename|
19
+ fact_hash = get_jsonfile(filename)
20
+ platform_name = make_sane_name(fact_hash)
21
+
22
+ if platforms[platform_name] != nil
23
+ next
24
+ end
25
+ platforms[platform_name] = overload_facts(fact_hash)
26
+ end
27
+ platforms
28
+ end
29
+
30
+ # inject some additional facts to simplify lookups from rspec
31
+ def self.overload_facts(fact_hash)
32
+ fact_hash['fact_style'] = fact_style(fact_hash)
33
+ fact_hash['is_pe'] = 'true' if is_pe(fact_hash)
34
+ return fact_hash
35
+ end
36
+
37
+ def self.puppet_platform_names
38
+ platform_names = []
39
+ puppet_platforms.each do |name, value|
40
+ platform_names << name
41
+ end
42
+ platform_names
43
+ end
44
+
45
+ def self.facts_for_platform_by_fact(factstyle: nil, select_facts: {})
46
+ puppet_platforms.select { |platform, facts|
47
+ match = true
48
+ select_facts.each { |query_fact, query_value|
49
+ match = false if facts[query_fact] != query_value
50
+ }
51
+ match
52
+ }
53
+ end
54
+
55
+ def self.facts_for_platform_by_name(platform)
56
+ puppet_platforms[platform]
57
+ end
58
+
59
+ def self.resave_all_facts
60
+ puppet_platforms.each do |name, hash|
61
+ save_reorganized_facts_to_json(fact_hash: hash)
62
+ end
63
+ end
64
+
65
+ def self.save_reorganized_facts_to_json(fact_hash: nil, dir: 'facts')
66
+ namepath = name_osname(fact_hash)
67
+ save_path = "#{@proj_root}/#{dir}/#{namepath}"
68
+ filename = make_sane_name(fact_hash) + '.json'
69
+ json_output = JSON.pretty_generate(fact_hash)
70
+ FileUtils.mkdir_p save_path
71
+
72
+ File.open("#{save_path}/#{filename}","w") do |f|
73
+ f.write(json_output)
74
+ end
75
+ end
76
+
77
+ def self.name_osname(fact_hash)
78
+ osname ||= fact_hash['lsbdistid']
79
+ osname ||= fact_hash['operatingsystem']
80
+ osname ||= fact_hash['kernel']
81
+ osname ||= fact_hash['osfamily']
82
+ end
83
+
84
+ def self.name_version(fact_hash)
85
+ version = fact_hash['lsbdistrelease']
86
+ version ||= fact_hash['macosx_productversion']
87
+ version ||= fact_hash['operatingsystemrelease']
88
+ end
89
+
90
+ def self.name_codename(fact_hash)
91
+ return fact_hash['lsbdistcodename'] unless fact_hash['osfamily'] == 'RedHat'
92
+ nil
93
+ end
94
+
95
+ #private
96
+ def self.make_sane_name(fact_hash)
97
+ osname = name_osname(fact_hash)
98
+ codename = name_codename(fact_hash)
99
+ version = name_version(fact_hash)
100
+ architecture = fact_hash['architecture']
101
+ puppet_version = puppet_name(fact_hash)
102
+ fact_style = fact_style(fact_hash)
103
+
104
+ return [osname, codename, version, architecture, puppet_version, fact_style].compact.join('_')
105
+ end
106
+
107
+ def self.is_pe(fact_hash)
108
+ return true if fact_hash['puppetversion'].downcase.include?('puppet enterprise')
109
+ false
110
+ end
111
+
112
+ def self.puppet_name(fact_hash)
113
+ if is_pe(fact_hash)
114
+ version = fact_hash['puppetversion'].delete('()').split[3]
115
+ return "PE-#{version}"
116
+ else
117
+ return fact_hash['puppetversion']
118
+ end
119
+ end
120
+
121
+ @proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
122
+ if Dir[File.join(@proj_root,"facts")].empty?
123
+ abort("facts dir missing")
124
+ end
125
+
126
+ def self.fact_style(fact_hash)
127
+ if SemVer.new(fact_hash['facterversion']) > SemVer.new('2.0.0')
128
+ return 'structured' if fact_hash['system_uptime'].is_a?(Hash)
129
+ return 'stringified' if fact_hash['system_uptime'] == nil
130
+ elsif SemVer.new(fact_hash['facterversion']) < SemVer.new('2.0.0')
131
+ return 'stringified' if fact_hash['system_uptime'] == nil
132
+ end
133
+ raise('cannot determine whether fact hash is structured or stringified')
134
+ end
135
+
136
+ def self.get_jsonfile(filename)
137
+ JSON.parse(File.read(filename))
138
+ end
139
+ end
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'puppet_spec_facts/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "puppet_spec_facts"
8
+ spec.version = PuppetSpecFacts::VERSION
9
+ spec.authors = ["Daniel Dreier"]
10
+ spec.email = ["d@puppetlabs.com"]
11
+ spec.summary = %q{Provide facter facts to rspec-puppet}
12
+ spec.description = %q{Support iteration of }
13
+ spec.homepage = "https://github.com/danieldreier/puppet_spec_facts"
14
+ spec.license = "Apache License, Version 2.0"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.6"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency 'rspec'
24
+ spec.add_development_dependency 'coveralls'
25
+ spec.add_runtime_dependency 'puppet', '~> 3.7'
26
+ spec.add_runtime_dependency 'json'
27
+ end
@@ -0,0 +1,102 @@
1
+ require 'spec_helper'
2
+
3
+ stringified_hash = {
4
+ "kernel" => "Linux",
5
+ "osfamily" => "Debian",
6
+ "operatingsystem" => "Debian",
7
+ "facterversion" => "1.7.5"
8
+ }
9
+ structured_hash = {
10
+ "kernel" => "Linux",
11
+ "osfamily" => "Debian",
12
+ "operatingsystem" => "Debian",
13
+ "facterversion" => "2.2.0",
14
+ "system_uptime" => {
15
+ "seconds" => 15416,
16
+ "hours" => 4,
17
+ "days" => 0,
18
+ "uptime" => "4:16 hours"
19
+ }
20
+ }
21
+ # structured facts only existed after facter 2.x
22
+ impossible_hash = {
23
+ "facterversion" => "1.0.0",
24
+ "system_uptime" => {
25
+ "seconds" => 15416,
26
+ }
27
+ }
28
+
29
+ pe_hash = {
30
+ "kernel" => "Linux",
31
+ "osfamily" => "Debian",
32
+ "operatingsystem" => "Debian",
33
+ 'puppetversion' => '3.6.2 (Puppet Enterprise 3.3.2)'
34
+ }
35
+ foss_hash = {
36
+ "kernel" => "Linux",
37
+ "osfamily" => "Debian",
38
+ "operatingsystem" => "Debian",
39
+ 'puppetversion' => '3.6.2'
40
+ }
41
+
42
+ describe PuppetSpecFacts do
43
+ describe 'fact_style' do
44
+ it 'detects stringified facts' do
45
+ expect(PuppetSpecFacts.fact_style(stringified_hash)).to eq('stringified')
46
+ end
47
+ it 'detects structured facts' do
48
+ expect(PuppetSpecFacts.fact_style(structured_hash)).to eq('structured')
49
+ end
50
+ it 'raises an error given an invalid input' do
51
+ expect { PuppetSpecFacts.fact_style(impossible_hash) }.to raise_error
52
+ end
53
+ end
54
+
55
+ describe 'is_pe' do
56
+ it 'returns true if hash is from Puppet Enterprise' do
57
+ expect(PuppetSpecFacts.is_pe(pe_hash)).to be true
58
+ end
59
+ it 'returns false if hash is from open source Puppet' do
60
+ expect(PuppetSpecFacts.is_pe(foss_hash)).to be false
61
+ end
62
+ end
63
+
64
+ describe 'puppet_name' do
65
+ it 'contains "PE" given a PE hash' do
66
+ expect(PuppetSpecFacts.puppet_name({'puppetversion' => '3.6.2 (Puppet Enterprise 3.3.2)'})).to include('PE-')
67
+ end
68
+ it 'is the puppet version given a foss hash' do
69
+ expect(PuppetSpecFacts.puppet_name({'puppetversion' => '3.6.2'})).to eq('3.6.2')
70
+ end
71
+ end
72
+
73
+ describe 'puppet_platforms' do
74
+ it 'returns at least five values' do
75
+ expect(PuppetSpecFacts.puppet_platforms.count).to be >= 5
76
+ end
77
+ it 'returns a hash' do
78
+ expect(PuppetSpecFacts.puppet_platforms).to be_a(Hash)
79
+ end
80
+ end
81
+
82
+ describe 'puppet_platform_names' do
83
+ it 'returns an array' do
84
+ expect(PuppetSpecFacts.puppet_platform_names).to be_an(Array)
85
+ end
86
+ it 'returns at least five values' do
87
+ expect(PuppetSpecFacts.puppet_platform_names.count).to be >= 5
88
+ end
89
+ end
90
+
91
+ describe 'facts_for_platform_by_fact' do
92
+ it 'returns at least 5 values for "architecture" => "x86_64"' do
93
+ expect(PuppetSpecFacts.facts_for_platform_by_fact(select_facts: { "architecture" => "x86_64" }).count).to be >= 5
94
+ end
95
+ it 'returns at least 5 values for "kernel" => "Linux"' do
96
+ expect(PuppetSpecFacts.facts_for_platform_by_fact(select_facts: { "kernel" => "Linux" }).count).to be >= 5
97
+ end
98
+ it 'returns no values for "architecture" => "foo"' do
99
+ expect(PuppetSpecFacts.facts_for_platform_by_fact(select_facts: { "architecture" => "foo" }).count).to eq(0)
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,5 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
4
+ require 'puppet_spec_facts'
5
+ require 'rspec'
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: puppet_spec_facts
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Dreier
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: puppet
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.7'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: json
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: 'Support iteration of '
98
+ email:
99
+ - d@puppetlabs.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".ruby-gemset"
106
+ - ".ruby-version"
107
+ - ".travis.yml"
108
+ - Gemfile
109
+ - LICENSE.txt
110
+ - README.md
111
+ - Rakefile
112
+ - Vagrantfile
113
+ - facts/Archlinux/Archlinux_3.15.8-1-ARCH_x86_64_3.5.1_stringified.json
114
+ - facts/CentOS/CentOS_5.11_i386_3.7.1_structured.json
115
+ - facts/CentOS/CentOS_5.11_i386_PE-3.3.2_stringified.json
116
+ - facts/CentOS/CentOS_5.11_x86_64_3.7.1_structured.json
117
+ - facts/CentOS/CentOS_5.11_x86_64_PE-3.3.2_stringified.json
118
+ - facts/Debian/Debian_wheezy_7.7_amd64_3.7.2_structured.json
119
+ - facts/Debian/Debian_wheezy_7.7_amd64_PE-3.3.2_stringified.json
120
+ - facts/Debian/Debian_wheezy_7.7_i386_PE-3.3.2_stringified.json
121
+ - facts/FreeBSD/FreeBSD_10.0-RELEASE_amd64_3.6.2_structured.json
122
+ - facts/SLES/SLES_11.1_x86_64_3.1.1_stringified.json
123
+ - facts/Ubuntu/Ubuntu_precise_12.04_amd64_PE-3.3.2_stringified.json
124
+ - facts/Ubuntu/Ubuntu_precise_12.04_i386_PE-3.3.2_stringified.json
125
+ - facts/Ubuntu/Ubuntu_saucy_13.10_amd64_3.5.1_stringified.json
126
+ - facts/Ubuntu/Ubuntu_trusty_14.04_amd64_PE-3.3.2_stringified.json
127
+ - facts/Ubuntu/Ubuntu_trusty_14.04_i386_PE-3.3.2_stringified.json
128
+ - facts/darwin/Darwin_10.9.5_x86_64_3.4.3_stringified.json
129
+ - facts/darwin/Darwin_10.9.5_x86_64_3.7.3_structured.json
130
+ - lib/puppet_spec_facts.rb
131
+ - lib/puppet_spec_facts/version.rb
132
+ - puppet_spec_facts.gemspec
133
+ - spec/lib/puppet_spec_facts_spec.rb
134
+ - spec/spec_helper.rb
135
+ homepage: https://github.com/danieldreier/puppet_spec_facts
136
+ licenses:
137
+ - Apache License, Version 2.0
138
+ metadata: {}
139
+ post_install_message:
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 2.2.2
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: Provide facter facts to rspec-puppet
159
+ test_files:
160
+ - spec/lib/puppet_spec_facts_spec.rb
161
+ - spec/spec_helper.rb