rspec-puppet 2.12.0 → 3.0.0.rc.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +139 -483
  3. data/README.md +18 -5
  4. data/bin/rspec-puppet-init +4 -3
  5. data/lib/rspec-puppet/adapters.rb +67 -61
  6. data/lib/rspec-puppet/cache.rb +3 -2
  7. data/lib/rspec-puppet/consts.rb +16 -14
  8. data/lib/rspec-puppet/coverage.rb +37 -42
  9. data/lib/rspec-puppet/errors.rb +6 -6
  10. data/lib/rspec-puppet/example/application_example_group.rb +3 -1
  11. data/lib/rspec-puppet/example/class_example_group.rb +3 -1
  12. data/lib/rspec-puppet/example/define_example_group.rb +3 -1
  13. data/lib/rspec-puppet/example/function_example_group.rb +28 -23
  14. data/lib/rspec-puppet/example/host_example_group.rb +3 -1
  15. data/lib/rspec-puppet/example/provider_example_group.rb +2 -0
  16. data/lib/rspec-puppet/example/type_alias_example_group.rb +4 -2
  17. data/lib/rspec-puppet/example/type_example_group.rb +3 -1
  18. data/lib/rspec-puppet/example.rb +6 -7
  19. data/lib/rspec-puppet/facter_impl.rb +11 -10
  20. data/lib/rspec-puppet/matchers/allow_value.rb +10 -10
  21. data/lib/rspec-puppet/matchers/compile.rb +54 -61
  22. data/lib/rspec-puppet/matchers/count_generic.rb +18 -18
  23. data/lib/rspec-puppet/matchers/create_generic.rb +66 -78
  24. data/lib/rspec-puppet/matchers/dynamic_matchers.rb +13 -2
  25. data/lib/rspec-puppet/matchers/include_class.rb +5 -4
  26. data/lib/rspec-puppet/matchers/parameter_matcher.rb +11 -12
  27. data/lib/rspec-puppet/matchers/raise_error.rb +5 -1
  28. data/lib/rspec-puppet/matchers/run.rb +41 -44
  29. data/lib/rspec-puppet/matchers/type_matchers.rb +37 -48
  30. data/lib/rspec-puppet/matchers.rb +2 -0
  31. data/lib/rspec-puppet/monkey_patches/win32/registry.rb +7 -5
  32. data/lib/rspec-puppet/monkey_patches/win32/taskscheduler.rb +3 -1
  33. data/lib/rspec-puppet/monkey_patches/windows/taskschedulerconstants.rb +208 -205
  34. data/lib/rspec-puppet/monkey_patches.rb +56 -56
  35. data/lib/rspec-puppet/rake_task.rb +6 -4
  36. data/lib/rspec-puppet/raw_string.rb +2 -0
  37. data/lib/rspec-puppet/sensitive.rb +9 -7
  38. data/lib/rspec-puppet/setup.rb +43 -48
  39. data/lib/rspec-puppet/spec_helper.rb +2 -0
  40. data/lib/rspec-puppet/support.rb +133 -134
  41. data/lib/rspec-puppet/tasks/release_test.rb +8 -5
  42. data/lib/rspec-puppet/version.rb +5 -0
  43. data/lib/rspec-puppet.rb +43 -51
  44. metadata +11 -9
@@ -1,10 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RSpec::Puppet
2
4
  module TypeMatchers
3
-
4
5
  class CreateGeneric
5
-
6
- def initialize(*args, &block)
7
-
6
+ def initialize(*_args)
8
7
  @exp_provider = nil
9
8
  @exp_parameters = []
10
9
  @exp_properties = []
@@ -22,19 +21,19 @@ module RSpec::Puppet
22
21
 
23
22
  # ensures the listed properties are valid
24
23
  def with_properties(props)
25
- @exp_properties = @exp_properties | Array(props)
24
+ @exp_properties |= Array(props)
26
25
  self
27
26
  end
28
27
 
29
28
  # ensures the listed parameters are valid
30
29
  def with_parameters(params)
31
- @exp_parameters = @exp_parameters | Array(params)
30
+ @exp_parameters |= Array(params)
32
31
  self
33
32
  end
34
33
 
35
34
  # ensure the type has the list of features
36
35
  def with_features(features)
37
- @exp_features = @exp_features | Array(features)
36
+ @exp_features |= Array(features)
38
37
  self
39
38
  end
40
39
 
@@ -59,9 +58,8 @@ module RSpec::Puppet
59
58
  type = type_title_and_params[0]
60
59
  title = type_title_and_params[1]
61
60
  params = type_title_and_params[2]
62
- unless match_params(type) && match_props(type) && match_features(type)
63
- return false
64
- end
61
+ return false unless match_params(type) && match_props(type) && match_features(type)
62
+
65
63
  if @params_with_values != {} || @exp_provider
66
64
  # only build a resource if we are validating provider or setting
67
65
  # additional parameters
@@ -97,25 +95,20 @@ module RSpec::Puppet
97
95
  # checks that the expected provider is set
98
96
  #
99
97
  def match_default_provider(resource)
100
- if @exp_provider
101
- if resource[:provider] == @exp_provider
102
- return true
103
- else
104
- @errors.push("Expected provider: #{@exp_provider} does not match: #{resource[:provider]}")
105
- return false
106
- end
107
- else
108
- return true
109
- end
98
+ return true unless @exp_provider
99
+ return true if resource[:provider] == @exp_provider
100
+
101
+ @errors.push("Expected provider: #{@exp_provider} does not match: #{resource[:provider]}")
102
+ false
110
103
  end
111
104
 
112
- def match_default_values(resource)
113
- # TODO FINISH
105
+ def match_default_values(_resource)
106
+ # TODO: FINISH
114
107
  true
115
108
  end
116
109
 
117
110
  def description
118
- "be a valid type"
111
+ 'be a valid type'
119
112
  end
120
113
 
121
114
  def failure_message
@@ -124,35 +117,31 @@ module RSpec::Puppet
124
117
 
125
118
  private
126
119
 
127
- def match_attrs(type, attrs, attr_type)
128
- baddies = []
129
- attrs.each do |param|
130
- param = param.to_sym
131
- if attr_type == :feature
132
- unless type.provider_feature(param)
133
- baddies.push(param)
134
- end
135
- elsif ! type.send("valid#{attr_type}?".to_sym, param)
136
- baddies.push(param)
137
- end
138
- end
139
- if baddies.size > 0
140
- @errors.push("Invalid #{pluralize(attr_type)}: #{baddies.join(',')}")
141
- false
142
- else
143
- true
120
+ def match_attrs(type, attrs, attr_type)
121
+ baddies = []
122
+ attrs.each do |param|
123
+ param = param.to_sym
124
+ if attr_type == :feature
125
+ baddies.push(param) unless type.provider_feature(param)
126
+ elsif !type.send("valid#{attr_type}?".to_sym, param)
127
+ baddies.push(param)
144
128
  end
145
129
  end
146
-
147
- def pluralize(name)
148
- if name == :property
149
- "properties"
150
- else
151
- "#{name}s"
152
- end
130
+ if baddies.size.positive?
131
+ @errors.push("Invalid #{pluralize(attr_type)}: #{baddies.join(',')}")
132
+ false
133
+ else
134
+ true
153
135
  end
136
+ end
154
137
 
138
+ def pluralize(name)
139
+ if name == :property
140
+ 'properties'
141
+ else
142
+ "#{name}s"
143
+ end
144
+ end
155
145
  end
156
-
157
146
  end
158
147
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rspec-puppet/matchers/create_generic'
2
4
  require 'rspec-puppet/matchers/include_class'
3
5
  require 'rspec-puppet/matchers/compile'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RSpec
2
4
  module Puppet
3
5
  module Win32
@@ -37,9 +39,9 @@ module RSpec
37
39
  KEY_NOTIFY = 0x0010
38
40
  KEY_CREATE_LINK = 0x0020
39
41
  KEY_READ = STANDARD_RIGHTS_READ |
40
- KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY
42
+ KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY
41
43
  KEY_WRITE = STANDARD_RIGHTS_WRITE |
42
- KEY_SET_VALUE | KEY_CREATE_SUB_KEY
44
+ KEY_SET_VALUE | KEY_CREATE_SUB_KEY
43
45
  KEY_EXECUTE = KEY_READ
44
46
  KEY_ALL_ACCESS = KEY_READ | KEY_WRITE | KEY_CREATE_LINK
45
47
 
@@ -50,8 +52,8 @@ module RSpec
50
52
  REG_OPTION_BACKUP_RESTORE = 0x0004
51
53
  REG_OPTION_OPEN_LINK = 0x0008
52
54
  REG_LEGAL_OPTION = REG_OPTION_RESERVED |
53
- REG_OPTION_NON_VOLATILE | REG_OPTION_CREATE_LINK |
54
- REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK
55
+ REG_OPTION_NON_VOLATILE | REG_OPTION_CREATE_LINK |
56
+ REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK
55
57
 
56
58
  REG_CREATED_NEW_KEY = 1
57
59
  REG_OPENED_EXISTING_KEY = 2
@@ -62,7 +64,7 @@ module RSpec
62
64
  REG_FORCE_RESTORE = 0x0008
63
65
 
64
66
  MAX_KEY_LENGTH = 514
65
- MAX_VALUE_LENGTH = 32768
67
+ MAX_VALUE_LENGTH = 32_768
66
68
  end
67
69
  include Constants
68
70
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Create our dummy Win32::TaskScheduler with the consts defined from
2
4
  # https://github.com/djberg96/win32-taskscheduler/blob/ole/lib/win32/taskscheduler.rb
3
5
 
@@ -9,7 +11,7 @@ module RSpec
9
11
  class TaskScheduler
10
12
  include Windows::TaskSchedulerConstants
11
13
 
12
- DAYS_IN_A_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
14
+ DAYS_IN_A_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31].freeze
13
15
 
14
16
  IDLE = IDLE_PRIORITY_CLASS
15
17
  NORMAL = NORMAL_PRIORITY_CLASS