puppet 4.4.2 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (218) hide show
  1. data/CONTRIBUTING.md +5 -5
  2. data/Gemfile +2 -2
  3. data/LICENSE +2 -2
  4. data/README.md +5 -0
  5. data/ext/project_data.yaml +2 -0
  6. data/lib/hiera_puppet.rb +6 -14
  7. data/lib/puppet/application/agent.rb +2 -3
  8. data/lib/puppet/data_providers/hiera_config.rb +2 -4
  9. data/lib/puppet/data_providers/hiera_interpolate.rb +12 -154
  10. data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -7
  11. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -8
  12. data/lib/puppet/defaults.rb +70 -7
  13. data/lib/puppet/functions.rb +69 -0
  14. data/lib/puppet/functions/dig.rb +39 -0
  15. data/lib/puppet/functions/lest.rb +53 -0
  16. data/lib/puppet/functions/lookup.rb +40 -27
  17. data/lib/puppet/functions/new.rb +502 -0
  18. data/lib/puppet/functions/regsubst.rb +11 -10
  19. data/lib/puppet/functions/then.rb +74 -0
  20. data/lib/puppet/functions/type.rb +4 -4
  21. data/lib/puppet/functions/with.rb +1 -1
  22. data/lib/puppet/indirector/catalog/compiler.rb +2 -0
  23. data/lib/puppet/indirector/resource_type/parser.rb +5 -0
  24. data/lib/puppet/indirector/rest.rb +5 -1
  25. data/lib/puppet/loaders.rb +2 -0
  26. data/lib/puppet/metatype/manager.rb +19 -2
  27. data/lib/puppet/module_tool/applications/application.rb +1 -1
  28. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +6 -2
  29. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +19 -4
  30. data/lib/puppet/module_tool/skeleton/templates/generator/{tests → examples}/init.pp.erb +1 -1
  31. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -1
  32. data/lib/puppet/network/http/api/master/v3/environment.rb +6 -2
  33. data/lib/puppet/parser/ast/pops_bridge.rb +20 -3
  34. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +24 -2
  35. data/lib/puppet/parser/e4_parser_adapter.rb +13 -12
  36. data/lib/puppet/parser/environment_compiler.rb +2 -2
  37. data/lib/puppet/parser/resource.rb +14 -5
  38. data/lib/puppet/parser/scope.rb +18 -15
  39. data/lib/puppet/plugins/data_providers/data_provider.rb +19 -8
  40. data/lib/puppet/pops.rb +6 -0
  41. data/lib/puppet/pops/adapters.rb +5 -1
  42. data/lib/puppet/pops/evaluator/access_operator.rb +52 -14
  43. data/lib/puppet/pops/evaluator/compare_operator.rb +34 -4
  44. data/lib/puppet/pops/evaluator/evaluator_impl.rb +75 -22
  45. data/lib/puppet/pops/evaluator/literal_evaluator.rb +7 -6
  46. data/lib/puppet/pops/evaluator/runtime3_converter.rb +13 -1
  47. data/lib/puppet/pops/evaluator/runtime3_support.rb +14 -4
  48. data/lib/puppet/pops/functions/dispatcher.rb +1 -1
  49. data/lib/puppet/pops/issues.rb +18 -2
  50. data/lib/puppet/pops/loader/base_loader.rb +48 -7
  51. data/lib/puppet/pops/loader/dependency_loader.rb +27 -2
  52. data/lib/puppet/pops/loader/loader.rb +12 -0
  53. data/lib/puppet/pops/loader/predefined_loader.rb +29 -0
  54. data/lib/puppet/pops/loader/runtime3_type_loader.rb +57 -0
  55. data/lib/puppet/pops/loader/static_loader.rb +92 -5
  56. data/lib/puppet/pops/loader/type_definition_instantiator.rb +25 -3
  57. data/lib/puppet/pops/loaders.rb +84 -14
  58. data/lib/puppet/pops/lookup/explainer.rb +38 -1
  59. data/lib/puppet/pops/lookup/interpolation.rb +115 -0
  60. data/lib/puppet/pops/lookup/sub_lookup.rb +86 -0
  61. data/lib/puppet/pops/model/ast_transformer.rb +8 -1
  62. data/lib/puppet/pops/model/factory.rb +31 -8
  63. data/lib/puppet/pops/model/model.rb +8 -0
  64. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  65. data/lib/puppet/pops/model/model_meta.rb +7 -1
  66. data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
  67. data/lib/puppet/pops/parser/egrammar.ra +24 -7
  68. data/lib/puppet/pops/parser/eparser.rb +863 -798
  69. data/lib/puppet/pops/parser/evaluating_parser.rb +4 -0
  70. data/lib/puppet/pops/parser/locator.rb +8 -4
  71. data/lib/puppet/pops/pcore.rb +30 -0
  72. data/lib/puppet/pops/types/class_loader.rb +2 -4
  73. data/lib/puppet/pops/types/implementation_registry.rb +146 -0
  74. data/lib/puppet/pops/types/iterable.rb +4 -4
  75. data/lib/puppet/pops/types/p_object_type.rb +846 -0
  76. data/lib/puppet/pops/types/p_runtime_type.rb +102 -0
  77. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +164 -0
  78. data/lib/puppet/pops/types/p_sem_ver_type.rb +113 -0
  79. data/lib/puppet/pops/types/puppet_object.rb +21 -0
  80. data/lib/puppet/pops/types/ruby_generator.rb +258 -0
  81. data/lib/puppet/pops/types/string_converter.rb +922 -0
  82. data/lib/puppet/pops/types/type_calculator.rb +29 -5
  83. data/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  84. data/lib/puppet/pops/types/type_factory.rb +49 -16
  85. data/lib/puppet/pops/types/type_formatter.rb +335 -112
  86. data/lib/puppet/pops/types/type_mismatch_describer.rb +110 -29
  87. data/lib/puppet/pops/types/type_parser.rb +205 -197
  88. data/lib/puppet/pops/types/types.rb +481 -103
  89. data/lib/puppet/pops/validation.rb +1 -1
  90. data/lib/puppet/pops/validation/checker4_0.rb +66 -4
  91. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  92. data/lib/puppet/pops/visitor.rb +3 -1
  93. data/lib/puppet/property.rb +1 -1
  94. data/lib/puppet/provider/augeas/augeas.rb +1 -1
  95. data/lib/puppet/provider/package/pip.rb +64 -20
  96. data/lib/puppet/provider/package/rpm.rb +112 -0
  97. data/lib/puppet/provider/package/yum.rb +7 -68
  98. data/lib/puppet/provider/service/daemontools.rb +3 -3
  99. data/lib/puppet/provider/service/init.rb +4 -2
  100. data/lib/puppet/provider/service/runit.rb +3 -3
  101. data/lib/puppet/provider/service/smf.rb +6 -3
  102. data/lib/puppet/provider/service/systemd.rb +59 -73
  103. data/lib/puppet/reference/providers.rb +1 -2
  104. data/lib/puppet/resource.rb +54 -37
  105. data/lib/puppet/resource/catalog.rb +31 -29
  106. data/lib/puppet/resource/type_collection.rb +23 -8
  107. data/lib/puppet/settings.rb +4 -2
  108. data/lib/puppet/settings/base_setting.rb +9 -3
  109. data/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  110. data/lib/puppet/test/test_helper.rb +0 -1
  111. data/lib/puppet/type.rb +9 -3
  112. data/lib/puppet/type/exec.rb +17 -17
  113. data/lib/puppet/type/file.rb +12 -0
  114. data/lib/puppet/type/file/content.rb +6 -6
  115. data/lib/puppet/type/file/ensure.rb +4 -4
  116. data/lib/puppet/type/file/source.rb +4 -4
  117. data/lib/puppet/type/file/target.rb +2 -2
  118. data/lib/puppet/type/mount.rb +18 -1
  119. data/lib/puppet/type/package.rb +3 -3
  120. data/lib/puppet/type/schedule.rb +4 -4
  121. data/lib/puppet/type/service.rb +15 -0
  122. data/lib/puppet/type/sshkey.rb +5 -3
  123. data/lib/puppet/type/tidy.rb +3 -3
  124. data/lib/puppet/type/zone.rb +5 -5
  125. data/lib/puppet/util/feature.rb +1 -1
  126. data/lib/puppet/util/monkey_patches.rb +8 -0
  127. data/lib/puppet/util/network_device/cisco/device.rb +16 -6
  128. data/lib/puppet/util/network_device/cisco/interface.rb +5 -6
  129. data/lib/puppet/util/plist.rb +3 -3
  130. data/lib/puppet/version.rb +1 -1
  131. data/spec/fixtures/unit/application/environments/production/data/common.yaml +13 -0
  132. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +2 -1
  133. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +2 -1
  134. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json +1 -0
  135. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml +5 -0
  136. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp +2 -0
  137. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json +9 -0
  138. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml +1 -0
  139. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml +5 -0
  140. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp +2 -0
  141. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json +9 -0
  142. data/spec/fixtures/unit/functions/lookup/environments/production/modules/empty_yaml/data/empty.yaml +1 -0
  143. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +5 -0
  144. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -0
  145. data/spec/fixtures/unit/provider/service/smf/svcs.out +4 -3
  146. data/spec/integration/module_tool/tar/mini_spec.rb +27 -27
  147. data/spec/integration/parser/catalog_spec.rb +14 -2
  148. data/spec/integration/parser/compiler_spec.rb +94 -3
  149. data/spec/integration/parser/resource_expressions_spec.rb +1 -1
  150. data/spec/integration/resource/type_collection_spec.rb +8 -0
  151. data/spec/lib/puppet_spec/compiler.rb +11 -4
  152. data/spec/shared_contexts/types_setup.rb +4 -0
  153. data/spec/unit/application/lookup_spec.rb +91 -9
  154. data/spec/unit/appmgmt_spec.rb +44 -35
  155. data/spec/unit/capability_spec.rb +33 -53
  156. data/spec/unit/data_providers/function_data_provider_spec.rb +19 -1
  157. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -1
  158. data/spec/unit/defaults_spec.rb +18 -0
  159. data/spec/unit/functions/assert_type_spec.rb +1 -1
  160. data/spec/unit/functions/dig_spec.rb +58 -0
  161. data/spec/unit/functions/lest_spec.rb +34 -0
  162. data/spec/unit/functions/lookup_spec.rb +108 -2
  163. data/spec/unit/functions/new_spec.rb +543 -0
  164. data/spec/unit/functions/regsubst_spec.rb +8 -0
  165. data/spec/unit/functions/then_spec.rb +40 -0
  166. data/spec/unit/functions4_spec.rb +78 -10
  167. data/spec/unit/hiera_puppet_spec.rb +49 -8
  168. data/spec/unit/indirector/resource_type/parser_spec.rb +5 -0
  169. data/spec/unit/indirector/rest_spec.rb +12 -0
  170. data/spec/unit/network/http/api/master/v3/environment_spec.rb +60 -0
  171. data/spec/unit/node/environment_spec.rb +10 -0
  172. data/spec/unit/parser/compiler_spec.rb +20 -1
  173. data/spec/unit/parser/functions/create_resources_spec.rb +2 -2
  174. data/spec/unit/parser/functions/shared.rb +1 -1
  175. data/spec/unit/parser/resource_spec.rb +8 -1
  176. data/spec/unit/parser/scope_spec.rb +45 -0
  177. data/spec/unit/pops/evaluator/access_ops_spec.rb +14 -0
  178. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +13 -5
  179. data/spec/unit/pops/loaders/static_loader_spec.rb +92 -1
  180. data/spec/unit/{data_providers/hiera_interpolation_spec.rb → pops/lookup/interpolation_spec.rb} +7 -5
  181. data/spec/unit/pops/parser/lexer2_spec.rb +2 -9
  182. data/spec/unit/pops/parser/parse_application_spec.rb +3 -8
  183. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +19 -0
  184. data/spec/unit/pops/parser/parse_capabilities_spec.rb +3 -10
  185. data/spec/unit/pops/parser/parse_site_spec.rb +19 -10
  186. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -4
  187. data/spec/unit/pops/types/enumeration_spec.rb +13 -12
  188. data/spec/unit/pops/types/iterable_spec.rb +2 -2
  189. data/spec/unit/pops/types/p_object_type_spec.rb +1060 -0
  190. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +285 -0
  191. data/spec/unit/pops/types/recursion_guard_spec.rb +19 -17
  192. data/spec/unit/pops/types/ruby_generator_spec.rb +261 -0
  193. data/spec/unit/pops/types/string_converter_spec.rb +904 -0
  194. data/spec/unit/pops/types/type_calculator_spec.rb +430 -406
  195. data/spec/unit/pops/types/type_factory_spec.rb +119 -104
  196. data/spec/unit/pops/types/type_formatter_spec.rb +73 -6
  197. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +2 -2
  198. data/spec/unit/pops/types/type_parser_spec.rb +54 -15
  199. data/spec/unit/pops/types/types_spec.rb +113 -8
  200. data/spec/unit/pops/validator/validator_spec.rb +84 -10
  201. data/spec/unit/provider/package/pip3_spec.rb +9 -270
  202. data/spec/unit/provider/package/pip_spec.rb +85 -30
  203. data/spec/unit/provider/package/rpm_spec.rb +160 -3
  204. data/spec/unit/provider/package/yum_spec.rb +23 -134
  205. data/spec/unit/provider/service/smf_spec.rb +14 -2
  206. data/spec/unit/provider/service/systemd_spec.rb +33 -41
  207. data/spec/unit/resource/capability_finder_spec.rb +10 -2
  208. data/spec/unit/settings/file_setting_spec.rb +6 -0
  209. data/spec/unit/transaction/additional_resource_generator_spec.rb +80 -65
  210. data/spec/unit/type/mount_spec.rb +51 -10
  211. data/spec/unit/type/service_spec.rb +16 -0
  212. data/spec/unit/type_spec.rb +14 -0
  213. data/spec/unit/util/feature_spec.rb +1 -1
  214. data/spec/unit/util/monkey_patches_spec.rb +60 -0
  215. data/spec/unit/util/network_device/cisco/device_spec.rb +1 -1
  216. metadata +63 -11
  217. data/lib/puppet/pops/types/types_meta.rb +0 -0
  218. data/spec/integration/provider/package_spec.rb +0 -35
@@ -20,13 +20,21 @@ describe Puppet::Resource::CapabilityFinder do
20
20
  end
21
21
  end
22
22
  begin
23
- make_cap_type
24
- example.run
23
+ Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
24
+ Puppet.override(:loaders => loaders, :current_environment => env) do
25
+ make_cap_type
26
+ example.run
27
+ end
25
28
  ensure
26
29
  Puppet::Util.send(:remove_const, 'Puppetdb') if mock_pdb
30
+ Puppet::Type.rmtype(:cap)
31
+ Puppet::Pops::Loaders.clear
27
32
  end
28
33
  end
29
34
 
35
+ let(:env) { Puppet::Node::Environment.create(:testing, []) }
36
+ let(:loaders) { Puppet::Pops::Loaders.new(env) }
37
+
30
38
  let(:response_body) { [{"type"=>"Cap", "title"=>"cap", "parameters"=>{"host"=>"ahost"}}] }
31
39
  let(:response) { stub('response', :body => response_body.to_json) }
32
40
 
@@ -169,6 +169,12 @@ describe Puppet::Settings::FileSetting do
169
169
  expect(resource.title).to eq(@basepath)
170
170
  end
171
171
 
172
+ it "should have a working directory with a root directory not called dev", :if => Puppet.features.microsoft_windows? do
173
+ # Although C:\Dev\.... is a valid path on Windows, some other code may regard it as a path to be ignored. e.g. /dev/null resolves to C:\dev\null on Windows.
174
+ path = File.expand_path('somefile')
175
+ expect(path).to_not match(/^[A-Z]:\/dev/i)
176
+ end
177
+
172
178
  it "should fully qualified returned files if necessary (#795)" do
173
179
  @settings.stubs(:value).with(:myfile, nil, false).returns "myfile"
174
180
  path = File.expand_path('myfile')
@@ -12,86 +12,101 @@ describe Puppet::Transaction::AdditionalResourceGenerator do
12
12
  include Matchers::Resource
13
13
 
14
14
  let(:prioritizer) { Puppet::Graph::SequentialPrioritizer.new }
15
+ let(:env) { Puppet::Node::Environment.create(:testing, []) }
16
+ let(:node) { Puppet::Node.new('test', :environment => env) }
17
+ let(:loaders) { Puppet::Pops::Loaders.new(env) }
18
+
19
+ around :each do |example|
20
+ Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
21
+ Puppet.override(:loaders => loaders, :current_environment => env) do
22
+ Puppet::Type.newtype(:generator) do
23
+ include PuppetSpec::Compiler
24
+
25
+ newparam(:name) do
26
+ isnamevar
27
+ end
28
+
29
+ newparam(:kind) do
30
+ defaultto :eval_generate
31
+ newvalues(:eval_generate, :generate)
32
+ end
33
+
34
+ newparam(:code)
35
+
36
+ def respond_to?(method_name)
37
+ method_name == self[:kind] || super
38
+ end
39
+
40
+ def eval_generate
41
+ eval_code
42
+ end
43
+
44
+ def generate
45
+ eval_code
46
+ end
47
+
48
+ def eval_code
49
+ if self[:code]
50
+ compile_to_ral(self[:code]).resources.select { |r| r.ref =~ /Notify/ }
51
+ else
52
+ []
53
+ end
54
+ end
55
+ end
15
56
 
16
- def find_vertex(graph, type, title)
17
- graph.vertices.find {|v| v.type == type and v.title == title}
18
- end
19
-
20
- Puppet::Type.newtype(:generator) do
21
- include PuppetSpec::Compiler
22
-
23
- newparam(:name) do
24
- isnamevar
25
- end
26
-
27
- newparam(:kind) do
28
- defaultto :eval_generate
29
- newvalues(:eval_generate, :generate)
30
- end
31
-
32
- newparam(:code)
57
+ Puppet::Type.newtype(:autorequire) do
58
+ newparam(:name) do
59
+ isnamevar
60
+ end
33
61
 
34
- def respond_to?(method_name)
35
- method_name == self[:kind] || super
36
- end
62
+ autorequire(:notify) do
63
+ self[:name]
64
+ end
65
+ end
37
66
 
38
- def eval_generate
39
- eval_code
40
- end
67
+ Puppet::Type.newtype(:gen_auto) do
68
+ newparam(:name) do
69
+ isnamevar
70
+ end
41
71
 
42
- def generate
43
- eval_code
44
- end
72
+ newparam(:eval_after) do
73
+ end
45
74
 
46
- def eval_code
47
- if self[:code]
48
- compile_to_ral(self[:code]).resources.select { |r| r.ref =~ /Notify/ }
49
- else
50
- []
75
+ def generate()
76
+ [ Puppet::Type.type(:autorequire).new(:name => self[:eval_after]) ]
77
+ end
51
78
  end
52
- end
53
- end
54
79
 
55
- Puppet::Type.newtype(:autorequire) do
56
- newparam(:name) do
57
- isnamevar
58
- end
80
+ Puppet::Type.newtype(:empty) do
81
+ newparam(:name) do
82
+ isnamevar
83
+ end
84
+ end
59
85
 
60
- autorequire(:notify) do
61
- self[:name]
62
- end
63
- end
86
+ Puppet::Type.newtype(:gen_empty) do
87
+ newparam(:name) do
88
+ isnamevar
89
+ end
64
90
 
65
- Puppet::Type.newtype(:gen_auto) do
66
- newparam(:name) do
67
- isnamevar
68
- end
91
+ newparam(:eval_after) do
92
+ end
69
93
 
70
- newparam(:eval_after) do
71
- end
94
+ def generate()
95
+ [ Puppet::Type.type(:empty).new(:name => self[:eval_after], :require => "Notify[#{self[:eval_after]}]") ]
96
+ end
97
+ end
72
98
 
73
- def generate()
74
- [ Puppet::Type.type(:autorequire).new(:name => self[:eval_after]) ]
75
- end
76
- end
99
+ example.run
77
100
 
78
- Puppet::Type.newtype(:empty) do
79
- newparam(:name) do
80
- isnamevar
101
+ Puppet::Type.rmtype(:gen_empty)
102
+ Puppet::Type.rmtype(:eval_after)
103
+ Puppet::Type.rmtype(:autorequire)
104
+ Puppet::Type.rmtype(:generator)
81
105
  end
82
106
  end
83
107
 
84
- Puppet::Type.newtype(:gen_empty) do
85
- newparam(:name) do
86
- isnamevar
87
- end
88
-
89
- newparam(:eval_after) do
90
- end
91
-
92
- def generate()
93
- [ Puppet::Type.type(:empty).new(:name => self[:eval_after], :require => "Notify[#{self[:eval_after]}]") ]
94
- end
108
+ def find_vertex(graph, type, title)
109
+ graph.vertices.find {|v| v.type == type and v.title == title}
95
110
  end
96
111
 
97
112
  context "when applying eval_generate" do
@@ -545,15 +545,23 @@ describe Puppet::Type.type(:mount), :unless => Puppet.features.microsoft_windows
545
545
  end
546
546
  end
547
547
 
548
- describe "establishing autorequires" do
548
+ describe "establishing autorequires and autobefores" do
549
549
 
550
- def create_resource(path)
550
+ def create_mount_resource(path)
551
551
  described_class.new(
552
552
  :name => path,
553
553
  :provider => providerclass.new(path)
554
554
  )
555
555
  end
556
556
 
557
+ def create_file_resource(path)
558
+ file_class = Puppet::Type.type(:file)
559
+ file_class.new(
560
+ :path => path,
561
+ :provider => file_class.new(:path => path).provider
562
+ )
563
+ end
564
+
557
565
  def create_catalog(*resources)
558
566
  catalog = Puppet::Resource::Catalog.new
559
567
  resources.each do |resource|
@@ -563,38 +571,71 @@ describe Puppet::Type.type(:mount), :unless => Puppet.features.microsoft_windows
563
571
  catalog
564
572
  end
565
573
 
566
- let(:root_mount) { create_resource("/") }
567
- let(:var_mount) { create_resource("/var") }
568
- let(:log_mount) { create_resource("/var/log") }
574
+ let(:root_mount) { create_mount_resource("/") }
575
+ let(:var_mount) { create_mount_resource("/var") }
576
+ let(:log_mount) { create_mount_resource("/var/log") }
577
+ let(:var_file) { create_file_resource('/var') }
578
+ let(:log_file) { create_file_resource('/var/log') }
579
+ let(:puppet_file) { create_file_resource('/var/log/puppet') }
569
580
 
570
581
  before do
571
- create_catalog(root_mount, var_mount, log_mount)
582
+ create_catalog(root_mount, var_mount, log_mount, var_file, log_file, puppet_file)
572
583
  end
573
584
 
574
585
  it "adds no autorequires for the root mount" do
575
586
  expect(root_mount.autorequire).to be_empty
576
587
  end
577
588
 
578
- it "adds the parent autorequire for a mount with one parent" do
589
+ it "adds the parent autorequire and the file autorequire for a mount with one parent" do
579
590
  parent_relationship = var_mount.autorequire[0]
591
+ file_relationship = var_mount.autorequire[1]
580
592
 
581
- expect(var_mount.autorequire).to have_exactly(1).item
593
+ expect(var_mount.autorequire).to have_exactly(2).items
582
594
 
583
595
  expect(parent_relationship.source).to eq root_mount
584
596
  expect(parent_relationship.target).to eq var_mount
597
+
598
+ expect(file_relationship.source).to eq var_file
599
+ expect(file_relationship.target).to eq var_mount
585
600
  end
586
601
 
587
- it "adds both parent autorequires for a mount with two parents" do
602
+ it "adds both parent autorequires and the file autorequire for a mount with two parents" do
588
603
  grandparent_relationship = log_mount.autorequire[0]
589
604
  parent_relationship = log_mount.autorequire[1]
605
+ file_relationship = log_mount.autorequire[2]
590
606
 
591
- expect(log_mount.autorequire).to have_exactly(2).items
607
+ expect(log_mount.autorequire).to have_exactly(3).items
592
608
 
593
609
  expect(grandparent_relationship.source).to eq root_mount
594
610
  expect(grandparent_relationship.target).to eq log_mount
595
611
 
596
612
  expect(parent_relationship.source).to eq var_mount
597
613
  expect(parent_relationship.target).to eq log_mount
614
+
615
+ expect(file_relationship.source).to eq log_file
616
+ expect(file_relationship.target).to eq log_mount
617
+ end
618
+
619
+ it "adds the child autobefore for a mount with one file child" do
620
+ child_relationship = log_mount.autobefore[0]
621
+
622
+ expect(log_mount.autobefore).to have_exactly(1).item
623
+
624
+ expect(child_relationship.source).to eq log_mount
625
+ expect(child_relationship.target).to eq puppet_file
626
+ end
627
+
628
+ it "adds both child autobefores for a mount with two file childs" do
629
+ child_relationship = var_mount.autobefore[0]
630
+ grandchild_relationship = var_mount.autobefore[1]
631
+
632
+ expect(var_mount.autobefore).to have_exactly(2).items
633
+
634
+ expect(child_relationship.source).to eq var_mount
635
+ expect(child_relationship.target).to eq log_file
636
+
637
+ expect(grandchild_relationship.source).to eq var_mount
638
+ expect(grandchild_relationship.target).to eq puppet_file
598
639
  end
599
640
  end
600
641
  end
@@ -218,6 +218,22 @@ describe Puppet::Type.type(:service), "when changing the host" do
218
218
  @service.property(:enable).sync
219
219
  end
220
220
 
221
+ it "should always consider the enable state of a static service to be in sync" do
222
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
223
+ @service.provider.expects(:cached_enabled?).returns('static')
224
+ @service[:enable] = false
225
+ Puppet.expects(:debug).with("Unable to enable or disable static service yay")
226
+ expect(@service.property(:enable).insync?(:true)).to eq(true)
227
+ end
228
+
229
+ it "should determine insyncness normally when the service is not static" do
230
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
231
+ @service.provider.expects(:cached_enabled?).returns('true')
232
+ @service[:enable] = true
233
+ Puppet.expects(:debug).never
234
+ expect(@service.property(:enable).insync?(:true)).to eq(true)
235
+ end
236
+
221
237
  it "should sync the service's enable state when changing the state of :ensure if :enable is being managed" do
222
238
  @service.provider.class.stubs(:supports_parameter?).returns(true)
223
239
  @service[:enable] = false
@@ -709,6 +709,20 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
709
709
  @resource.property(:ensure).stubs(:retrieve).returns :absent
710
710
  end
711
711
 
712
+ it "should always retrieve the ensure value by default" do
713
+ @ensurable_resource = Puppet::Type.type(:file).new(:name => "/not/existent", :mode => "0644")
714
+ Puppet::Type::File::Ensure.stubs(:ensure).returns :absent
715
+ Puppet::Type::File::Ensure.any_instance.expects(:retrieve).once
716
+ @ensurable_resource.retrieve_resource
717
+ end
718
+
719
+ it "should not retrieve the ensure value if specified" do
720
+ @ensurable_resource = Puppet::Type.type(:service).new(:name => "DummyService", :enable => true)
721
+ @ensurable_resource.properties.each { |prop| prop.stubs(:retrieve) }
722
+ Puppet::Type::Service::Ensure.any_instance.expects(:retrieve).never
723
+ @ensurable_resource.retrieve_resource
724
+ end
725
+
712
726
  it "should fail if its provider is unsuitable" do
713
727
  @resource = Puppet::Type.type(:mount).new(:name => "foo", :fstype => "bar", :pass => 1, :ensure => :present)
714
728
  @resource.provider.class.expects(:suitable?).returns false
@@ -89,7 +89,7 @@ describe Puppet::Util::Feature do
89
89
  end
90
90
 
91
91
  it "should cache load failures when configured to do so" do
92
- Puppet[:always_cache_features] = true
92
+ Puppet[:always_retry_plugins] = false
93
93
 
94
94
  @features.add(:myfeature, :libs => %w{foo bar})
95
95
  @features.expects(:require).with("foo").raises(LoadError)
@@ -13,6 +13,66 @@ describe Symbol do
13
13
  symbol = :foo
14
14
  expect(symbol).to equal symbol.intern
15
15
  end
16
+
17
+ describe "when :strict is off" do
18
+ before :each do
19
+ Puppet.settings[:strict] = :off
20
+ end
21
+
22
+ after :all do
23
+ Puppet.settings[:strict] = Puppet.settings.setting(:strict).default
24
+ end
25
+
26
+ it "should not warn if compared against another symbol" do
27
+ Puppet.expects(:warn_once).never
28
+ expect(:foo <=> :bar).to equal(1)
29
+ end
30
+
31
+ it "should not warn if compared against a non-symbol value" do
32
+ Puppet.expects(:warn_once).never
33
+ expect(:foo <=> "foo").to equal(0)
34
+ end
35
+ end
36
+
37
+ describe "when :strict is warning" do
38
+ before :each do
39
+ Puppet.settings[:strict] = :warning
40
+ end
41
+
42
+ after :all do
43
+ Puppet.settings[:strict] = Puppet.settings.setting(:strict).default
44
+ end
45
+
46
+ it "should not warn if compared against another symbol" do
47
+ Puppet.expects(:warn_once).never
48
+ expect(:foo <=> :bar).to equal(1)
49
+ end
50
+
51
+ it "should warn if compared against a non-symbol value" do
52
+ Puppet.expects(:warn_once).once
53
+ expect(:foo <=> "foo").to equal(0)
54
+ end
55
+ end
56
+
57
+ describe "when :strict is error" do
58
+ before :each do
59
+ Puppet.settings[:strict] = :error
60
+ end
61
+
62
+ after :all do
63
+ Puppet.settings[:strict] = Puppet.settings.setting(:strict).default
64
+ end
65
+
66
+ it "should not raise if compared against another symbol" do
67
+ Puppet.expects(:warn_once).never
68
+ expect(:foo <=> :bar).to equal(1)
69
+ end
70
+
71
+ it "should raise if compared against a non-symbol value" do
72
+ Puppet.expects(:warn_once).never
73
+ expect { :foo <=> "foo" }.to raise_error(ArgumentError, "Comparing Symbols to non-Symbol values is no longer allowed")
74
+ end
75
+ end
16
76
  end
17
77
 
18
78
  describe IO do
@@ -377,7 +377,7 @@ Self Loopback: No
377
377
  Switch#
378
378
  eos
379
379
 
380
- expect(@cisco.parse_trunking("FastEthernet0/1")).to eq({ :mode => :access, :access_vlan => "100" })
380
+ expect(@cisco.parse_trunking("FastEthernet0/1")).to eq({ :mode => :access, :access_vlan => "100", :native_vlan => "1" })
381
381
  end
382
382
 
383
383
  it "should parse auto/negotiate switchport information" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.2
4
+ version: 4.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-04-22 00:00:00.000000000 Z
12
+ date: 2016-05-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: facter
@@ -839,6 +839,7 @@ files:
839
839
  - lib/puppet/settings/file_setting.rb
840
840
  - lib/puppet/settings/file_or_directory_setting.rb
841
841
  - lib/puppet/settings/duration_setting.rb
842
+ - lib/puppet/settings/symbolic_enum_setting.rb
842
843
  - lib/puppet/settings/environment_conf.rb
843
844
  - lib/puppet/settings/ttl_setting.rb
844
845
  - lib/puppet/settings/boolean_setting.rb
@@ -862,15 +863,23 @@ files:
862
863
  - lib/puppet/pops/visitor.rb
863
864
  - lib/puppet/pops/patterns.rb
864
865
  - lib/puppet/pops/types/type_acceptor.rb
866
+ - lib/puppet/pops/types/puppet_object.rb
865
867
  - lib/puppet/pops/types/type_factory.rb
866
868
  - lib/puppet/pops/types/type_assertion_error.rb
867
869
  - lib/puppet/pops/types/class_loader.rb
868
870
  - lib/puppet/pops/types/type_calculator.rb
869
871
  - lib/puppet/pops/types/types.rb
870
- - lib/puppet/pops/types/types_meta.rb
872
+ - lib/puppet/pops/types/p_object_type.rb
873
+ - lib/puppet/pops/types/implementation_registry.rb
874
+ - lib/puppet/pops/types/p_sem_ver_range_type.rb
875
+ - lib/puppet/pops/types/ruby_generator.rb
876
+ - lib/puppet/pops/types/p_runtime_type.rb
871
877
  - lib/puppet/pops/types/type_formatter.rb
872
878
  - lib/puppet/pops/types/type_parser.rb
873
879
  - lib/puppet/pops/types/recursion_guard.rb
880
+ - lib/puppet/pops/types/string_converter.rb
881
+ - lib/puppet/pops/types/p_sem_ver_type.rb
882
+ - lib/puppet/pops/types/type_conversion_error.rb
874
883
  - lib/puppet/pops/types/type_mismatch_describer.rb
875
884
  - lib/puppet/pops/types/iterable.rb
876
885
  - lib/puppet/pops/types/enumeration.rb
@@ -900,13 +909,18 @@ files:
900
909
  - lib/puppet/pops/issues.rb
901
910
  - lib/puppet/pops/lookup/explainer.rb
902
911
  - lib/puppet/pops/lookup/invocation.rb
912
+ - lib/puppet/pops/lookup/interpolation.rb
913
+ - lib/puppet/pops/lookup/sub_lookup.rb
914
+ - lib/puppet/pops/pcore.rb
903
915
  - lib/puppet/pops/visitable.rb
904
916
  - lib/puppet/pops/adapters.rb
905
917
  - lib/puppet/pops/loader/type_definition_instantiator.rb
906
918
  - lib/puppet/pops/loader/simple_environment_loader.rb
919
+ - lib/puppet/pops/loader/predefined_loader.rb
907
920
  - lib/puppet/pops/loader/loader.rb
908
921
  - lib/puppet/pops/loader/null_loader.rb
909
922
  - lib/puppet/pops/loader/static_loader.rb
923
+ - lib/puppet/pops/loader/runtime3_type_loader.rb
910
924
  - lib/puppet/pops/loader/base_loader.rb
911
925
  - lib/puppet/pops/loader/loader_paths.rb
912
926
  - lib/puppet/pops/loader/ruby_function_instantiator.rb
@@ -989,11 +1003,11 @@ files:
989
1003
  - lib/puppet/module_tool/tar.rb
990
1004
  - lib/puppet/module_tool/local_tarball.rb
991
1005
  - lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb
992
- - lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb
993
1006
  - lib/puppet/module_tool/skeleton/templates/generator/Rakefile
994
1007
  - lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb
995
1008
  - lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb
996
1009
  - lib/puppet/module_tool/skeleton/templates/generator/README.md.erb
1010
+ - lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb
997
1011
  - lib/puppet/module_tool/skeleton/templates/generator/Gemfile
998
1012
  - lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb
999
1013
  - lib/puppet/module_tool/shared_behaviors.rb
@@ -1092,9 +1106,11 @@ files:
1092
1106
  - lib/puppet/resource/status.rb
1093
1107
  - lib/puppet/functions/regsubst.rb
1094
1108
  - lib/puppet/functions/epp.rb
1109
+ - lib/puppet/functions/lest.rb
1095
1110
  - lib/puppet/functions/map.rb
1096
1111
  - lib/puppet/functions/defined.rb
1097
1112
  - lib/puppet/functions/match.rb
1113
+ - lib/puppet/functions/then.rb
1098
1114
  - lib/puppet/functions/hiera_hash.rb
1099
1115
  - lib/puppet/functions/filter.rb
1100
1116
  - lib/puppet/functions/hiera_array.rb
@@ -1111,7 +1127,9 @@ files:
1111
1127
  - lib/puppet/functions/slice.rb
1112
1128
  - lib/puppet/functions/lookup.rb
1113
1129
  - lib/puppet/functions/import.rb
1130
+ - lib/puppet/functions/new.rb
1114
1131
  - lib/puppet/functions/assert_type.rb
1132
+ - lib/puppet/functions/dig.rb
1115
1133
  - lib/puppet/functions/with.rb
1116
1134
  - lib/puppet/functions/inline_epp.rb
1117
1135
  - lib/puppet/external/pson/version.rb
@@ -1719,6 +1737,7 @@ files:
1719
1737
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp
1720
1738
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp
1721
1739
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb
1740
+ - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb
1722
1741
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb
1723
1742
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb
1724
1743
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp
@@ -1747,6 +1766,10 @@ files:
1747
1766
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb
1748
1767
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb
1749
1768
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp
1769
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json
1770
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json
1771
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml
1772
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp
1750
1773
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/lib/puppet/functions/meta/data.rb
1751
1774
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/metadata.json
1752
1775
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/manifests/init.pp
@@ -1754,6 +1777,10 @@ files:
1754
1777
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/metadata.json
1755
1778
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/hiera.yaml
1756
1779
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/manifests/init.pp
1780
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml
1781
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json
1782
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml
1783
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp
1757
1784
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb
1758
1785
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb
1759
1786
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp
@@ -1943,7 +1970,6 @@ files:
1943
1970
  - spec/integration/provider/ssh_authorized_key_spec.rb
1944
1971
  - spec/integration/provider/yumrepo_spec.rb
1945
1972
  - spec/integration/provider/mount_spec.rb
1946
- - spec/integration/provider/package_spec.rb
1947
1973
  - spec/integration/provider/sshkey_spec.rb
1948
1974
  - spec/unit/scheduler/scheduler_spec.rb
1949
1975
  - spec/unit/scheduler/splay_job_spec.rb
@@ -1979,6 +2005,7 @@ files:
1979
2005
  - spec/unit/network/http/nocache_pool_spec.rb
1980
2006
  - spec/unit/network/http/api/master/v3/environments_spec.rb
1981
2007
  - spec/unit/network/http/api/master/v3/authorization_spec.rb
2008
+ - spec/unit/network/http/api/master/v3/environment_spec.rb
1982
2009
  - spec/unit/network/http/api/master/v3_spec.rb
1983
2010
  - spec/unit/network/http/api/indirected_routes_spec.rb
1984
2011
  - spec/unit/network/http/api/ca/v1_spec.rb
@@ -2310,7 +2337,6 @@ files:
2310
2337
  - spec/unit/property_spec.rb
2311
2338
  - spec/unit/functions4_spec.rb
2312
2339
  - spec/unit/data_providers/sample_data_provider_spec.rb
2313
- - spec/unit/data_providers/hiera_interpolation_spec.rb
2314
2340
  - spec/unit/data_providers/function_data_provider_spec.rb
2315
2341
  - spec/unit/data_providers/hiera_data_provider_spec.rb
2316
2342
  - spec/unit/graph/relationship_graph_spec.rb
@@ -2352,11 +2378,15 @@ files:
2352
2378
  - spec/unit/pops/types/recursion_guard_spec.rb
2353
2379
  - spec/unit/pops/types/enumeration_spec.rb
2354
2380
  - spec/unit/pops/types/class_loader_spec.rb
2381
+ - spec/unit/pops/types/p_object_type_spec.rb
2355
2382
  - spec/unit/pops/types/type_acceptor_spec.rb
2356
2383
  - spec/unit/pops/types/type_calculator_spec.rb
2357
2384
  - spec/unit/pops/types/type_parser_spec.rb
2358
2385
  - spec/unit/pops/types/types_spec.rb
2386
+ - spec/unit/pops/types/ruby_generator_spec.rb
2359
2387
  - spec/unit/pops/types/iterable_spec.rb
2388
+ - spec/unit/pops/types/string_converter_spec.rb
2389
+ - spec/unit/pops/types/p_sem_ver_type_spec.rb
2360
2390
  - spec/unit/pops/types/type_asserter_spec.rb
2361
2391
  - spec/unit/pops/types/type_factory_spec.rb
2362
2392
  - spec/unit/pops/types/type_formatter_spec.rb
@@ -2378,6 +2408,7 @@ files:
2378
2408
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
2379
2409
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
2380
2410
  - spec/unit/pops/containment_spec.rb
2411
+ - spec/unit/pops/lookup/interpolation_spec.rb
2381
2412
  - spec/unit/pops/issues_spec.rb
2382
2413
  - spec/unit/pops/parser/parse_containers_spec.rb
2383
2414
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
@@ -2475,7 +2506,9 @@ files:
2475
2506
  - spec/unit/functions/split_spec.rb
2476
2507
  - spec/unit/functions/scanf_spec.rb
2477
2508
  - spec/unit/functions/regsubst_spec.rb
2509
+ - spec/unit/functions/dig_spec.rb
2478
2510
  - spec/unit/functions/reverse_each_spec.rb
2511
+ - spec/unit/functions/then_spec.rb
2479
2512
  - spec/unit/functions/with_spec.rb
2480
2513
  - spec/unit/functions/step_spec.rb
2481
2514
  - spec/unit/functions/defined_spec.rb
@@ -2487,9 +2520,11 @@ files:
2487
2520
  - spec/unit/functions/filter_spec.rb
2488
2521
  - spec/unit/functions/assert_type_spec.rb
2489
2522
  - spec/unit/functions/inline_epp_spec.rb
2523
+ - spec/unit/functions/lest_spec.rb
2490
2524
  - spec/unit/functions/type_spec.rb
2491
2525
  - spec/unit/functions/map_spec.rb
2492
2526
  - spec/unit/functions/each_spec.rb
2527
+ - spec/unit/functions/new_spec.rb
2493
2528
  - spec/unit/functions/epp_spec.rb
2494
2529
  - spec/unit/functions/hiera_spec.rb
2495
2530
  - spec/unit/confine_collection_spec.rb
@@ -2642,13 +2677,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
2642
2677
  requirements:
2643
2678
  - - ! '>='
2644
2679
  - !ruby/object:Gem::Version
2645
- version: '0'
2680
+ version: 1.9.3
2646
2681
  required_rubygems_version: !ruby/object:Gem::Requirement
2647
2682
  none: false
2648
2683
  requirements:
2649
- - - ! '>='
2684
+ - - ! '>'
2650
2685
  - !ruby/object:Gem::Version
2651
- version: '0'
2686
+ version: 1.3.1
2652
2687
  requirements: []
2653
2688
  rubyforge_project: puppet
2654
2689
  rubygems_version: 1.8.23
@@ -2932,6 +2967,7 @@ test_files:
2932
2967
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp
2933
2968
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp
2934
2969
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb
2970
+ - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb
2935
2971
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb
2936
2972
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb
2937
2973
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp
@@ -2960,6 +2996,10 @@ test_files:
2960
2996
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb
2961
2997
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb
2962
2998
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp
2999
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json
3000
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json
3001
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml
3002
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp
2963
3003
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/lib/puppet/functions/meta/data.rb
2964
3004
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/metadata.json
2965
3005
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/manifests/init.pp
@@ -2967,6 +3007,10 @@ test_files:
2967
3007
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/metadata.json
2968
3008
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/hiera.yaml
2969
3009
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/manifests/init.pp
3010
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml
3011
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json
3012
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml
3013
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp
2970
3014
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb
2971
3015
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb
2972
3016
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp
@@ -3156,7 +3200,6 @@ test_files:
3156
3200
  - spec/integration/provider/ssh_authorized_key_spec.rb
3157
3201
  - spec/integration/provider/yumrepo_spec.rb
3158
3202
  - spec/integration/provider/mount_spec.rb
3159
- - spec/integration/provider/package_spec.rb
3160
3203
  - spec/integration/provider/sshkey_spec.rb
3161
3204
  - spec/unit/scheduler/scheduler_spec.rb
3162
3205
  - spec/unit/scheduler/splay_job_spec.rb
@@ -3192,6 +3235,7 @@ test_files:
3192
3235
  - spec/unit/network/http/nocache_pool_spec.rb
3193
3236
  - spec/unit/network/http/api/master/v3/environments_spec.rb
3194
3237
  - spec/unit/network/http/api/master/v3/authorization_spec.rb
3238
+ - spec/unit/network/http/api/master/v3/environment_spec.rb
3195
3239
  - spec/unit/network/http/api/master/v3_spec.rb
3196
3240
  - spec/unit/network/http/api/indirected_routes_spec.rb
3197
3241
  - spec/unit/network/http/api/ca/v1_spec.rb
@@ -3523,7 +3567,6 @@ test_files:
3523
3567
  - spec/unit/property_spec.rb
3524
3568
  - spec/unit/functions4_spec.rb
3525
3569
  - spec/unit/data_providers/sample_data_provider_spec.rb
3526
- - spec/unit/data_providers/hiera_interpolation_spec.rb
3527
3570
  - spec/unit/data_providers/function_data_provider_spec.rb
3528
3571
  - spec/unit/data_providers/hiera_data_provider_spec.rb
3529
3572
  - spec/unit/graph/relationship_graph_spec.rb
@@ -3565,11 +3608,15 @@ test_files:
3565
3608
  - spec/unit/pops/types/recursion_guard_spec.rb
3566
3609
  - spec/unit/pops/types/enumeration_spec.rb
3567
3610
  - spec/unit/pops/types/class_loader_spec.rb
3611
+ - spec/unit/pops/types/p_object_type_spec.rb
3568
3612
  - spec/unit/pops/types/type_acceptor_spec.rb
3569
3613
  - spec/unit/pops/types/type_calculator_spec.rb
3570
3614
  - spec/unit/pops/types/type_parser_spec.rb
3571
3615
  - spec/unit/pops/types/types_spec.rb
3616
+ - spec/unit/pops/types/ruby_generator_spec.rb
3572
3617
  - spec/unit/pops/types/iterable_spec.rb
3618
+ - spec/unit/pops/types/string_converter_spec.rb
3619
+ - spec/unit/pops/types/p_sem_ver_type_spec.rb
3573
3620
  - spec/unit/pops/types/type_asserter_spec.rb
3574
3621
  - spec/unit/pops/types/type_factory_spec.rb
3575
3622
  - spec/unit/pops/types/type_formatter_spec.rb
@@ -3591,6 +3638,7 @@ test_files:
3591
3638
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
3592
3639
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
3593
3640
  - spec/unit/pops/containment_spec.rb
3641
+ - spec/unit/pops/lookup/interpolation_spec.rb
3594
3642
  - spec/unit/pops/issues_spec.rb
3595
3643
  - spec/unit/pops/parser/parse_containers_spec.rb
3596
3644
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
@@ -3688,7 +3736,9 @@ test_files:
3688
3736
  - spec/unit/functions/split_spec.rb
3689
3737
  - spec/unit/functions/scanf_spec.rb
3690
3738
  - spec/unit/functions/regsubst_spec.rb
3739
+ - spec/unit/functions/dig_spec.rb
3691
3740
  - spec/unit/functions/reverse_each_spec.rb
3741
+ - spec/unit/functions/then_spec.rb
3692
3742
  - spec/unit/functions/with_spec.rb
3693
3743
  - spec/unit/functions/step_spec.rb
3694
3744
  - spec/unit/functions/defined_spec.rb
@@ -3700,9 +3750,11 @@ test_files:
3700
3750
  - spec/unit/functions/filter_spec.rb
3701
3751
  - spec/unit/functions/assert_type_spec.rb
3702
3752
  - spec/unit/functions/inline_epp_spec.rb
3753
+ - spec/unit/functions/lest_spec.rb
3703
3754
  - spec/unit/functions/type_spec.rb
3704
3755
  - spec/unit/functions/map_spec.rb
3705
3756
  - spec/unit/functions/each_spec.rb
3757
+ - spec/unit/functions/new_spec.rb
3706
3758
  - spec/unit/functions/epp_spec.rb
3707
3759
  - spec/unit/functions/hiera_spec.rb
3708
3760
  - spec/unit/confine_collection_spec.rb