rspec-puppet 2.5.0 → 2.6.0

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.
@@ -12,6 +12,14 @@ module RSpec::Puppet
12
12
  return false
13
13
  end
14
14
 
15
+ safe_setup_directories(module_name)
16
+ safe_touch(File.join('spec', 'fixtures', 'manifests', 'site.pp'))
17
+
18
+ safe_create_spec_helper
19
+ safe_create_rakefile
20
+ end
21
+
22
+ def self.safe_setup_directories(module_name=nil, verbose=true)
15
23
  if module_name.nil?
16
24
  module_name = get_module_name
17
25
  if module_name.nil?
@@ -22,28 +30,33 @@ module RSpec::Puppet
22
30
 
23
31
  [
24
32
  'spec',
25
- 'spec/classes',
26
- 'spec/defines',
27
- 'spec/functions',
28
- 'spec/hosts',
29
- 'spec/fixtures',
30
- 'spec/fixtures/manifests',
31
- 'spec/fixtures/modules',
32
- "spec/fixtures/modules/#{module_name}",
33
- ].each { |dir| safe_mkdir(dir) }
34
-
35
- safe_touch('spec/fixtures/manifests/site.pp')
36
-
37
- %w(data manifests lib files templates functions types).each do |dir|
38
- if File.exist? dir
39
- safe_make_symlink("../../../../#{dir}", "spec/fixtures/modules/#{module_name}/#{dir}")
33
+ File.join('spec', 'classes'),
34
+ File.join('spec', 'defines'),
35
+ File.join('spec', 'functions'),
36
+ File.join('spec', 'hosts'),
37
+ File.join('spec', 'fixtures'),
38
+ File.join('spec', 'fixtures', 'manifests'),
39
+ File.join('spec', 'fixtures', 'modules'),
40
+ ].each { |dir| safe_mkdir(dir, verbose) }
41
+
42
+ target = File.join('spec', 'fixtures', 'modules', module_name)
43
+ safe_make_link('.', target, verbose)
44
+ end
45
+
46
+ def self.safe_teardown_links(module_name=nil)
47
+ if module_name.nil?
48
+ module_name = get_module_name
49
+ if module_name.nil?
50
+ $stderr.puts "Unable to determine module name. Aborting"
51
+ return false
40
52
  end
41
53
  end
42
54
 
43
- safe_create_spec_helper
44
- safe_create_rakefile
55
+ target = File.join('spec', 'fixtures', 'modules', module_name)
56
+ if File.symlink?(target) && File.readlink(target) == File.expand_path('.')
57
+ File.unlink(target)
58
+ end
45
59
  end
46
-
47
60
  protected
48
61
  def self.get_module_name
49
62
  module_name = nil
@@ -78,14 +91,14 @@ module RSpec::Puppet
78
91
  Dir["*"].entries.include? "manifests"
79
92
  end
80
93
 
81
- def self.safe_mkdir(dir)
94
+ def self.safe_mkdir(dir, verbose=true)
82
95
  if File.exists? dir
83
96
  unless File.directory? dir
84
97
  $stderr.puts "!! #{dir} already exists and is not a directory"
85
98
  end
86
99
  else
87
100
  FileUtils.mkdir dir
88
- puts " + #{dir}/"
101
+ puts " + #{dir}/" if verbose
89
102
  end
90
103
  end
91
104
 
@@ -115,18 +128,26 @@ module RSpec::Puppet
115
128
  end
116
129
 
117
130
  def self.safe_create_spec_helper
118
- content = "require 'rspec-puppet/spec_helper'\n"
131
+ content = File.read(File.expand_path(File.join(__FILE__, '..', 'spec_helper.rb')))
119
132
  safe_create_file('spec/spec_helper.rb', content)
120
133
  end
121
134
 
122
- def self.safe_make_symlink(source, target)
123
- if File.exists? target
124
- unless File.symlink? target
135
+ def self.safe_make_link(source, target, verbose=true)
136
+ if File.exists?(target)
137
+ unless File.symlink?(target) && File.readlink(target) == File.expand_path(source)
125
138
  $stderr.puts "!! #{target} already exists and is not a symlink"
126
139
  end
127
140
  else
128
- FileUtils.ln_s(source, target)
129
- puts " + #{target}"
141
+ if Puppet::Util::Platform.windows?
142
+ output = `call mklink /J "#{target.gsub('/', '\\')}" "#{source}"`
143
+ unless $?.success?
144
+ puts output
145
+ abort
146
+ end
147
+ else
148
+ FileUtils.ln_s(File.expand_path(source), target)
149
+ end
150
+ puts " + #{target}" if verbose
130
151
  end
131
152
  end
132
153
 
@@ -1,9 +1,10 @@
1
1
  require 'rspec-puppet'
2
2
 
3
- fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
3
+ fixture_path = File.join(File.dirname(File.expand_path(__FILE__)), 'fixtures')
4
4
 
5
5
  RSpec.configure do |c|
6
- c.module_path = File.join(fixture_path, 'modules')
7
- c.manifest_dir = File.join(fixture_path, 'manifests')
6
+ c.module_path = File.join(fixture_path, 'modules')
7
+ c.manifest_dir = File.join(fixture_path, 'manifests')
8
+ c.manifest = File.join(fixture_path, 'manifests', 'site.pp')
8
9
  c.environmentpath = File.join(Dir.pwd, 'spec')
9
10
  end
@@ -15,22 +15,84 @@ module RSpec::Puppet
15
15
  'rp_env'
16
16
  end
17
17
 
18
- def load_catalogue(type, exported = false)
19
- with_vardir do
20
- if Puppet.version.to_f >= 4.0 or Puppet[:parser] == 'future'
21
- code = [pre_cond, test_manifest(type)].compact.join("\n")
22
- else
23
- code = [import_str, pre_cond, test_manifest(type)].compact.join("\n")
24
- end
18
+ def build_code(type, manifest_opts)
19
+ if Puppet.version.to_f >= 4.0 or Puppet[:parser] == 'future'
20
+ [site_pp_str, pre_cond, test_manifest(type, manifest_opts), post_cond].compact.join("\n")
21
+ else
22
+ [import_str, pre_cond, test_manifest(type, manifest_opts), post_cond].compact.join("\n")
23
+ end
24
+ end
25
+
26
+ def guess_type_from_path(path)
27
+ case path
28
+ when /spec\/defines/
29
+ :define
30
+ when /spec\/classes/
31
+ :class
32
+ when /spec\/functions/
33
+ :function
34
+ when /spec\/hosts/
35
+ :host
36
+ when /spec\/types/
37
+ :type
38
+ when /spec\/type_aliases/
39
+ :type_alias
40
+ when /spec\/provider/
41
+ :provider
42
+ when /spec\/applications/
43
+ :application
44
+ else
45
+ :unknown
46
+ end
47
+ end
48
+
49
+ def stub_file_consts(example)
50
+ if example.respond_to?(:metadata)
51
+ type = example.metadata[:type]
52
+ else
53
+ type = guess_type_from_path(example.example.metadata[:file_path])
54
+ end
55
+
56
+ munged_facts = facts_hash(nodename(type))
25
57
 
58
+ if munged_facts['operatingsystem'] && munged_facts['operatingsystem'].to_s.downcase == 'windows'
59
+ stub_const_wrapper('File::PATH_SEPARATOR', ';')
60
+ stub_const_wrapper('File::ALT_SEPARATOR', "\\")
61
+ stub_const_wrapper('Pathname::SEPARATOR_PAT', /[#{Regexp.quote(File::ALT_SEPARATOR)}#{Regexp.quote(File::SEPARATOR)}]/)
62
+ else
63
+ stub_const_wrapper('File::PATH_SEPARATOR', ':')
64
+ stub_const_wrapper('File::ALT_SEPARATOR', nil)
65
+ stub_const_wrapper('Pathname::SEPARATOR_PAT', /#{Regexp.quote(File::SEPARATOR)}/)
66
+ end
67
+ end
68
+
69
+ def stub_const_wrapper(const, value)
70
+ if defined?(RSpec::Core::MockingAdapters::RSpec) && RSpec.configuration.mock_framework == RSpec::Core::MockingAdapters::RSpec
71
+ stub_const(const, value)
72
+ else
73
+ klass_name, const_name = const.split('::', 2)
74
+ klass = Object.const_get(klass_name)
75
+ klass.send(:remove_const, const_name) if klass.const_defined?(const_name)
76
+ klass.const_set(const_name, value)
77
+ end
78
+ end
79
+
80
+ def load_catalogue(type, exported = false, manifest_opts = {})
81
+ with_vardir do
26
82
  node_name = nodename(type)
27
83
 
28
84
  hiera_config_value = self.respond_to?(:hiera_config) ? hiera_config : nil
85
+ hiera_data_value = self.respond_to?(:hiera_data) ? hiera_data : nil
29
86
 
30
- catalogue = build_catalog(node_name, facts_hash(node_name), hiera_config_value, code, exported)
87
+ catalogue = build_catalog(node_name, facts_hash(node_name), trusted_facts_hash(node_name), hiera_config_value,
88
+ build_code(type, manifest_opts), exported, node_params_hash, hiera_data_value)
31
89
 
32
- test_module = class_name.split('::').first
33
- RSpec::Puppet::Coverage.add_filter(type.to_s, self.class.description)
90
+ test_module = type == :host ? nil : class_name.split('::').first
91
+ if type == :define
92
+ RSpec::Puppet::Coverage.add_filter(class_name, title)
93
+ else
94
+ RSpec::Puppet::Coverage.add_filter(type.to_s, class_name)
95
+ end
34
96
  RSpec::Puppet::Coverage.add_from_catalog(catalogue, test_module)
35
97
 
36
98
  catalogue
@@ -61,27 +123,41 @@ module RSpec::Puppet
61
123
  import_str
62
124
  end
63
125
 
64
- def test_manifest(type)
126
+ def site_pp_str
127
+ site_pp_str = ''
128
+ filepath = adapter.manifest
129
+
130
+ if (!filepath.nil?) && File.file?(filepath)
131
+ site_pp_str = File.open(filepath).read
132
+ end
133
+ site_pp_str
134
+ end
135
+
136
+ def test_manifest(type, opts = {})
137
+ opts[:params] = params if self.respond_to?(:params)
138
+
65
139
  if type == :class
66
- if !self.respond_to?(:params) || params == {}
140
+ if opts[:params].nil? || opts[:params] == {}
67
141
  "include #{class_name}"
68
142
  else
69
- "class { '#{class_name}': #{param_str} }"
143
+ "class { '#{class_name}': #{param_str(opts[:params])} }"
70
144
  end
71
145
  elsif type == :application
72
- if self.respond_to? :params
73
- "site { #{class_name} { '#{title}': #{param_str} } }"
146
+ if opts.has_key?(:params)
147
+ "site { #{class_name} { '#{title}': #{param_str(opts[:params])} } }"
74
148
  else
75
- raise ArgumentException, "You need to provide params for an application"
149
+ raise ArgumentError, "You need to provide params for an application"
76
150
  end
77
151
  elsif type == :define
78
- if self.respond_to? :params
79
- "#{class_name} { '#{title}': #{param_str} }"
152
+ if opts.has_key?(:params)
153
+ "#{class_name} { #{title.inspect}: #{param_str(opts[:params])} }"
80
154
  else
81
- "#{class_name} { '#{title}': }"
155
+ "#{class_name} { #{title.inspect}: }"
82
156
  end
83
157
  elsif type == :host
84
158
  nil
159
+ elsif type == :type_alias
160
+ "$test = #{str_from_value(opts[:test_value])}\nassert_type(#{self.class.top_level_description}, $test)"
85
161
  end
86
162
  end
87
163
 
@@ -110,28 +186,78 @@ module RSpec::Puppet
110
186
  end
111
187
  end
112
188
 
189
+ def post_cond
190
+ if self.respond_to?(:post_condition) && !post_condition.nil?
191
+ if post_condition.is_a? Array
192
+ post_condition.compact.join("\n")
193
+ else
194
+ post_condition
195
+ end
196
+ else
197
+ nil
198
+ end
199
+ end
200
+
113
201
  def facts_hash(node)
114
- facts_val = {
202
+ base_facts = {
115
203
  'clientversion' => Puppet::PUPPETVERSION,
116
204
  'environment' => environment,
205
+ }
206
+
207
+ node_facts = {
117
208
  'hostname' => node.split('.').first,
118
209
  'fqdn' => node,
119
210
  'domain' => node.split('.', 2).last,
120
- 'clientcert' => node
211
+ 'clientcert' => node,
212
+ 'networking' => {
213
+ 'fqdn' => node,
214
+ 'domain' => node.split('.', 2).last,
215
+ 'hostname' => node.split('.').first
216
+ }
121
217
  }
122
218
 
123
- if RSpec.configuration.default_facts.any?
124
- facts_val.merge!(munge_facts(RSpec.configuration.default_facts))
125
- end
219
+ result_facts = if RSpec.configuration.default_facts.any?
220
+ munge_facts(RSpec.configuration.default_facts)
221
+ else
222
+ {}
223
+ end
224
+
225
+ result_facts.merge!(munge_facts(base_facts))
226
+ result_facts.merge!(munge_facts(facts)) if self.respond_to?(:facts)
227
+ result_facts.merge!(munge_facts(node_facts))
228
+
229
+ # Facter currently supports lower case facts. Bug FACT-777 has been submitted to support case sensitive
230
+ # facts.
231
+ downcase_facts = Hash[result_facts.map { |k, v| [k.downcase, v] }]
232
+ downcase_facts
233
+ end
126
234
 
127
- facts_val.merge!(munge_facts(facts)) if self.respond_to?(:facts)
128
- facts_val
235
+ def node_params_hash
236
+ params = RSpec.configuration.default_node_params
237
+ if respond_to?(:node_params)
238
+ params.merge(node_params)
239
+ else
240
+ params.dup
241
+ end
129
242
  end
130
243
 
131
- def param_str
244
+ def param_str(params)
132
245
  param_str_from_hash(params)
133
246
  end
134
247
 
248
+ def trusted_facts_hash(node_name)
249
+ return {} unless Puppet::Util::Package.versioncmp(Puppet.version, '4.3.0') >= 0
250
+
251
+ extensions = {}
252
+
253
+ if RSpec.configuration.default_trusted_facts.any?
254
+ extensions.merge!(RSpec.configuration.default_trusted_facts)
255
+ end
256
+
257
+ extensions.merge!(trusted_facts) if self.respond_to?(:trusted_facts)
258
+ extensions
259
+ end
260
+
135
261
  def str_from_value(value)
136
262
  case value
137
263
  when Hash
@@ -139,8 +265,17 @@ module RSpec::Puppet
139
265
  "#{str_from_value(k)} => #{str_from_value(v)}"
140
266
  end.join(", ")
141
267
  "{ #{kvs} }"
268
+ when Array
269
+ vals = value.map do |v|
270
+ str_from_value(v)
271
+ end.join(", ")
272
+ "[ #{vals} ]"
273
+ when :default
274
+ 'default' # verbatim default keyword
142
275
  when :undef
143
276
  'undef' # verbatim undef keyword
277
+ when Symbol
278
+ str_from_value(value.to_s)
144
279
  else
145
280
  escape_special_chars(value.inspect)
146
281
  end
@@ -159,7 +294,7 @@ module RSpec::Puppet
159
294
  Puppet[:vardir] = vardir
160
295
 
161
296
  # Enable app_management by default for Puppet versions that support it
162
- if Puppet.version.to_f >= 4.3
297
+ if Puppet::Util::Package.versioncmp(Puppet.version, '4.3.0') >= 0 && Puppet.version.to_i < 5
163
298
  Puppet[:app_management] = true
164
299
  end
165
300
 
@@ -177,11 +312,11 @@ module RSpec::Puppet
177
312
  vardir = setup_puppet
178
313
  return yield(vardir) if block_given?
179
314
  ensure
180
- FileUtils.rm_rf(vardir) if File.directory?(vardir)
315
+ FileUtils.rm_rf(vardir) if vardir && File.directory?(vardir)
181
316
  end
182
317
  end
183
318
 
184
- def build_catalog_without_cache(nodename, facts_val, hiera_config_val, code, exported)
319
+ def build_catalog_without_cache(nodename, facts_val, trusted_facts_val, hiera_config_val, code, exported, node_params, *_)
185
320
 
186
321
  # If we're going to rebuild the catalog, we should clear the cached instance
187
322
  # of Hiera that Puppet is using. This opens the possibility of the catalog
@@ -197,13 +332,29 @@ module RSpec::Puppet
197
332
  stub_facts! facts_val
198
333
 
199
334
  node_facts = Puppet::Node::Facts.new(nodename, facts_val.dup)
335
+ node_params = facts_val.merge(node_params)
200
336
 
201
- node_obj = Puppet::Node.new(nodename, { :parameters => facts_val, :facts => node_facts })
337
+ node_obj = Puppet::Node.new(nodename, { :parameters => node_params, :facts => node_facts })
338
+
339
+ if Puppet::Util::Package.versioncmp(Puppet.version, '4.3.0') >= 0
340
+ Puppet.push_context(
341
+ {
342
+ :trusted_information => Puppet::Context::TrustedInformation.new('remote', nodename, trusted_facts_val)
343
+ },
344
+ "Context for spec trusted hash"
345
+ )
346
+ end
202
347
 
203
348
  adapter.catalog(node_obj, exported)
204
349
  end
205
350
 
206
351
  def stub_facts!(facts)
352
+ if facts['operatingsystem'] && facts['operatingsystem'].to_s.downcase == 'windows'
353
+ Puppet::Util::Platform.pretend_to_be :windows
354
+ else
355
+ Puppet::Util::Platform.pretend_to_be :posix
356
+ end
357
+ Puppet.settings[:autosign] = false
207
358
  facts.each { |k, v| Facter.add(k) { setcode { v } } }
208
359
  end
209
360
 
@@ -213,11 +364,9 @@ module RSpec::Puppet
213
364
  end
214
365
  end
215
366
 
216
- # Facter currently supports lower case facts. Bug FACT-777 has been submitted to support case sensitive
217
- # facts.
218
367
  def munge_facts(facts)
219
368
  return facts.reduce({}) do | memo, (k, v)|
220
- memo.tap { |m| m[k.to_s.downcase] = munge_facts(v) }
369
+ memo.tap { |m| m[k.to_s] = munge_facts(v) }
221
370
  end if facts.is_a? Hash
222
371
 
223
372
  return facts.reduce([]) do |memo, v|
data/lib/rspec-puppet.rb CHANGED
@@ -14,6 +14,12 @@ begin
14
14
  rescue LoadError
15
15
  end
16
16
 
17
+ RSpec.configure do |c|
18
+ c.add_setting :enable_pathname_stubbing, :default => false
19
+ end
20
+
21
+ require 'rspec-puppet/monkey_patches'
22
+
17
23
  RSpec.configure do |c|
18
24
  c.add_setting :environmentpath, :default => '/etc/puppetlabs/code/environments'
19
25
  c.add_setting :module_path, :default => nil
@@ -23,6 +29,8 @@ RSpec.configure do |c|
23
29
  c.add_setting :config, :default => nil
24
30
  c.add_setting :confdir, :default => '/etc/puppet'
25
31
  c.add_setting :default_facts, :default => {}
32
+ c.add_setting :default_node_params, :default => {}
33
+ c.add_setting :default_trusted_facts, :default => {}
26
34
  c.add_setting :hiera_config, :default => '/dev/null'
27
35
  c.add_setting :parser, :default => 'current'
28
36
  c.add_setting :trusted_node_data, :default => false
@@ -31,6 +39,10 @@ RSpec.configure do |c|
31
39
  c.add_setting :strict_variables, :default => false
32
40
  c.add_setting :adapter
33
41
 
42
+ c.before(:all) do
43
+ RSpec::Puppet::Setup.safe_setup_directories(nil, false)
44
+ end
45
+
34
46
  if defined?(Puppet::Test::TestHelper)
35
47
  begin
36
48
  Puppet::Test::TestHelper.initialize
@@ -55,6 +67,8 @@ RSpec.configure do |c|
55
67
  c.before :each do
56
68
  begin
57
69
  Puppet::Test::TestHelper.before_each_test
70
+ rescue Puppet::Context::DuplicateRollbackMarkError
71
+ Puppet::Test::TestHelper.send(:initialize_settings_before_each)
58
72
  rescue
59
73
  end
60
74
  end
@@ -74,4 +88,8 @@ RSpec.configure do |c|
74
88
  c.adapter = adapter
75
89
  end
76
90
  end
91
+
92
+ c.before :each do |example|
93
+ stub_file_consts(example) if self.respond_to?(:stub_file_consts)
94
+ end
77
95
  end
metadata CHANGED
@@ -1,27 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Tim Sharpe
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-10-25 00:00:00.000000000 Z
12
+ date: 2017-07-02 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rspec
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ">="
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ">="
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  description: RSpec tests for your Puppet manifests
@@ -33,56 +36,60 @@ extra_rdoc_files: []
33
36
  files:
34
37
  - CHANGELOG.md
35
38
  - README.md
36
- - bin/rspec-puppet-init
37
39
  - lib/rspec-puppet.rb
40
+ - lib/rspec-puppet/raw_string.rb
41
+ - lib/rspec-puppet/monkey_patches.rb
42
+ - lib/rspec-puppet/support.rb
43
+ - lib/rspec-puppet/matchers/run.rb
44
+ - lib/rspec-puppet/matchers/allow_value.rb
45
+ - lib/rspec-puppet/matchers/parameter_matcher.rb
46
+ - lib/rspec-puppet/matchers/count_generic.rb
47
+ - lib/rspec-puppet/matchers/create_generic.rb
48
+ - lib/rspec-puppet/matchers/dynamic_matchers.rb
49
+ - lib/rspec-puppet/matchers/include_class.rb
50
+ - lib/rspec-puppet/matchers/compile.rb
51
+ - lib/rspec-puppet/matchers/type_matchers.rb
52
+ - lib/rspec-puppet/spec_helper.rb
38
53
  - lib/rspec-puppet/adapters.rb
39
54
  - lib/rspec-puppet/cache.rb
55
+ - lib/rspec-puppet/setup.rb
40
56
  - lib/rspec-puppet/coverage.rb
41
- - lib/rspec-puppet/errors.rb
42
- - lib/rspec-puppet/example.rb
43
- - lib/rspec-puppet/example/application_example_group.rb
44
- - lib/rspec-puppet/example/class_example_group.rb
45
- - lib/rspec-puppet/example/define_example_group.rb
46
57
  - lib/rspec-puppet/example/function_example_group.rb
58
+ - lib/rspec-puppet/example/type_alias_example_group.rb
59
+ - lib/rspec-puppet/example/type_example_group.rb
47
60
  - lib/rspec-puppet/example/host_example_group.rb
48
61
  - lib/rspec-puppet/example/provider_example_group.rb
49
- - lib/rspec-puppet/example/type_example_group.rb
62
+ - lib/rspec-puppet/example/application_example_group.rb
63
+ - lib/rspec-puppet/example/define_example_group.rb
64
+ - lib/rspec-puppet/example/class_example_group.rb
65
+ - lib/rspec-puppet/example.rb
50
66
  - lib/rspec-puppet/matchers.rb
51
- - lib/rspec-puppet/matchers/compile.rb
52
- - lib/rspec-puppet/matchers/count_generic.rb
53
- - lib/rspec-puppet/matchers/create_generic.rb
54
- - lib/rspec-puppet/matchers/dynamic_matchers.rb
55
- - lib/rspec-puppet/matchers/include_class.rb
56
- - lib/rspec-puppet/matchers/parameter_matcher.rb
57
- - lib/rspec-puppet/matchers/run.rb
58
- - lib/rspec-puppet/matchers/type_matchers.rb
59
67
  - lib/rspec-puppet/rake_task.rb
60
- - lib/rspec-puppet/raw_string.rb
61
- - lib/rspec-puppet/setup.rb
62
- - lib/rspec-puppet/spec_helper.rb
63
- - lib/rspec-puppet/support.rb
68
+ - lib/rspec-puppet/errors.rb
69
+ - bin/rspec-puppet-init
64
70
  homepage: https://github.com/rodjek/rspec-puppet/
65
71
  licenses:
66
72
  - MIT
67
- metadata: {}
68
73
  post_install_message:
69
74
  rdoc_options: []
70
75
  require_paths:
71
76
  - lib
72
77
  required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
73
79
  requirements:
74
- - - ">="
80
+ - - ! '>='
75
81
  - !ruby/object:Gem::Version
76
82
  version: '0'
77
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
78
85
  requirements:
79
- - - ">="
86
+ - - ! '>='
80
87
  - !ruby/object:Gem::Version
81
88
  version: '0'
82
89
  requirements: []
83
90
  rubyforge_project:
84
- rubygems_version: 2.5.1
91
+ rubygems_version: 1.8.23.2
85
92
  signing_key:
86
- specification_version: 4
93
+ specification_version: 3
87
94
  summary: RSpec tests for your Puppet manifests
88
95
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 1a4f52ea0428c49bc328570e7a71776b75b800b2
4
- data.tar.gz: 461fadebe1cd4756715a99d54fefdf51c020a17b
5
- SHA512:
6
- metadata.gz: 8f79f8be40bf4e2c77e11ddf68130ea0fe97b8e629cf4768c2da1a15a096ed65fad3dff160208a36b9d221f652564956fc15113b56589562a8890c01a4678098
7
- data.tar.gz: bc64b10392874054ebf8cfe7712abc25874bfa3d44ebd3c6dced81d3eae7c99b359754dd3d74481dfc1851264ce347f8f76990e0022f8e653b622a77ade449d5