rspec-puppet 2.7.9 → 2.7.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca4beef2e1c4c55e6e0e79b0fd9d03fb05a1462166632aa64c6df9b37ca93e51
4
- data.tar.gz: 7b4c5948d175bbfad4f46fcf89ac1ec8427dbc1457cf3f767dc656427a30b6ce
3
+ metadata.gz: 38af21b6f0c4e9fcfeb90c063d299c725fd80d63e6d74b44d0a6e6f937f6d955
4
+ data.tar.gz: 977523988ad9525e31c461040c33894e1cbd79c9180252f9521f8b8172ac111b
5
5
  SHA512:
6
- metadata.gz: 3a24ffc5d27c563a0bfe01be6f6881119955ad7a46afe330ffa9a787102186b41ba1af6d26df8984202746aefa5fca432860074e874073aba9a2fe69e87099d7
7
- data.tar.gz: 19e34976f263b427406002ffa5ba26711814d49558c1bc2f396fd03415ce0ec7fe018052d4e90db5e295127561d1e8a1c30371fc32d856a14a0d34c81a29b1a4
6
+ metadata.gz: e8145ad0c55a4c52f7032f67ea2f73dc7fb72f162c32214e8b3e5aa5bd69efe1bd0ded6c2e36cff165e2e8f51734e0f94017c74f07ad0ce3b1bbeca90463ad34
7
+ data.tar.gz: 149c839eb092309b0e3bb1be2c0887aed4dc0ebe8fb9ea2b4b5b562a797df8b39800486e24e181dc7d44abdddbe94bc9938978e0d5862e35fa73581203475545
@@ -2,10 +2,15 @@
2
2
  All notable changes to this project will be documented in this file. This
3
3
  project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
- ## [2.7.9]
5
+ ## [2.7.10]
6
+
6
7
  ### Fixed
7
8
  * Fix issues with removal of `default_env` method in Puppet 6.17.0.
8
9
 
10
+ ## [2.7.9]
11
+
12
+ This release had unintended breaking changes and was withdrawn.
13
+
9
14
  ## [2.7.8]
10
15
 
11
16
  ### Fixed
@@ -11,17 +11,12 @@ module RSpec::Puppet
11
11
  end
12
12
 
13
13
  def get(*args, &blk)
14
+ # decouple the hash key from whatever the blk might do to it
14
15
  key = Marshal.load(Marshal.dump(args))
15
- if @cache.has_key?(key)
16
- # Cache hit
17
- # move that entry last to make it "most recenty used"
18
- @lra.insert(-1, @lra.delete_at(@lra.index(args)))
19
- else
20
- # Cache miss
21
- # Ensure room by evicting least recently used if no space left
16
+ if !@cache.has_key? key
17
+ @cache[key] = (blk || @default_proc).call(*args)
18
+ @lra << key
22
19
  expire!
23
- @cache[args] = (blk || @default_proc).call(*args)
24
- @lra << args
25
20
  end
26
21
 
27
22
  @cache[key]
@@ -30,8 +25,8 @@ module RSpec::Puppet
30
25
  private
31
26
 
32
27
  def expire!
33
- # delete one entry (the oldest) when there is no room in cache
34
- @cache.delete(@lra.shift) if @cache.size == MAX_ENTRIES
28
+ expired = @lra.slice!(0, @lra.size - MAX_ENTRIES)
29
+ expired.each { |key| @cache.delete(key) } if expired
35
30
  end
36
31
  end
37
32
  end
@@ -89,11 +89,6 @@ module RSpec::Puppet
89
89
  else
90
90
  RSpec::Puppet::Coverage.cover!(resource)
91
91
  rsrc_hsh = resource.to_hash
92
- if resource.respond_to?(:sensitive_parameters)
93
- resource.sensitive_parameters.each do |s_param|
94
- rsrc_hsh[s_param] = ::Puppet::Pops::Types::PSensitiveType::Sensitive.new(rsrc_hsh[s_param])
95
- end
96
- end
97
92
 
98
93
  if resource.builtin_type?
99
94
  namevar = resource.resource_type.key_attributes.first.to_s
@@ -21,7 +21,10 @@ module RSpec::Puppet
21
21
  #
22
22
  # @return [true, false]
23
23
  def matches?(resource)
24
- actual = resource[@parameter]
24
+
25
+ @resource = resource
26
+
27
+ actual = @resource[@parameter]
25
28
  expected = @value
26
29
 
27
30
  # Puppet flattens an array with a single value into just the value and
@@ -62,8 +65,6 @@ module RSpec::Puppet
62
65
  check_hash(expected, actual)
63
66
  when Array
64
67
  check_array(expected, actual)
65
- when RSpec::Puppet::Sensitive
66
- expected == actual
67
68
  else
68
69
  check_string(expected, actual)
69
70
  end
@@ -302,24 +302,6 @@ class Pathname
302
302
  end
303
303
  end
304
304
 
305
- # Puppet loads init.pp, then foo.pp, to find class "mod::foo". If
306
- # class "mod" has been mocked using pre_condition when testing
307
- # "mod::foo", this causes duplicate declaration for "mod".
308
- # This monkey patch only loads "init.pp" if "foo.pp" does not exist.
309
- class Puppet::Module
310
- if [:match_manifests, 'match_manifests'].any? { |r| instance_methods.include?(r) }
311
- old_match_manifests = instance_method(:match_manifests)
312
-
313
- define_method(:match_manifests) do |rest|
314
- result = old_match_manifests.bind(self).call(rest)
315
- if result.length > 1 && File.basename(result[0]) == 'init.pp'
316
- result.shift
317
- end
318
- result
319
- end
320
- end
321
- end
322
-
323
305
  # Prevent the File type from munging paths (which uses File.expand_path to
324
306
  # normalise paths, which does very bad things to *nix paths on Windows.
325
307
  file_path_munge = Puppet::Type.type(:file).paramclass(:path).instance_method(:unsafe_munge)
@@ -1,7 +1,6 @@
1
1
  require 'rspec-puppet/cache'
2
2
  require 'rspec-puppet/adapters'
3
3
  require 'rspec-puppet/raw_string'
4
- require 'rspec-puppet/sensitive'
5
4
 
6
5
  module RSpec::Puppet
7
6
  module Support
@@ -441,7 +440,8 @@ module RSpec::Puppet
441
440
  end
442
441
 
443
442
  def escape_special_chars(string)
444
- string.gsub(/\$/, "\\$")
443
+ string.gsub!(/\$/, "\\$")
444
+ string
445
445
  end
446
446
 
447
447
  def rspec_compatibility
@@ -462,14 +462,6 @@ module RSpec::Puppet
462
462
  return RSpec::Puppet::RawString.new("#{type}['#{title}']")
463
463
  end
464
464
 
465
- # Helper to return value wrapped in Sensitive type.
466
- #
467
- # @param [Object] value to wrap
468
- # @return [RSpec::Puppet::Sensitive] a new Sensitive wrapper with the new value
469
- def sensitive(value)
470
- return RSpec::Puppet::Sensitive.new(value)
471
- end
472
-
473
465
  # @!attribute [r] adapter
474
466
  # @api private
475
467
  # @return [Class < RSpec::Puppet::Adapters::Base]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.9
4
+ version: 2.7.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Sharpe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-14 00:00:00.000000000 Z
11
+ date: 2020-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -66,7 +66,6 @@ files:
66
66
  - lib/rspec-puppet/monkey_patches/windows/taskschedulerconstants.rb
67
67
  - lib/rspec-puppet/rake_task.rb
68
68
  - lib/rspec-puppet/raw_string.rb
69
- - lib/rspec-puppet/sensitive.rb
70
69
  - lib/rspec-puppet/setup.rb
71
70
  - lib/rspec-puppet/spec_helper.rb
72
71
  - lib/rspec-puppet/support.rb
@@ -1,47 +0,0 @@
1
- module RSpec::Puppet
2
- if defined?(::Puppet::Pops::Types::PSensitiveType::Sensitive)
3
- # A wrapper representing Sensitive data type, eg. in class params.
4
- class Sensitive < ::Puppet::Pops::Types::PSensitiveType::Sensitive
5
- # Create a new Sensitive object
6
- # @param [Object] value to wrap
7
- def initialize(value)
8
- @value = value
9
- end
10
-
11
- # @return the wrapped value
12
- def unwrap
13
- @value
14
- end
15
-
16
- # @return true
17
- def sensitive?
18
- true
19
- end
20
-
21
- # @return inspect of the wrapped value, inside Sensitive()
22
- def inspect
23
- "Sensitive(#{@value.inspect})"
24
- end
25
-
26
- # Check for equality with another value.
27
- # If compared to Puppet Sensitive type, it compares the wrapped values.
28
-
29
- # @param other [#unwrap, Object] value to compare to
30
- def == other
31
- if other.respond_to? :unwrap
32
- return unwrap == other.unwrap
33
- else
34
- super
35
- end
36
- end
37
- end
38
- else
39
- #:nocov:
40
- class Sensitive
41
- def initialize(value)
42
- raise 'The use of the Sensitive data type is not supported by this Puppet version'
43
- end
44
- end
45
- #:nocov:
46
- end
47
- end