puppet 4.4.2-x64-mingw32 → 4.5.0-x64-mingw32

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: x64-mingw32
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
@@ -951,6 +951,7 @@ files:
951
951
  - lib/puppet/settings/file_setting.rb
952
952
  - lib/puppet/settings/file_or_directory_setting.rb
953
953
  - lib/puppet/settings/duration_setting.rb
954
+ - lib/puppet/settings/symbolic_enum_setting.rb
954
955
  - lib/puppet/settings/environment_conf.rb
955
956
  - lib/puppet/settings/ttl_setting.rb
956
957
  - lib/puppet/settings/boolean_setting.rb
@@ -974,15 +975,23 @@ files:
974
975
  - lib/puppet/pops/visitor.rb
975
976
  - lib/puppet/pops/patterns.rb
976
977
  - lib/puppet/pops/types/type_acceptor.rb
978
+ - lib/puppet/pops/types/puppet_object.rb
977
979
  - lib/puppet/pops/types/type_factory.rb
978
980
  - lib/puppet/pops/types/type_assertion_error.rb
979
981
  - lib/puppet/pops/types/class_loader.rb
980
982
  - lib/puppet/pops/types/type_calculator.rb
981
983
  - lib/puppet/pops/types/types.rb
982
- - lib/puppet/pops/types/types_meta.rb
984
+ - lib/puppet/pops/types/p_object_type.rb
985
+ - lib/puppet/pops/types/implementation_registry.rb
986
+ - lib/puppet/pops/types/p_sem_ver_range_type.rb
987
+ - lib/puppet/pops/types/ruby_generator.rb
988
+ - lib/puppet/pops/types/p_runtime_type.rb
983
989
  - lib/puppet/pops/types/type_formatter.rb
984
990
  - lib/puppet/pops/types/type_parser.rb
985
991
  - lib/puppet/pops/types/recursion_guard.rb
992
+ - lib/puppet/pops/types/string_converter.rb
993
+ - lib/puppet/pops/types/p_sem_ver_type.rb
994
+ - lib/puppet/pops/types/type_conversion_error.rb
986
995
  - lib/puppet/pops/types/type_mismatch_describer.rb
987
996
  - lib/puppet/pops/types/iterable.rb
988
997
  - lib/puppet/pops/types/enumeration.rb
@@ -1012,13 +1021,18 @@ files:
1012
1021
  - lib/puppet/pops/issues.rb
1013
1022
  - lib/puppet/pops/lookup/explainer.rb
1014
1023
  - lib/puppet/pops/lookup/invocation.rb
1024
+ - lib/puppet/pops/lookup/interpolation.rb
1025
+ - lib/puppet/pops/lookup/sub_lookup.rb
1026
+ - lib/puppet/pops/pcore.rb
1015
1027
  - lib/puppet/pops/visitable.rb
1016
1028
  - lib/puppet/pops/adapters.rb
1017
1029
  - lib/puppet/pops/loader/type_definition_instantiator.rb
1018
1030
  - lib/puppet/pops/loader/simple_environment_loader.rb
1031
+ - lib/puppet/pops/loader/predefined_loader.rb
1019
1032
  - lib/puppet/pops/loader/loader.rb
1020
1033
  - lib/puppet/pops/loader/null_loader.rb
1021
1034
  - lib/puppet/pops/loader/static_loader.rb
1035
+ - lib/puppet/pops/loader/runtime3_type_loader.rb
1022
1036
  - lib/puppet/pops/loader/base_loader.rb
1023
1037
  - lib/puppet/pops/loader/loader_paths.rb
1024
1038
  - lib/puppet/pops/loader/ruby_function_instantiator.rb
@@ -1101,11 +1115,11 @@ files:
1101
1115
  - lib/puppet/module_tool/tar.rb
1102
1116
  - lib/puppet/module_tool/local_tarball.rb
1103
1117
  - lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb
1104
- - lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb
1105
1118
  - lib/puppet/module_tool/skeleton/templates/generator/Rakefile
1106
1119
  - lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb
1107
1120
  - lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb
1108
1121
  - lib/puppet/module_tool/skeleton/templates/generator/README.md.erb
1122
+ - lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb
1109
1123
  - lib/puppet/module_tool/skeleton/templates/generator/Gemfile
1110
1124
  - lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb
1111
1125
  - lib/puppet/module_tool/shared_behaviors.rb
@@ -1204,9 +1218,11 @@ files:
1204
1218
  - lib/puppet/resource/status.rb
1205
1219
  - lib/puppet/functions/regsubst.rb
1206
1220
  - lib/puppet/functions/epp.rb
1221
+ - lib/puppet/functions/lest.rb
1207
1222
  - lib/puppet/functions/map.rb
1208
1223
  - lib/puppet/functions/defined.rb
1209
1224
  - lib/puppet/functions/match.rb
1225
+ - lib/puppet/functions/then.rb
1210
1226
  - lib/puppet/functions/hiera_hash.rb
1211
1227
  - lib/puppet/functions/filter.rb
1212
1228
  - lib/puppet/functions/hiera_array.rb
@@ -1223,7 +1239,9 @@ files:
1223
1239
  - lib/puppet/functions/slice.rb
1224
1240
  - lib/puppet/functions/lookup.rb
1225
1241
  - lib/puppet/functions/import.rb
1242
+ - lib/puppet/functions/new.rb
1226
1243
  - lib/puppet/functions/assert_type.rb
1244
+ - lib/puppet/functions/dig.rb
1227
1245
  - lib/puppet/functions/with.rb
1228
1246
  - lib/puppet/functions/inline_epp.rb
1229
1247
  - lib/puppet/external/pson/version.rb
@@ -1831,6 +1849,7 @@ files:
1831
1849
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp
1832
1850
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp
1833
1851
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb
1852
+ - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb
1834
1853
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb
1835
1854
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb
1836
1855
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp
@@ -1859,6 +1878,10 @@ files:
1859
1878
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb
1860
1879
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb
1861
1880
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp
1881
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json
1882
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json
1883
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml
1884
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp
1862
1885
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/lib/puppet/functions/meta/data.rb
1863
1886
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/metadata.json
1864
1887
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/manifests/init.pp
@@ -1866,6 +1889,10 @@ files:
1866
1889
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/metadata.json
1867
1890
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/hiera.yaml
1868
1891
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/manifests/init.pp
1892
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml
1893
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json
1894
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml
1895
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp
1869
1896
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb
1870
1897
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb
1871
1898
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp
@@ -2055,7 +2082,6 @@ files:
2055
2082
  - spec/integration/provider/ssh_authorized_key_spec.rb
2056
2083
  - spec/integration/provider/yumrepo_spec.rb
2057
2084
  - spec/integration/provider/mount_spec.rb
2058
- - spec/integration/provider/package_spec.rb
2059
2085
  - spec/integration/provider/sshkey_spec.rb
2060
2086
  - spec/unit/scheduler/scheduler_spec.rb
2061
2087
  - spec/unit/scheduler/splay_job_spec.rb
@@ -2091,6 +2117,7 @@ files:
2091
2117
  - spec/unit/network/http/nocache_pool_spec.rb
2092
2118
  - spec/unit/network/http/api/master/v3/environments_spec.rb
2093
2119
  - spec/unit/network/http/api/master/v3/authorization_spec.rb
2120
+ - spec/unit/network/http/api/master/v3/environment_spec.rb
2094
2121
  - spec/unit/network/http/api/master/v3_spec.rb
2095
2122
  - spec/unit/network/http/api/indirected_routes_spec.rb
2096
2123
  - spec/unit/network/http/api/ca/v1_spec.rb
@@ -2422,7 +2449,6 @@ files:
2422
2449
  - spec/unit/property_spec.rb
2423
2450
  - spec/unit/functions4_spec.rb
2424
2451
  - spec/unit/data_providers/sample_data_provider_spec.rb
2425
- - spec/unit/data_providers/hiera_interpolation_spec.rb
2426
2452
  - spec/unit/data_providers/function_data_provider_spec.rb
2427
2453
  - spec/unit/data_providers/hiera_data_provider_spec.rb
2428
2454
  - spec/unit/graph/relationship_graph_spec.rb
@@ -2464,11 +2490,15 @@ files:
2464
2490
  - spec/unit/pops/types/recursion_guard_spec.rb
2465
2491
  - spec/unit/pops/types/enumeration_spec.rb
2466
2492
  - spec/unit/pops/types/class_loader_spec.rb
2493
+ - spec/unit/pops/types/p_object_type_spec.rb
2467
2494
  - spec/unit/pops/types/type_acceptor_spec.rb
2468
2495
  - spec/unit/pops/types/type_calculator_spec.rb
2469
2496
  - spec/unit/pops/types/type_parser_spec.rb
2470
2497
  - spec/unit/pops/types/types_spec.rb
2498
+ - spec/unit/pops/types/ruby_generator_spec.rb
2471
2499
  - spec/unit/pops/types/iterable_spec.rb
2500
+ - spec/unit/pops/types/string_converter_spec.rb
2501
+ - spec/unit/pops/types/p_sem_ver_type_spec.rb
2472
2502
  - spec/unit/pops/types/type_asserter_spec.rb
2473
2503
  - spec/unit/pops/types/type_factory_spec.rb
2474
2504
  - spec/unit/pops/types/type_formatter_spec.rb
@@ -2490,6 +2520,7 @@ files:
2490
2520
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
2491
2521
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
2492
2522
  - spec/unit/pops/containment_spec.rb
2523
+ - spec/unit/pops/lookup/interpolation_spec.rb
2493
2524
  - spec/unit/pops/issues_spec.rb
2494
2525
  - spec/unit/pops/parser/parse_containers_spec.rb
2495
2526
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
@@ -2587,7 +2618,9 @@ files:
2587
2618
  - spec/unit/functions/split_spec.rb
2588
2619
  - spec/unit/functions/scanf_spec.rb
2589
2620
  - spec/unit/functions/regsubst_spec.rb
2621
+ - spec/unit/functions/dig_spec.rb
2590
2622
  - spec/unit/functions/reverse_each_spec.rb
2623
+ - spec/unit/functions/then_spec.rb
2591
2624
  - spec/unit/functions/with_spec.rb
2592
2625
  - spec/unit/functions/step_spec.rb
2593
2626
  - spec/unit/functions/defined_spec.rb
@@ -2599,9 +2632,11 @@ files:
2599
2632
  - spec/unit/functions/filter_spec.rb
2600
2633
  - spec/unit/functions/assert_type_spec.rb
2601
2634
  - spec/unit/functions/inline_epp_spec.rb
2635
+ - spec/unit/functions/lest_spec.rb
2602
2636
  - spec/unit/functions/type_spec.rb
2603
2637
  - spec/unit/functions/map_spec.rb
2604
2638
  - spec/unit/functions/each_spec.rb
2639
+ - spec/unit/functions/new_spec.rb
2605
2640
  - spec/unit/functions/epp_spec.rb
2606
2641
  - spec/unit/functions/hiera_spec.rb
2607
2642
  - spec/unit/confine_collection_spec.rb
@@ -2754,13 +2789,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
2754
2789
  requirements:
2755
2790
  - - ! '>='
2756
2791
  - !ruby/object:Gem::Version
2757
- version: '0'
2792
+ version: 1.9.3
2758
2793
  required_rubygems_version: !ruby/object:Gem::Requirement
2759
2794
  none: false
2760
2795
  requirements:
2761
- - - ! '>='
2796
+ - - ! '>'
2762
2797
  - !ruby/object:Gem::Version
2763
- version: '0'
2798
+ version: 1.3.1
2764
2799
  requirements: []
2765
2800
  rubyforge_project: puppet
2766
2801
  rubygems_version: 1.8.23
@@ -3044,6 +3079,7 @@ test_files:
3044
3079
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp
3045
3080
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp
3046
3081
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb
3082
+ - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb
3047
3083
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb
3048
3084
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb
3049
3085
  - spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp
@@ -3072,6 +3108,10 @@ test_files:
3072
3108
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb
3073
3109
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb
3074
3110
  - spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp
3111
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/data/empty_key.json
3112
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/metadata.json
3113
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/hiera.yaml
3114
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_json/manifests/init.pp
3075
3115
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/lib/puppet/functions/meta/data.rb
3076
3116
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/metadata.json
3077
3117
  - spec/fixtures/unit/functions/lookup/environments/production/modules/meta/manifests/init.pp
@@ -3079,6 +3119,10 @@ test_files:
3079
3119
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/metadata.json
3080
3120
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/hiera.yaml
3081
3121
  - spec/fixtures/unit/functions/lookup/environments/production/modules/hieraprovider/manifests/init.pp
3122
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/data/empty_key.yaml
3123
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/metadata.json
3124
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/hiera.yaml
3125
+ - spec/fixtures/unit/functions/lookup/environments/production/modules/empty_key_yaml/manifests/init.pp
3082
3126
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb
3083
3127
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb
3084
3128
  - spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp
@@ -3268,7 +3312,6 @@ test_files:
3268
3312
  - spec/integration/provider/ssh_authorized_key_spec.rb
3269
3313
  - spec/integration/provider/yumrepo_spec.rb
3270
3314
  - spec/integration/provider/mount_spec.rb
3271
- - spec/integration/provider/package_spec.rb
3272
3315
  - spec/integration/provider/sshkey_spec.rb
3273
3316
  - spec/unit/scheduler/scheduler_spec.rb
3274
3317
  - spec/unit/scheduler/splay_job_spec.rb
@@ -3304,6 +3347,7 @@ test_files:
3304
3347
  - spec/unit/network/http/nocache_pool_spec.rb
3305
3348
  - spec/unit/network/http/api/master/v3/environments_spec.rb
3306
3349
  - spec/unit/network/http/api/master/v3/authorization_spec.rb
3350
+ - spec/unit/network/http/api/master/v3/environment_spec.rb
3307
3351
  - spec/unit/network/http/api/master/v3_spec.rb
3308
3352
  - spec/unit/network/http/api/indirected_routes_spec.rb
3309
3353
  - spec/unit/network/http/api/ca/v1_spec.rb
@@ -3635,7 +3679,6 @@ test_files:
3635
3679
  - spec/unit/property_spec.rb
3636
3680
  - spec/unit/functions4_spec.rb
3637
3681
  - spec/unit/data_providers/sample_data_provider_spec.rb
3638
- - spec/unit/data_providers/hiera_interpolation_spec.rb
3639
3682
  - spec/unit/data_providers/function_data_provider_spec.rb
3640
3683
  - spec/unit/data_providers/hiera_data_provider_spec.rb
3641
3684
  - spec/unit/graph/relationship_graph_spec.rb
@@ -3677,11 +3720,15 @@ test_files:
3677
3720
  - spec/unit/pops/types/recursion_guard_spec.rb
3678
3721
  - spec/unit/pops/types/enumeration_spec.rb
3679
3722
  - spec/unit/pops/types/class_loader_spec.rb
3723
+ - spec/unit/pops/types/p_object_type_spec.rb
3680
3724
  - spec/unit/pops/types/type_acceptor_spec.rb
3681
3725
  - spec/unit/pops/types/type_calculator_spec.rb
3682
3726
  - spec/unit/pops/types/type_parser_spec.rb
3683
3727
  - spec/unit/pops/types/types_spec.rb
3728
+ - spec/unit/pops/types/ruby_generator_spec.rb
3684
3729
  - spec/unit/pops/types/iterable_spec.rb
3730
+ - spec/unit/pops/types/string_converter_spec.rb
3731
+ - spec/unit/pops/types/p_sem_ver_type_spec.rb
3685
3732
  - spec/unit/pops/types/type_asserter_spec.rb
3686
3733
  - spec/unit/pops/types/type_factory_spec.rb
3687
3734
  - spec/unit/pops/types/type_formatter_spec.rb
@@ -3703,6 +3750,7 @@ test_files:
3703
3750
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
3704
3751
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
3705
3752
  - spec/unit/pops/containment_spec.rb
3753
+ - spec/unit/pops/lookup/interpolation_spec.rb
3706
3754
  - spec/unit/pops/issues_spec.rb
3707
3755
  - spec/unit/pops/parser/parse_containers_spec.rb
3708
3756
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
@@ -3800,7 +3848,9 @@ test_files:
3800
3848
  - spec/unit/functions/split_spec.rb
3801
3849
  - spec/unit/functions/scanf_spec.rb
3802
3850
  - spec/unit/functions/regsubst_spec.rb
3851
+ - spec/unit/functions/dig_spec.rb
3803
3852
  - spec/unit/functions/reverse_each_spec.rb
3853
+ - spec/unit/functions/then_spec.rb
3804
3854
  - spec/unit/functions/with_spec.rb
3805
3855
  - spec/unit/functions/step_spec.rb
3806
3856
  - spec/unit/functions/defined_spec.rb
@@ -3812,9 +3862,11 @@ test_files:
3812
3862
  - spec/unit/functions/filter_spec.rb
3813
3863
  - spec/unit/functions/assert_type_spec.rb
3814
3864
  - spec/unit/functions/inline_epp_spec.rb
3865
+ - spec/unit/functions/lest_spec.rb
3815
3866
  - spec/unit/functions/type_spec.rb
3816
3867
  - spec/unit/functions/map_spec.rb
3817
3868
  - spec/unit/functions/each_spec.rb
3869
+ - spec/unit/functions/new_spec.rb
3818
3870
  - spec/unit/functions/epp_spec.rb
3819
3871
  - spec/unit/functions/hiera_spec.rb
3820
3872
  - spec/unit/confine_collection_spec.rb