puppet 8.4.0-universal-darwin → 8.5.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1871) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +73 -56
  4. data/ext/project_data.yaml +4 -4
  5. data/ext/windows/service/daemon.rb +8 -8
  6. data/lib/hiera/puppet_function.rb +4 -4
  7. data/lib/hiera/scope.rb +5 -4
  8. data/lib/hiera_puppet.rb +0 -1
  9. data/lib/puppet/agent/disabler.rb +2 -2
  10. data/lib/puppet/agent.rb +3 -3
  11. data/lib/puppet/application/agent.rb +80 -78
  12. data/lib/puppet/application/apply.rb +45 -45
  13. data/lib/puppet/application/describe.rb +21 -21
  14. data/lib/puppet/application/device.rb +49 -49
  15. data/lib/puppet/application/doc.rb +27 -27
  16. data/lib/puppet/application/face_base.rb +2 -3
  17. data/lib/puppet/application/filebucket.rb +58 -58
  18. data/lib/puppet/application/generate.rb +1 -1
  19. data/lib/puppet/application/lookup.rb +44 -44
  20. data/lib/puppet/application/resource.rb +34 -34
  21. data/lib/puppet/application/script.rb +29 -29
  22. data/lib/puppet/application/ssl.rb +18 -18
  23. data/lib/puppet/application.rb +7 -7
  24. data/lib/puppet/application_support.rb +1 -1
  25. data/lib/puppet/compilable_resource_type.rb +2 -2
  26. data/lib/puppet/concurrent/lock.rb +0 -1
  27. data/lib/puppet/configurer/fact_handler.rb +3 -3
  28. data/lib/puppet/configurer.rb +8 -7
  29. data/lib/puppet/confine/any.rb +1 -1
  30. data/lib/puppet/confine/boolean.rb +1 -1
  31. data/lib/puppet/confine/exists.rb +1 -1
  32. data/lib/puppet/confine/false.rb +1 -1
  33. data/lib/puppet/confine/feature.rb +1 -2
  34. data/lib/puppet/confine/true.rb +1 -1
  35. data/lib/puppet/confine/variable.rb +1 -1
  36. data/lib/puppet/confine_collection.rb +1 -1
  37. data/lib/puppet/context/trusted_information.rb +4 -4
  38. data/lib/puppet/daemon.rb +6 -6
  39. data/lib/puppet/datatypes.rb +3 -2
  40. data/lib/puppet/defaults.rb +12 -12
  41. data/lib/puppet/environments.rb +7 -7
  42. data/lib/puppet/error.rb +7 -6
  43. data/lib/puppet/etc.rb +3 -2
  44. data/lib/puppet/external/dot.rb +25 -25
  45. data/lib/puppet/face/catalog/select.rb +1 -1
  46. data/lib/puppet/face/config.rb +1 -1
  47. data/lib/puppet/face/epp.rb +9 -9
  48. data/lib/puppet/face/facts.rb +2 -2
  49. data/lib/puppet/face/generate.rb +1 -1
  50. data/lib/puppet/face/help.rb +17 -21
  51. data/lib/puppet/face/module/install.rb +4 -3
  52. data/lib/puppet/face/module/list.rb +7 -8
  53. data/lib/puppet/face/module/upgrade.rb +4 -3
  54. data/lib/puppet/face/parser.rb +6 -6
  55. data/lib/puppet/feature/base.rb +2 -2
  56. data/lib/puppet/feature/libuser.rb +2 -2
  57. data/lib/puppet/ffi/posix/constants.rb +1 -1
  58. data/lib/puppet/ffi/windows/functions.rb +1 -1
  59. data/lib/puppet/file_bucket/dipper.rb +8 -6
  60. data/lib/puppet/file_bucket/file.rb +2 -2
  61. data/lib/puppet/file_serving/configuration.rb +1 -1
  62. data/lib/puppet/file_serving/fileset.rb +2 -2
  63. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  64. data/lib/puppet/file_serving/metadata.rb +4 -5
  65. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  66. data/lib/puppet/file_system/file_impl.rb +4 -4
  67. data/lib/puppet/file_system/uniquefile.rb +4 -4
  68. data/lib/puppet/file_system/windows.rb +7 -7
  69. data/lib/puppet/file_system.rb +1 -1
  70. data/lib/puppet/forge/cache.rb +1 -1
  71. data/lib/puppet/forge/repository.rb +1 -1
  72. data/lib/puppet/forge.rb +3 -3
  73. data/lib/puppet/functions/abs.rb +4 -3
  74. data/lib/puppet/functions/all.rb +1 -1
  75. data/lib/puppet/functions/any.rb +1 -1
  76. data/lib/puppet/functions/assert_type.rb +3 -2
  77. data/lib/puppet/functions/break.rb +1 -1
  78. data/lib/puppet/functions/camelcase.rb +2 -2
  79. data/lib/puppet/functions/capitalize.rb +2 -2
  80. data/lib/puppet/functions/chomp.rb +1 -1
  81. data/lib/puppet/functions/chop.rb +1 -1
  82. data/lib/puppet/functions/compare.rb +1 -1
  83. data/lib/puppet/functions/contain.rb +5 -4
  84. data/lib/puppet/functions/dig.rb +3 -3
  85. data/lib/puppet/functions/downcase.rb +2 -2
  86. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -1
  87. data/lib/puppet/functions/filter.rb +6 -7
  88. data/lib/puppet/functions/get.rb +1 -1
  89. data/lib/puppet/functions/getvar.rb +4 -4
  90. data/lib/puppet/functions/group_by.rb +2 -2
  91. data/lib/puppet/functions/include.rb +3 -2
  92. data/lib/puppet/functions/index.rb +1 -1
  93. data/lib/puppet/functions/join.rb +1 -1
  94. data/lib/puppet/functions/lookup.rb +2 -2
  95. data/lib/puppet/functions/lstrip.rb +1 -1
  96. data/lib/puppet/functions/map.rb +2 -2
  97. data/lib/puppet/functions/match.rb +4 -4
  98. data/lib/puppet/functions/max.rb +2 -2
  99. data/lib/puppet/functions/min.rb +2 -2
  100. data/lib/puppet/functions/next.rb +1 -1
  101. data/lib/puppet/functions/require.rb +3 -2
  102. data/lib/puppet/functions/rstrip.rb +1 -1
  103. data/lib/puppet/functions/slice.rb +1 -1
  104. data/lib/puppet/functions/strftime.rb +1 -1
  105. data/lib/puppet/functions/strip.rb +1 -1
  106. data/lib/puppet/functions/tree_each.rb +2 -2
  107. data/lib/puppet/functions/unique.rb +8 -8
  108. data/lib/puppet/functions/upcase.rb +2 -2
  109. data/lib/puppet/functions.rb +18 -18
  110. data/lib/puppet/generate/models/type/property.rb +1 -1
  111. data/lib/puppet/generate/models/type/type.rb +2 -2
  112. data/lib/puppet/generate/type.rb +3 -3
  113. data/lib/puppet/graph/rb_tree_map.rb +5 -5
  114. data/lib/puppet/graph/relationship_graph.rb +17 -17
  115. data/lib/puppet/graph/simple_graph.rb +25 -25
  116. data/lib/puppet/http/client.rb +4 -4
  117. data/lib/puppet/http/dns.rb +2 -3
  118. data/lib/puppet/http/errors.rb +2 -2
  119. data/lib/puppet/http/factory.rb +1 -1
  120. data/lib/puppet/http/proxy.rb +2 -2
  121. data/lib/puppet/http/redirector.rb +1 -1
  122. data/lib/puppet/http/resolver/server_list.rb +3 -3
  123. data/lib/puppet/http/response_converter.rb +2 -3
  124. data/lib/puppet/http/service/ca.rb +3 -3
  125. data/lib/puppet/http/service/compiler.rb +2 -2
  126. data/lib/puppet/http/service/file_server.rb +1 -1
  127. data/lib/puppet/http/service/puppetserver.rb +1 -1
  128. data/lib/puppet/http/service.rb +6 -9
  129. data/lib/puppet/http/session.rb +1 -1
  130. data/lib/puppet/indirector/catalog/compiler.rb +17 -19
  131. data/lib/puppet/indirector/data_binding/hiera.rb +0 -1
  132. data/lib/puppet/indirector/exec.rb +1 -1
  133. data/lib/puppet/indirector/face.rb +3 -3
  134. data/lib/puppet/indirector/fact_search.rb +1 -1
  135. data/lib/puppet/indirector/facts/json.rb +1 -1
  136. data/lib/puppet/indirector/file_bucket_file/file.rb +5 -5
  137. data/lib/puppet/indirector/file_bucket_file/selector.rb +0 -1
  138. data/lib/puppet/indirector/file_metadata/http.rb +2 -2
  139. data/lib/puppet/indirector/hiera.rb +2 -3
  140. data/lib/puppet/indirector/indirection.rb +12 -12
  141. data/lib/puppet/indirector/json.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +2 -2
  143. data/lib/puppet/indirector/node/exec.rb +2 -4
  144. data/lib/puppet/indirector/none.rb +0 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/msgpack.rb +1 -1
  147. data/lib/puppet/indirector/report/yaml.rb +1 -1
  148. data/lib/puppet/indirector/request.rb +3 -3
  149. data/lib/puppet/indirector/resource/ral.rb +6 -6
  150. data/lib/puppet/indirector/rest.rb +1 -1
  151. data/lib/puppet/indirector/yaml.rb +2 -2
  152. data/lib/puppet/info_service/class_information_service.rb +8 -10
  153. data/lib/puppet/info_service/plan_information_service.rb +3 -3
  154. data/lib/puppet/info_service/task_information_service.rb +3 -3
  155. data/lib/puppet/interface/action.rb +13 -13
  156. data/lib/puppet/interface/action_builder.rb +1 -1
  157. data/lib/puppet/interface/action_manager.rb +2 -2
  158. data/lib/puppet/interface/documentation.rb +15 -15
  159. data/lib/puppet/interface/face_collection.rb +5 -5
  160. data/lib/puppet/interface/option.rb +6 -6
  161. data/lib/puppet/interface/option_manager.rb +2 -2
  162. data/lib/puppet/interface.rb +1 -1
  163. data/lib/puppet/metatype/manager.rb +4 -5
  164. data/lib/puppet/module/plan.rb +3 -3
  165. data/lib/puppet/module/task.rb +16 -16
  166. data/lib/puppet/module.rb +6 -5
  167. data/lib/puppet/module_tool/applications/checksummer.rb +1 -1
  168. data/lib/puppet/module_tool/applications/installer.rb +3 -3
  169. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  170. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  171. data/lib/puppet/module_tool/applications/upgrader.rb +4 -4
  172. data/lib/puppet/module_tool/contents_description.rb +3 -3
  173. data/lib/puppet/module_tool/dependency.rb +2 -2
  174. data/lib/puppet/module_tool/errors/installer.rb +1 -1
  175. data/lib/puppet/module_tool/errors/shared.rb +3 -3
  176. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  177. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  178. data/lib/puppet/module_tool/metadata.rb +2 -2
  179. data/lib/puppet/module_tool/shared_behaviors.rb +11 -11
  180. data/lib/puppet/module_tool/tar/mini.rb +1 -1
  181. data/lib/puppet/module_tool/tar.rb +1 -1
  182. data/lib/puppet/module_tool.rb +4 -4
  183. data/lib/puppet/network/client_request.rb +0 -1
  184. data/lib/puppet/network/format.rb +1 -1
  185. data/lib/puppet/network/format_handler.rb +5 -5
  186. data/lib/puppet/network/format_support.rb +0 -1
  187. data/lib/puppet/network/formats.rb +15 -13
  188. data/lib/puppet/network/http/api/indirected_routes.rb +27 -15
  189. data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
  190. data/lib/puppet/network/http/api/master/v3.rb +0 -1
  191. data/lib/puppet/network/http/api/server/v3/environments.rb +2 -3
  192. data/lib/puppet/network/http/api/server/v3.rb +6 -6
  193. data/lib/puppet/network/http/api.rb +11 -11
  194. data/lib/puppet/network/http/connection.rb +3 -3
  195. data/lib/puppet/network/http/error.rb +2 -2
  196. data/lib/puppet/network/http/handler.rb +5 -5
  197. data/lib/puppet/network/http/request.rb +9 -5
  198. data/lib/puppet/network/http_pool.rb +1 -2
  199. data/lib/puppet/node/environment.rb +13 -13
  200. data/lib/puppet/node/facts.rb +6 -8
  201. data/lib/puppet/node.rb +4 -6
  202. data/lib/puppet/pal/compiler.rb +4 -4
  203. data/lib/puppet/pal/function_signature.rb +2 -2
  204. data/lib/puppet/pal/pal_impl.rb +39 -44
  205. data/lib/puppet/pal/plan_signature.rb +1 -1
  206. data/lib/puppet/pal/task_signature.rb +2 -2
  207. data/lib/puppet/parameter/path.rb +3 -3
  208. data/lib/puppet/parameter/value.rb +1 -1
  209. data/lib/puppet/parameter/value_collection.rb +5 -5
  210. data/lib/puppet/parameter.rb +4 -4
  211. data/lib/puppet/parser/abstract_compiler.rb +1 -1
  212. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  213. data/lib/puppet/parser/ast/pops_bridge.rb +5 -5
  214. data/lib/puppet/parser/ast/resource.rb +1 -1
  215. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  216. data/lib/puppet/parser/catalog_compiler.rb +1 -1
  217. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -2
  218. data/lib/puppet/parser/compiler.rb +11 -11
  219. data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
  220. data/lib/puppet/parser/files.rb +2 -2
  221. data/lib/puppet/parser/functions/assert_type.rb +15 -15
  222. data/lib/puppet/parser/functions/binary_file.rb +6 -6
  223. data/lib/puppet/parser/functions/break.rb +9 -9
  224. data/lib/puppet/parser/functions/contain.rb +1 -1
  225. data/lib/puppet/parser/functions/create_resources.rb +6 -5
  226. data/lib/puppet/parser/functions/defined.rb +24 -24
  227. data/lib/puppet/parser/functions/dig.rb +10 -10
  228. data/lib/puppet/parser/functions/digest.rb +1 -1
  229. data/lib/puppet/parser/functions/each.rb +21 -21
  230. data/lib/puppet/parser/functions/epp.rb +1 -1
  231. data/lib/puppet/parser/functions/fail.rb +1 -1
  232. data/lib/puppet/parser/functions/file.rb +1 -1
  233. data/lib/puppet/parser/functions/filter.rb +20 -20
  234. data/lib/puppet/parser/functions/find_file.rb +6 -7
  235. data/lib/puppet/parser/functions/fqdn_rand.rb +4 -4
  236. data/lib/puppet/parser/functions/generate.rb +2 -2
  237. data/lib/puppet/parser/functions/hiera.rb +21 -21
  238. data/lib/puppet/parser/functions/hiera_array.rb +19 -20
  239. data/lib/puppet/parser/functions/hiera_hash.rb +21 -22
  240. data/lib/puppet/parser/functions/hiera_include.rb +21 -22
  241. data/lib/puppet/parser/functions/include.rb +2 -2
  242. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  243. data/lib/puppet/parser/functions/inline_template.rb +3 -2
  244. data/lib/puppet/parser/functions/lest.rb +11 -11
  245. data/lib/puppet/parser/functions/lookup.rb +22 -22
  246. data/lib/puppet/parser/functions/map.rb +20 -20
  247. data/lib/puppet/parser/functions/match.rb +11 -11
  248. data/lib/puppet/parser/functions/md5.rb +1 -1
  249. data/lib/puppet/parser/functions/new.rb +236 -237
  250. data/lib/puppet/parser/functions/next.rb +8 -8
  251. data/lib/puppet/parser/functions/realize.rb +4 -3
  252. data/lib/puppet/parser/functions/reduce.rb +27 -27
  253. data/lib/puppet/parser/functions/regsubst.rb +4 -3
  254. data/lib/puppet/parser/functions/require.rb +3 -2
  255. data/lib/puppet/parser/functions/return.rb +18 -18
  256. data/lib/puppet/parser/functions/reverse_each.rb +22 -22
  257. data/lib/puppet/parser/functions/scanf.rb +6 -6
  258. data/lib/puppet/parser/functions/sha1.rb +1 -1
  259. data/lib/puppet/parser/functions/sha256.rb +1 -1
  260. data/lib/puppet/parser/functions/slice.rb +10 -10
  261. data/lib/puppet/parser/functions/split.rb +2 -1
  262. data/lib/puppet/parser/functions/sprintf.rb +4 -4
  263. data/lib/puppet/parser/functions/step.rb +20 -20
  264. data/lib/puppet/parser/functions/strftime.rb +43 -43
  265. data/lib/puppet/parser/functions/tag.rb +3 -2
  266. data/lib/puppet/parser/functions/tagged.rb +3 -2
  267. data/lib/puppet/parser/functions/template.rb +3 -2
  268. data/lib/puppet/parser/functions/then.rb +17 -17
  269. data/lib/puppet/parser/functions/type.rb +15 -15
  270. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  271. data/lib/puppet/parser/functions/with.rb +4 -4
  272. data/lib/puppet/parser/functions.rb +6 -6
  273. data/lib/puppet/parser/relationship.rb +2 -2
  274. data/lib/puppet/parser/resource.rb +12 -17
  275. data/lib/puppet/parser/scope.rb +49 -48
  276. data/lib/puppet/parser/script_compiler.rb +5 -5
  277. data/lib/puppet/parser/templatewrapper.rb +1 -1
  278. data/lib/puppet/parser/type_loader.rb +3 -3
  279. data/lib/puppet/plugins.rb +1 -1
  280. data/lib/puppet/pops/adaptable.rb +0 -1
  281. data/lib/puppet/pops/evaluator/access_operator.rb +61 -63
  282. data/lib/puppet/pops/evaluator/closure.rb +9 -11
  283. data/lib/puppet/pops/evaluator/collector_transformer.rb +2 -2
  284. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
  285. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
  286. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +2 -2
  287. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +2 -3
  288. data/lib/puppet/pops/evaluator/compare_operator.rb +12 -10
  289. data/lib/puppet/pops/evaluator/deferred_resolver.rb +17 -15
  290. data/lib/puppet/pops/evaluator/epp_evaluator.rb +6 -6
  291. data/lib/puppet/pops/evaluator/evaluator_impl.rb +80 -79
  292. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  293. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -3
  294. data/lib/puppet/pops/evaluator/literal_evaluator.rb +14 -6
  295. data/lib/puppet/pops/evaluator/puppet_proc.rb +3 -3
  296. data/lib/puppet/pops/evaluator/relationship_operator.rb +6 -6
  297. data/lib/puppet/pops/evaluator/runtime3_converter.rb +10 -9
  298. data/lib/puppet/pops/evaluator/runtime3_support.rb +15 -14
  299. data/lib/puppet/pops/functions/dispatch.rb +5 -7
  300. data/lib/puppet/pops/functions/dispatcher.rb +4 -4
  301. data/lib/puppet/pops/functions/function.rb +2 -2
  302. data/lib/puppet/pops/issue_reporter.rb +3 -3
  303. data/lib/puppet/pops/issues.rb +5 -1
  304. data/lib/puppet/pops/label_provider.rb +2 -2
  305. data/lib/puppet/pops/loader/base_loader.rb +1 -2
  306. data/lib/puppet/pops/loader/dependency_loader.rb +2 -2
  307. data/lib/puppet/pops/loader/gem_support.rb +1 -1
  308. data/lib/puppet/pops/loader/loader_paths.rb +6 -7
  309. data/lib/puppet/pops/loader/module_loaders.rb +13 -18
  310. data/lib/puppet/pops/loader/predefined_loader.rb +1 -1
  311. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +2 -1
  312. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +2 -1
  313. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +4 -4
  314. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +7 -6
  315. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -1
  316. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -1
  317. data/lib/puppet/pops/loader/static_loader.rb +2 -2
  318. data/lib/puppet/pops/loader/task_instantiator.rb +2 -2
  319. data/lib/puppet/pops/loader/type_definition_instantiator.rb +2 -1
  320. data/lib/puppet/pops/loader/typed_name.rb +1 -1
  321. data/lib/puppet/pops/loader/uri_helper.rb +1 -1
  322. data/lib/puppet/pops/loaders.rb +3 -3
  323. data/lib/puppet/pops/lookup/context.rb +32 -25
  324. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
  325. data/lib/puppet/pops/lookup/explainer.rb +9 -9
  326. data/lib/puppet/pops/lookup/global_data_provider.rb +2 -2
  327. data/lib/puppet/pops/lookup/hiera_config.rb +23 -20
  328. data/lib/puppet/pops/lookup/interpolation.rb +4 -3
  329. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  330. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -5
  331. data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
  332. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  333. data/lib/puppet/pops/lookup.rb +1 -2
  334. data/lib/puppet/pops/merge_strategy.rb +10 -8
  335. data/lib/puppet/pops/migration/migration_checker.rb +3 -3
  336. data/lib/puppet/pops/model/ast_transformer.rb +7 -7
  337. data/lib/puppet/pops/model/factory.rb +12 -13
  338. data/lib/puppet/pops/model/model_label_provider.rb +3 -1
  339. data/lib/puppet/pops/model/model_tree_dumper.rb +21 -21
  340. data/lib/puppet/pops/model/tree_dumper.rb +3 -3
  341. data/lib/puppet/pops/parser/code_merger.rb +2 -2
  342. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  343. data/lib/puppet/pops/parser/epp_support.rb +5 -5
  344. data/lib/puppet/pops/parser/evaluating_parser.rb +4 -4
  345. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  346. data/lib/puppet/pops/parser/interpolation_support.rb +20 -20
  347. data/lib/puppet/pops/parser/lexer2.rb +30 -29
  348. data/lib/puppet/pops/parser/lexer_support.rb +20 -18
  349. data/lib/puppet/pops/parser/locator.rb +11 -11
  350. data/lib/puppet/pops/parser/parser_support.rb +7 -7
  351. data/lib/puppet/pops/parser/pn_parser.rb +1 -1
  352. data/lib/puppet/pops/parser/slurp_support.rb +10 -10
  353. data/lib/puppet/pops/pcore.rb +1 -1
  354. data/lib/puppet/pops/pn.rb +1 -2
  355. data/lib/puppet/pops/resource/param.rb +11 -12
  356. data/lib/puppet/pops/resource/resource_type_impl.rb +34 -34
  357. data/lib/puppet/pops/semantic_error.rb +1 -1
  358. data/lib/puppet/pops/serialization/abstract_writer.rb +2 -2
  359. data/lib/puppet/pops/serialization/from_data_converter.rb +12 -9
  360. data/lib/puppet/pops/serialization/json.rb +2 -2
  361. data/lib/puppet/pops/serialization/object.rb +1 -2
  362. data/lib/puppet/pops/serialization/serializer.rb +13 -14
  363. data/lib/puppet/pops/serialization/to_data_converter.rb +3 -3
  364. data/lib/puppet/pops/serialization/to_stringified_converter.rb +5 -5
  365. data/lib/puppet/pops/time/timespan.rb +7 -6
  366. data/lib/puppet/pops/time/timestamp.rb +4 -2
  367. data/lib/puppet/pops/types/annotation.rb +3 -3
  368. data/lib/puppet/pops/types/class_loader.rb +8 -7
  369. data/lib/puppet/pops/types/implementation_registry.rb +2 -1
  370. data/lib/puppet/pops/types/iterable.rb +9 -9
  371. data/lib/puppet/pops/types/p_binary_type.rb +2 -2
  372. data/lib/puppet/pops/types/p_init_type.rb +2 -3
  373. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  374. data/lib/puppet/pops/types/p_object_type.rb +52 -51
  375. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -2
  376. data/lib/puppet/pops/types/p_runtime_type.rb +1 -2
  377. data/lib/puppet/pops/types/p_sem_ver_type.rb +4 -5
  378. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  379. data/lib/puppet/pops/types/p_timespan_type.rb +3 -4
  380. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -2
  381. data/lib/puppet/pops/types/p_type_set_type.rb +29 -31
  382. data/lib/puppet/pops/types/p_uri_type.rb +8 -8
  383. data/lib/puppet/pops/types/ruby_generator.rb +7 -6
  384. data/lib/puppet/pops/types/ruby_method.rb +6 -7
  385. data/lib/puppet/pops/types/string_converter.rb +29 -32
  386. data/lib/puppet/pops/types/tree_iterators.rb +6 -8
  387. data/lib/puppet/pops/types/type_asserter.rb +3 -3
  388. data/lib/puppet/pops/types/type_calculator.rb +36 -36
  389. data/lib/puppet/pops/types/type_factory.rb +9 -8
  390. data/lib/puppet/pops/types/type_formatter.rb +34 -38
  391. data/lib/puppet/pops/types/type_mismatch_describer.rb +25 -22
  392. data/lib/puppet/pops/types/type_parser.rb +12 -10
  393. data/lib/puppet/pops/types/type_with_members.rb +0 -1
  394. data/lib/puppet/pops/types/types.rb +85 -97
  395. data/lib/puppet/pops/utils.rb +2 -2
  396. data/lib/puppet/pops/validation/checker4_0.rb +51 -38
  397. data/lib/puppet/pops/validation/tasks_checker.rb +3 -3
  398. data/lib/puppet/pops/validation.rb +15 -15
  399. data/lib/puppet/pops/visitor.rb +1 -1
  400. data/lib/puppet/property/ensure.rb +0 -1
  401. data/lib/puppet/property/keyvalue.rb +5 -6
  402. data/lib/puppet/property/list.rb +1 -1
  403. data/lib/puppet/property.rb +8 -10
  404. data/lib/puppet/provider/aix_object.rb +9 -9
  405. data/lib/puppet/provider/exec/posix.rb +1 -1
  406. data/lib/puppet/provider/exec.rb +3 -3
  407. data/lib/puppet/provider/file/windows.rb +3 -3
  408. data/lib/puppet/provider/group/groupadd.rb +2 -2
  409. data/lib/puppet/provider/group/pw.rb +0 -1
  410. data/lib/puppet/provider/group/windows_adsi.rb +3 -3
  411. data/lib/puppet/provider/ldap.rb +2 -3
  412. data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
  413. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  414. data/lib/puppet/provider/nameservice.rb +9 -10
  415. data/lib/puppet/provider/package/aix.rb +4 -4
  416. data/lib/puppet/provider/package/appdmg.rb +3 -3
  417. data/lib/puppet/provider/package/apple.rb +1 -1
  418. data/lib/puppet/provider/package/apt.rb +7 -3
  419. data/lib/puppet/provider/package/aptrpm.rb +6 -4
  420. data/lib/puppet/provider/package/blastwave.rb +3 -3
  421. data/lib/puppet/provider/package/dnf.rb +5 -0
  422. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  423. data/lib/puppet/provider/package/dpkg.rb +8 -8
  424. data/lib/puppet/provider/package/gem.rb +6 -7
  425. data/lib/puppet/provider/package/hpux.rb +2 -2
  426. data/lib/puppet/provider/package/nim.rb +4 -4
  427. data/lib/puppet/provider/package/openbsd.rb +8 -8
  428. data/lib/puppet/provider/package/opkg.rb +6 -6
  429. data/lib/puppet/provider/package/pacman.rb +2 -2
  430. data/lib/puppet/provider/package/pip.rb +8 -8
  431. data/lib/puppet/provider/package/pkg.rb +19 -19
  432. data/lib/puppet/provider/package/pkgdmg.rb +5 -5
  433. data/lib/puppet/provider/package/pkgin.rb +6 -6
  434. data/lib/puppet/provider/package/pkgng.rb +1 -1
  435. data/lib/puppet/provider/package/pkgutil.rb +11 -11
  436. data/lib/puppet/provider/package/portage.rb +3 -3
  437. data/lib/puppet/provider/package/portupgrade.rb +5 -7
  438. data/lib/puppet/provider/package/puppet_gem.rb +2 -2
  439. data/lib/puppet/provider/package/puppetserver_gem.rb +4 -4
  440. data/lib/puppet/provider/package/rpm.rb +9 -9
  441. data/lib/puppet/provider/package/sun.rb +2 -2
  442. data/lib/puppet/provider/package/tdnf.rb +6 -1
  443. data/lib/puppet/provider/package/windows/exe_package.rb +2 -2
  444. data/lib/puppet/provider/package/windows/package.rb +3 -3
  445. data/lib/puppet/provider/package/windows.rb +1 -1
  446. data/lib/puppet/provider/package/yum.rb +25 -14
  447. data/lib/puppet/provider/package/zypper.rb +7 -7
  448. data/lib/puppet/provider/package.rb +1 -1
  449. data/lib/puppet/provider/package_targetable.rb +2 -2
  450. data/lib/puppet/provider/parsedfile.rb +5 -7
  451. data/lib/puppet/provider/service/base.rb +0 -1
  452. data/lib/puppet/provider/service/daemontools.rb +10 -10
  453. data/lib/puppet/provider/service/debian.rb +2 -2
  454. data/lib/puppet/provider/service/freebsd.rb +15 -17
  455. data/lib/puppet/provider/service/init.rb +2 -3
  456. data/lib/puppet/provider/service/launchd.rb +3 -3
  457. data/lib/puppet/provider/service/openrc.rb +1 -1
  458. data/lib/puppet/provider/service/redhat.rb +2 -1
  459. data/lib/puppet/provider/service/runit.rb +2 -3
  460. data/lib/puppet/provider/service/service.rb +0 -1
  461. data/lib/puppet/provider/service/smf.rb +4 -4
  462. data/lib/puppet/provider/service/src.rb +3 -4
  463. data/lib/puppet/provider/service/systemd.rb +3 -2
  464. data/lib/puppet/provider/service/upstart.rb +6 -8
  465. data/lib/puppet/provider/service/windows.rb +15 -15
  466. data/lib/puppet/provider/user/aix.rb +14 -14
  467. data/lib/puppet/provider/user/directoryservice.rb +8 -8
  468. data/lib/puppet/provider/user/hpux.rb +9 -9
  469. data/lib/puppet/provider/user/ldap.rb +4 -4
  470. data/lib/puppet/provider/user/openbsd.rb +1 -1
  471. data/lib/puppet/provider/user/pw.rb +1 -2
  472. data/lib/puppet/provider/user/user_role_add.rb +9 -9
  473. data/lib/puppet/provider/user/useradd.rb +4 -4
  474. data/lib/puppet/provider/user/windows_adsi.rb +6 -6
  475. data/lib/puppet/provider.rb +2 -2
  476. data/lib/puppet/reference/configuration.rb +15 -14
  477. data/lib/puppet/reference/indirection.rb +14 -14
  478. data/lib/puppet/reference/providers.rb +2 -2
  479. data/lib/puppet/reference/type.rb +1 -1
  480. data/lib/puppet/relationship.rb +2 -2
  481. data/lib/puppet/reports/log.rb +0 -1
  482. data/lib/puppet/reports/store.rb +2 -2
  483. data/lib/puppet/resource/catalog.rb +26 -30
  484. data/lib/puppet/resource/status.rb +4 -3
  485. data/lib/puppet/resource/type.rb +10 -11
  486. data/lib/puppet/resource/type_collection.rb +5 -5
  487. data/lib/puppet/resource.rb +35 -30
  488. data/lib/puppet/scheduler/scheduler.rb +1 -1
  489. data/lib/puppet/scheduler.rb +1 -1
  490. data/lib/puppet/settings/base_setting.rb +2 -2
  491. data/lib/puppet/settings/boolean_setting.rb +1 -1
  492. data/lib/puppet/settings/config_file.rb +2 -2
  493. data/lib/puppet/settings/duration_setting.rb +2 -3
  494. data/lib/puppet/settings/environment_conf.rb +6 -4
  495. data/lib/puppet/settings/errors.rb +3 -3
  496. data/lib/puppet/settings/integer_setting.rb +1 -1
  497. data/lib/puppet/settings/priority_setting.rb +3 -4
  498. data/lib/puppet/settings/server_list_setting.rb +4 -4
  499. data/lib/puppet/settings/ttl_setting.rb +3 -4
  500. data/lib/puppet/settings/value_translator.rb +1 -1
  501. data/lib/puppet/settings.rb +39 -36
  502. data/lib/puppet/ssl/base.rb +2 -2
  503. data/lib/puppet/ssl/certificate.rb +2 -2
  504. data/lib/puppet/ssl/certificate_request.rb +10 -10
  505. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  506. data/lib/puppet/ssl/oids.rb +4 -4
  507. data/lib/puppet/ssl/ssl_provider.rb +8 -6
  508. data/lib/puppet/ssl/state_machine.rb +11 -11
  509. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  510. data/lib/puppet/syntax_checkers/epp.rb +2 -2
  511. data/lib/puppet/syntax_checkers/json.rb +2 -2
  512. data/lib/puppet/syntax_checkers/pp.rb +2 -2
  513. data/lib/puppet/syntax_checkers.rb +1 -1
  514. data/lib/puppet/test/test_helper.rb +10 -9
  515. data/lib/puppet/transaction/additional_resource_generator.rb +5 -5
  516. data/lib/puppet/transaction/event_manager.rb +2 -3
  517. data/lib/puppet/transaction/persistence.rb +1 -1
  518. data/lib/puppet/transaction/report.rb +14 -16
  519. data/lib/puppet/transaction/resource_harness.rb +2 -2
  520. data/lib/puppet/transaction.rb +11 -11
  521. data/lib/puppet/trusted_external.rb +1 -1
  522. data/lib/puppet/type/exec.rb +7 -11
  523. data/lib/puppet/type/file/checksum_value.rb +2 -2
  524. data/lib/puppet/type/file/content.rb +5 -5
  525. data/lib/puppet/type/file/ctime.rb +0 -1
  526. data/lib/puppet/type/file/data_sync.rb +2 -2
  527. data/lib/puppet/type/file/ensure.rb +6 -9
  528. data/lib/puppet/type/file/owner.rb +0 -1
  529. data/lib/puppet/type/file/selcontext.rb +0 -1
  530. data/lib/puppet/type/file/source.rb +2 -2
  531. data/lib/puppet/type/file/target.rb +2 -3
  532. data/lib/puppet/type/file/type.rb +0 -1
  533. data/lib/puppet/type/file.rb +22 -26
  534. data/lib/puppet/type/group.rb +2 -2
  535. data/lib/puppet/type/package.rb +8 -8
  536. data/lib/puppet/type/resources.rb +8 -8
  537. data/lib/puppet/type/schedule.rb +4 -4
  538. data/lib/puppet/type/service.rb +4 -4
  539. data/lib/puppet/type/tidy.rb +7 -7
  540. data/lib/puppet/type/user.rb +20 -19
  541. data/lib/puppet/type.rb +44 -49
  542. data/lib/puppet/util/at_fork/solaris.rb +4 -4
  543. data/lib/puppet/util/autoload.rb +2 -2
  544. data/lib/puppet/util/backups.rb +3 -3
  545. data/lib/puppet/util/checksums.rb +1 -1
  546. data/lib/puppet/util/classgen.rb +2 -3
  547. data/lib/puppet/util/colors.rb +33 -33
  548. data/lib/puppet/util/command_line/puppet_option_parser.rb +5 -4
  549. data/lib/puppet/util/command_line/trollop.rb +38 -34
  550. data/lib/puppet/util/command_line.rb +1 -1
  551. data/lib/puppet/util/diff.rb +4 -4
  552. data/lib/puppet/util/docs.rb +3 -3
  553. data/lib/puppet/util/errors.rb +2 -2
  554. data/lib/puppet/util/execution.rb +12 -11
  555. data/lib/puppet/util/feature.rb +6 -8
  556. data/lib/puppet/util/fileparsing.rb +9 -12
  557. data/lib/puppet/util/filetype.rb +3 -3
  558. data/lib/puppet/util/inifile.rb +1 -1
  559. data/lib/puppet/util/ldap/manager.rb +6 -7
  560. data/lib/puppet/util/libuser.rb +1 -1
  561. data/lib/puppet/util/log/destination.rb +0 -1
  562. data/lib/puppet/util/log/destinations.rb +2 -4
  563. data/lib/puppet/util/log.rb +7 -6
  564. data/lib/puppet/util/logging.rb +6 -7
  565. data/lib/puppet/util/metaid.rb +0 -1
  566. data/lib/puppet/util/metric.rb +3 -3
  567. data/lib/puppet/util/monkey_patches.rb +1 -1
  568. data/lib/puppet/util/multi_match.rb +4 -4
  569. data/lib/puppet/util/network_device/base.rb +1 -1
  570. data/lib/puppet/util/network_device/config.rb +2 -2
  571. data/lib/puppet/util/package/version/pip.rb +2 -2
  572. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  573. data/lib/puppet/util/package/version/range.rb +5 -5
  574. data/lib/puppet/util/package.rb +1 -1
  575. data/lib/puppet/util/pidlock.rb +1 -1
  576. data/lib/puppet/util/plist.rb +6 -5
  577. data/lib/puppet/util/posix.rb +3 -4
  578. data/lib/puppet/util/profiler/aggregate.rb +2 -3
  579. data/lib/puppet/util/profiler/logging.rb +1 -1
  580. data/lib/puppet/util/profiler/wall_clock.rb +2 -3
  581. data/lib/puppet/util/provider_features.rb +1 -2
  582. data/lib/puppet/util/rdoc/code_objects.rb +11 -10
  583. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -34
  584. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +17 -15
  585. data/lib/puppet/util/rdoc.rb +8 -8
  586. data/lib/puppet/util/reference.rb +2 -2
  587. data/lib/puppet/util/resource_template.rb +0 -1
  588. data/lib/puppet/util/retry_action.rb +2 -2
  589. data/lib/puppet/util/rpm_compare.rb +7 -7
  590. data/lib/puppet/util/rubygems.rb +0 -1
  591. data/lib/puppet/util/run_mode.rb +3 -3
  592. data/lib/puppet/util/selinux.rb +3 -3
  593. data/lib/puppet/util/storage.rb +1 -1
  594. data/lib/puppet/util/suidmanager.rb +13 -15
  595. data/lib/puppet/util/symbolic_file_mode.rb +8 -7
  596. data/lib/puppet/util/tagging.rb +2 -2
  597. data/lib/puppet/util/user_attr.rb +1 -1
  598. data/lib/puppet/util/watched_file.rb +2 -1
  599. data/lib/puppet/util/watcher/periodic_watcher.rb +0 -1
  600. data/lib/puppet/util/windows/access_control_list.rb +5 -4
  601. data/lib/puppet/util/windows/adsi.rb +14 -14
  602. data/lib/puppet/util/windows/com.rb +2 -2
  603. data/lib/puppet/util/windows/daemon.rb +8 -8
  604. data/lib/puppet/util/windows/eventlog.rb +4 -4
  605. data/lib/puppet/util/windows/file.rb +16 -12
  606. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  607. data/lib/puppet/util/windows/principal.rb +8 -6
  608. data/lib/puppet/util/windows/process.rb +28 -22
  609. data/lib/puppet/util/windows/registry.rb +47 -14
  610. data/lib/puppet/util/windows/root_certs.rb +1 -1
  611. data/lib/puppet/util/windows/security.rb +20 -18
  612. data/lib/puppet/util/windows/service.rb +4 -4
  613. data/lib/puppet/util/windows/sid.rb +8 -7
  614. data/lib/puppet/util/windows/user.rb +4 -2
  615. data/lib/puppet/util/windows.rb +1 -1
  616. data/lib/puppet/util.rb +14 -16
  617. data/lib/puppet/version.rb +1 -1
  618. data/lib/puppet/x509/cert_provider.rb +12 -12
  619. data/lib/puppet.rb +8 -7
  620. data/locales/puppet.pot +2008 -2004
  621. data/man/man5/puppet.conf.5 +2 -2
  622. data/man/man8/puppet-agent.8 +1 -1
  623. data/man/man8/puppet-apply.8 +1 -1
  624. data/man/man8/puppet-catalog.8 +1 -1
  625. data/man/man8/puppet-config.8 +1 -1
  626. data/man/man8/puppet-describe.8 +1 -1
  627. data/man/man8/puppet-device.8 +1 -1
  628. data/man/man8/puppet-doc.8 +1 -1
  629. data/man/man8/puppet-epp.8 +1 -1
  630. data/man/man8/puppet-facts.8 +1 -1
  631. data/man/man8/puppet-filebucket.8 +1 -1
  632. data/man/man8/puppet-generate.8 +1 -1
  633. data/man/man8/puppet-help.8 +1 -1
  634. data/man/man8/puppet-lookup.8 +1 -1
  635. data/man/man8/puppet-module.8 +1 -1
  636. data/man/man8/puppet-node.8 +1 -1
  637. data/man/man8/puppet-parser.8 +1 -1
  638. data/man/man8/puppet-plugin.8 +1 -1
  639. data/man/man8/puppet-report.8 +1 -1
  640. data/man/man8/puppet-resource.8 +1 -1
  641. data/man/man8/puppet-script.8 +1 -1
  642. data/man/man8/puppet-ssl.8 +1 -1
  643. data/man/man8/puppet.8 +2 -2
  644. data/tasks/generate_cert_fixtures.rake +1 -0
  645. metadata +3 -2455
  646. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  647. data/spec/fixtures/hiera.yaml +0 -9
  648. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  649. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  650. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  651. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  652. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  653. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  654. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  655. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  656. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  657. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  658. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  659. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  660. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  661. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  662. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  663. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  664. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  665. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  666. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  667. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  668. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  669. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  670. data/spec/fixtures/java.tgz +0 -0
  671. data/spec/fixtures/manifests/site.pp +0 -0
  672. data/spec/fixtures/module.tar.gz +0 -0
  673. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  674. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  675. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  676. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  677. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  678. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  679. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  680. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  681. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  682. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  683. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  684. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  685. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  686. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  687. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  688. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  689. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  690. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  691. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  692. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  693. data/spec/fixtures/ssl/127.0.0.1.pem +0 -70
  694. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  695. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  696. data/spec/fixtures/ssl/ca.pem +0 -81
  697. data/spec/fixtures/ssl/crl.pem +0 -40
  698. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  699. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  700. data/spec/fixtures/ssl/ec-key.pem +0 -18
  701. data/spec/fixtures/ssl/ec.pem +0 -50
  702. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  703. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  704. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  705. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  706. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  707. data/spec/fixtures/ssl/intermediate.pem +0 -81
  708. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  709. data/spec/fixtures/ssl/oid-key.pem +0 -117
  710. data/spec/fixtures/ssl/oid.pem +0 -70
  711. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  712. data/spec/fixtures/ssl/pluto.pem +0 -67
  713. data/spec/fixtures/ssl/renewed.pem +0 -67
  714. data/spec/fixtures/ssl/request-key.pem +0 -117
  715. data/spec/fixtures/ssl/request.pem +0 -62
  716. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  717. data/spec/fixtures/ssl/revoked.pem +0 -67
  718. data/spec/fixtures/ssl/signed-key.pem +0 -117
  719. data/spec/fixtures/ssl/signed.pem +0 -67
  720. data/spec/fixtures/ssl/tampered-cert.pem +0 -67
  721. data/spec/fixtures/ssl/tampered-csr.pem +0 -62
  722. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  723. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  724. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -70
  725. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  726. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  727. data/spec/fixtures/stdlib.tgz +0 -0
  728. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  729. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  730. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  731. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  732. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  733. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  734. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  735. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  736. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  737. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  738. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  739. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  740. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  741. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  742. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  743. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  744. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  745. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  746. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  747. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  748. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  749. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  750. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  751. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  752. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  753. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  754. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  755. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  756. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  757. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  758. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  759. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  760. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  761. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  762. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  763. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  764. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  765. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  766. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  767. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  768. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  769. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  770. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  771. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  772. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  773. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  774. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  775. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  776. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  777. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  778. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  779. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  780. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  781. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  782. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  783. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  784. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  785. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  786. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  787. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  788. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  789. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  790. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  791. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  792. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  793. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  794. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  795. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  796. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  797. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  798. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  799. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  800. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  801. data/spec/fixtures/unit/forge/bacula.json +0 -76
  802. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  803. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  804. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  805. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  806. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  807. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  808. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  809. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  810. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  811. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  812. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  813. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  814. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  815. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  816. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  817. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  818. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  819. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  820. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  821. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  822. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  823. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  824. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  825. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  826. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  827. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  828. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  829. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  830. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  831. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  832. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  833. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  834. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  835. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  836. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  837. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  838. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  839. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  840. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  841. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  842. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  843. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  844. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  845. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  846. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  847. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  848. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  849. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  850. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  851. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  852. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  853. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  854. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  855. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  856. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  857. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  858. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  859. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  860. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  861. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  862. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  863. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  864. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  865. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  866. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  867. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  868. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  869. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  870. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  871. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  872. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  873. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  874. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  875. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  876. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  877. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  878. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  879. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  880. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  881. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  882. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  883. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  884. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  885. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  886. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  887. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  888. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  889. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  890. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  891. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  892. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  893. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  894. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  895. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  896. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  897. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  898. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  899. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  900. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  901. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  902. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  903. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  904. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  905. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  906. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  907. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  908. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  909. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  910. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  911. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  912. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  913. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  914. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  915. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  916. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  917. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  918. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  919. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  920. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  921. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  922. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  923. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  924. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  925. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  926. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  927. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  928. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  929. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  930. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  931. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  932. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  933. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  934. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  935. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  936. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  937. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  938. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  939. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  940. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  941. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  942. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  943. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  944. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  945. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  946. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  947. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  948. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  949. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  950. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  951. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  952. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  953. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  954. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  955. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  956. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  957. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  958. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  959. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  960. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  961. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  962. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  963. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  964. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  965. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  966. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  967. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  968. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  969. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  970. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  971. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  972. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  973. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  974. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  975. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  976. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  977. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  978. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  979. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  980. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  981. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  982. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  983. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  984. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  985. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  986. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  987. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  988. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  989. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  990. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  991. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  992. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  993. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  994. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  995. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  996. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  997. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  998. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  999. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1000. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1001. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1002. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1003. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1004. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1005. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1006. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1007. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1008. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1009. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1010. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1011. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1012. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1013. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1014. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1015. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  1016. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  1017. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  1018. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  1019. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1020. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1021. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1022. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1023. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1024. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1025. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1026. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1027. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1028. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1029. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1030. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  1031. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  1032. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1033. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1034. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1035. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1036. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1037. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1038. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1039. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  1040. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1041. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  1042. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  1043. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  1044. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1045. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1046. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1047. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1048. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1049. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1050. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1051. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1052. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1053. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1054. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1055. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -108
  1056. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  1057. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -104
  1058. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  1059. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1060. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -104
  1061. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1062. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1063. data/spec/integration/agent/logging_spec.rb +0 -179
  1064. data/spec/integration/application/agent_spec.rb +0 -1067
  1065. data/spec/integration/application/apply_spec.rb +0 -781
  1066. data/spec/integration/application/doc_spec.rb +0 -24
  1067. data/spec/integration/application/filebucket_spec.rb +0 -255
  1068. data/spec/integration/application/help_spec.rb +0 -44
  1069. data/spec/integration/application/lookup_spec.rb +0 -275
  1070. data/spec/integration/application/module_spec.rb +0 -230
  1071. data/spec/integration/application/plugin_spec.rb +0 -145
  1072. data/spec/integration/application/resource_spec.rb +0 -68
  1073. data/spec/integration/application/ssl_spec.rb +0 -20
  1074. data/spec/integration/configurer_spec.rb +0 -166
  1075. data/spec/integration/data_binding_spec.rb +0 -278
  1076. data/spec/integration/defaults_spec.rb +0 -279
  1077. data/spec/integration/directory_environments_spec.rb +0 -67
  1078. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1079. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1080. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  1081. data/spec/integration/environments/settings_spec.rb +0 -128
  1082. data/spec/integration/http/client_spec.rb +0 -229
  1083. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  1084. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  1085. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  1086. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  1087. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  1088. data/spec/integration/l10n/compiler_spec.rb +0 -37
  1089. data/spec/integration/network/formats_spec.rb +0 -90
  1090. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1091. data/spec/integration/network/http_pool_spec.rb +0 -275
  1092. data/spec/integration/node/environment_spec.rb +0 -170
  1093. data/spec/integration/node/facts_spec.rb +0 -40
  1094. data/spec/integration/node_spec.rb +0 -77
  1095. data/spec/integration/parser/catalog_spec.rb +0 -68
  1096. data/spec/integration/parser/class_spec.rb +0 -33
  1097. data/spec/integration/parser/collection_spec.rb +0 -362
  1098. data/spec/integration/parser/compiler_spec.rb +0 -1221
  1099. data/spec/integration/parser/conditionals_spec.rb +0 -95
  1100. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1101. data/spec/integration/parser/environment_spec.rb +0 -47
  1102. data/spec/integration/parser/node_spec.rb +0 -163
  1103. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1104. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  1105. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1106. data/spec/integration/parser/scope_spec.rb +0 -735
  1107. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1108. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1109. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1110. data/spec/integration/resource/catalog_spec.rb +0 -47
  1111. data/spec/integration/resource/type_collection_spec.rb +0 -88
  1112. data/spec/integration/transaction/report_spec.rb +0 -706
  1113. data/spec/integration/transaction_spec.rb +0 -553
  1114. data/spec/integration/type/exec_spec.rb +0 -114
  1115. data/spec/integration/type/file_spec.rb +0 -2012
  1116. data/spec/integration/type/notify_spec.rb +0 -46
  1117. data/spec/integration/type/package_spec.rb +0 -200
  1118. data/spec/integration/type/tidy_spec.rb +0 -45
  1119. data/spec/integration/type_spec.rb +0 -30
  1120. data/spec/integration/util/autoload_spec.rb +0 -104
  1121. data/spec/integration/util/execution_spec.rb +0 -104
  1122. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  1123. data/spec/integration/util/settings_spec.rb +0 -115
  1124. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  1125. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  1126. data/spec/integration/util/windows/principal_spec.rb +0 -279
  1127. data/spec/integration/util/windows/process_spec.rb +0 -96
  1128. data/spec/integration/util/windows/registry_spec.rb +0 -334
  1129. data/spec/integration/util/windows/security_spec.rb +0 -1010
  1130. data/spec/integration/util/windows/user_spec.rb +0 -226
  1131. data/spec/integration/util_spec.rb +0 -104
  1132. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1133. data/spec/lib/matchers/include_in_order.rb +0 -20
  1134. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1135. data/spec/lib/matchers/json.rb +0 -132
  1136. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1137. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1138. data/spec/lib/matchers/resource.rb +0 -74
  1139. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1140. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1141. data/spec/lib/puppet/face/basetest.rb +0 -51
  1142. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1143. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1144. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1145. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1146. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1147. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1148. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1149. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1150. data/spec/lib/puppet/test_ca.rb +0 -157
  1151. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1152. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1153. data/spec/lib/puppet_spec/files.rb +0 -107
  1154. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  1155. data/spec/lib/puppet_spec/handler.rb +0 -53
  1156. data/spec/lib/puppet_spec/https.rb +0 -95
  1157. data/spec/lib/puppet_spec/language.rb +0 -75
  1158. data/spec/lib/puppet_spec/matchers.rb +0 -68
  1159. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1160. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1161. data/spec/lib/puppet_spec/modules.rb +0 -82
  1162. data/spec/lib/puppet_spec/network.rb +0 -127
  1163. data/spec/lib/puppet_spec/pops.rb +0 -29
  1164. data/spec/lib/puppet_spec/puppetserver.rb +0 -180
  1165. data/spec/lib/puppet_spec/scope.rb +0 -13
  1166. data/spec/lib/puppet_spec/settings.rb +0 -39
  1167. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1168. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1169. data/spec/lib/puppet_spec/verbose.rb +0 -20
  1170. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1171. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1172. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  1173. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  1174. data/spec/shared_behaviours/file_serving.rb +0 -73
  1175. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  1176. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  1177. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1178. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1179. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1180. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1181. data/spec/shared_contexts/checksum.rb +0 -65
  1182. data/spec/shared_contexts/digests.rb +0 -100
  1183. data/spec/shared_contexts/https.rb +0 -29
  1184. data/spec/shared_contexts/l10n.rb +0 -32
  1185. data/spec/shared_contexts/provider.rb +0 -16
  1186. data/spec/shared_contexts/types_setup.rb +0 -204
  1187. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  1188. data/spec/spec_helper.rb +0 -240
  1189. data/spec/unit/agent/disabler_spec.rb +0 -63
  1190. data/spec/unit/agent/locker_spec.rb +0 -99
  1191. data/spec/unit/agent_spec.rb +0 -411
  1192. data/spec/unit/application/agent_spec.rb +0 -640
  1193. data/spec/unit/application/apply_spec.rb +0 -559
  1194. data/spec/unit/application/config_spec.rb +0 -232
  1195. data/spec/unit/application/describe_spec.rb +0 -135
  1196. data/spec/unit/application/device_spec.rb +0 -616
  1197. data/spec/unit/application/doc_spec.rb +0 -333
  1198. data/spec/unit/application/face_base_spec.rb +0 -454
  1199. data/spec/unit/application/facts_spec.rb +0 -139
  1200. data/spec/unit/application/filebucket_spec.rb +0 -319
  1201. data/spec/unit/application/indirection_base_spec.rb +0 -50
  1202. data/spec/unit/application/lookup_spec.rb +0 -698
  1203. data/spec/unit/application/resource_spec.rb +0 -229
  1204. data/spec/unit/application/ssl_spec.rb +0 -507
  1205. data/spec/unit/application_spec.rb +0 -730
  1206. data/spec/unit/certificate_factory_spec.rb +0 -170
  1207. data/spec/unit/concurrent/lock_spec.rb +0 -29
  1208. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  1209. data/spec/unit/configurer/downloader_spec.rb +0 -252
  1210. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  1211. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  1212. data/spec/unit/configurer_spec.rb +0 -1488
  1213. data/spec/unit/confine/exists_spec.rb +0 -82
  1214. data/spec/unit/confine/false_spec.rb +0 -78
  1215. data/spec/unit/confine/feature_spec.rb +0 -59
  1216. data/spec/unit/confine/true_spec.rb +0 -78
  1217. data/spec/unit/confine/variable_spec.rb +0 -105
  1218. data/spec/unit/confine_collection_spec.rb +0 -132
  1219. data/spec/unit/confine_spec.rb +0 -99
  1220. data/spec/unit/confiner_spec.rb +0 -61
  1221. data/spec/unit/context/trusted_information_spec.rb +0 -213
  1222. data/spec/unit/context_spec.rb +0 -217
  1223. data/spec/unit/daemon_spec.rb +0 -176
  1224. data/spec/unit/data_binding_spec.rb +0 -11
  1225. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  1226. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -362
  1227. data/spec/unit/datatypes_spec.rb +0 -352
  1228. data/spec/unit/defaults_spec.rb +0 -182
  1229. data/spec/unit/environments_spec.rb +0 -1186
  1230. data/spec/unit/etc_spec.rb +0 -465
  1231. data/spec/unit/external/pson_spec.rb +0 -58
  1232. data/spec/unit/face/config_spec.rb +0 -402
  1233. data/spec/unit/face/epp_face_spec.rb +0 -385
  1234. data/spec/unit/face/facts_spec.rb +0 -78
  1235. data/spec/unit/face/generate_spec.rb +0 -293
  1236. data/spec/unit/face/help_spec.rb +0 -208
  1237. data/spec/unit/face/module/install_spec.rb +0 -40
  1238. data/spec/unit/face/module/list_spec.rb +0 -256
  1239. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  1240. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1241. data/spec/unit/face/node_spec.rb +0 -129
  1242. data/spec/unit/face/parser_spec.rb +0 -310
  1243. data/spec/unit/face/plugin_spec.rb +0 -158
  1244. data/spec/unit/face_spec.rb +0 -1
  1245. data/spec/unit/facter_impl_spec.rb +0 -31
  1246. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  1247. data/spec/unit/file_bucket/file_spec.rb +0 -58
  1248. data/spec/unit/file_serving/base_spec.rb +0 -164
  1249. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  1250. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  1251. data/spec/unit/file_serving/content_spec.rb +0 -98
  1252. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  1253. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  1254. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1255. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  1256. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  1257. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  1258. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  1259. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  1260. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  1261. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  1262. data/spec/unit/file_serving/mount_spec.rb +0 -30
  1263. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  1264. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  1265. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  1266. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  1267. data/spec/unit/file_system_spec.rb +0 -1198
  1268. data/spec/unit/forge/errors_spec.rb +0 -80
  1269. data/spec/unit/forge/forge_spec.rb +0 -69
  1270. data/spec/unit/forge/module_release_spec.rb +0 -331
  1271. data/spec/unit/forge/repository_spec.rb +0 -154
  1272. data/spec/unit/forge_spec.rb +0 -210
  1273. data/spec/unit/functions/abs_spec.rb +0 -70
  1274. data/spec/unit/functions/all_spec.rb +0 -97
  1275. data/spec/unit/functions/annotate_spec.rb +0 -175
  1276. data/spec/unit/functions/any_spec.rb +0 -109
  1277. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1278. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1279. data/spec/unit/functions/break_spec.rb +0 -207
  1280. data/spec/unit/functions/call_spec.rb +0 -131
  1281. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1282. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1283. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1284. data/spec/unit/functions/chomp_spec.rb +0 -46
  1285. data/spec/unit/functions/chop_spec.rb +0 -38
  1286. data/spec/unit/functions/compare_spec.rb +0 -147
  1287. data/spec/unit/functions/contain_spec.rb +0 -297
  1288. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1289. data/spec/unit/functions/defined_spec.rb +0 -288
  1290. data/spec/unit/functions/dig_spec.rb +0 -58
  1291. data/spec/unit/functions/downcase_spec.rb +0 -34
  1292. data/spec/unit/functions/each_spec.rb +0 -107
  1293. data/spec/unit/functions/empty_spec.rb +0 -87
  1294. data/spec/unit/functions/epp_spec.rb +0 -178
  1295. data/spec/unit/functions/filter_spec.rb +0 -145
  1296. data/spec/unit/functions/find_file_spec.rb +0 -69
  1297. data/spec/unit/functions/find_template_spec.rb +0 -69
  1298. data/spec/unit/functions/flatten_spec.rb +0 -31
  1299. data/spec/unit/functions/floor_spec.rb +0 -65
  1300. data/spec/unit/functions/get_spec.rb +0 -135
  1301. data/spec/unit/functions/getvar_spec.rb +0 -121
  1302. data/spec/unit/functions/group_by_spec.rb +0 -40
  1303. data/spec/unit/functions/hiera_spec.rb +0 -495
  1304. data/spec/unit/functions/include_spec.rb +0 -186
  1305. data/spec/unit/functions/index_spec.rb +0 -184
  1306. data/spec/unit/functions/inline_epp_spec.rb +0 -120
  1307. data/spec/unit/functions/join_spec.rb +0 -33
  1308. data/spec/unit/functions/keys_spec.rb +0 -31
  1309. data/spec/unit/functions/length_spec.rb +0 -50
  1310. data/spec/unit/functions/lest_spec.rb +0 -34
  1311. data/spec/unit/functions/logging_spec.rb +0 -62
  1312. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  1313. data/spec/unit/functions/lookup_spec.rb +0 -3415
  1314. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1315. data/spec/unit/functions/map_spec.rb +0 -163
  1316. data/spec/unit/functions/match_spec.rb +0 -74
  1317. data/spec/unit/functions/max_spec.rb +0 -158
  1318. data/spec/unit/functions/min_spec.rb +0 -158
  1319. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1320. data/spec/unit/functions/new_spec.rb +0 -776
  1321. data/spec/unit/functions/next_spec.rb +0 -93
  1322. data/spec/unit/functions/partition_spec.rb +0 -40
  1323. data/spec/unit/functions/reduce_spec.rb +0 -85
  1324. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1325. data/spec/unit/functions/require_spec.rb +0 -82
  1326. data/spec/unit/functions/return_spec.rb +0 -109
  1327. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1328. data/spec/unit/functions/round_spec.rb +0 -41
  1329. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1330. data/spec/unit/functions/scanf_spec.rb +0 -32
  1331. data/spec/unit/functions/shared.rb +0 -94
  1332. data/spec/unit/functions/size_spec.rb +0 -50
  1333. data/spec/unit/functions/slice_spec.rb +0 -136
  1334. data/spec/unit/functions/sort_spec.rb +0 -79
  1335. data/spec/unit/functions/split_spec.rb +0 -59
  1336. data/spec/unit/functions/step_spec.rb +0 -113
  1337. data/spec/unit/functions/strftime_spec.rb +0 -152
  1338. data/spec/unit/functions/strip_spec.rb +0 -30
  1339. data/spec/unit/functions/then_spec.rb +0 -40
  1340. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1341. data/spec/unit/functions/type_spec.rb +0 -35
  1342. data/spec/unit/functions/unique_spec.rb +0 -111
  1343. data/spec/unit/functions/unwrap_spec.rb +0 -37
  1344. data/spec/unit/functions/upcase_spec.rb +0 -34
  1345. data/spec/unit/functions/values_spec.rb +0 -30
  1346. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  1347. data/spec/unit/functions/with_spec.rb +0 -31
  1348. data/spec/unit/functions4_spec.rb +0 -1046
  1349. data/spec/unit/gettext/config_spec.rb +0 -156
  1350. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1351. data/spec/unit/graph/key_spec.rb +0 -41
  1352. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  1353. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  1354. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1355. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  1356. data/spec/unit/hiera/scope_spec.rb +0 -105
  1357. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1358. data/spec/unit/http/client_spec.rb +0 -937
  1359. data/spec/unit/http/dns_spec.rb +0 -281
  1360. data/spec/unit/http/external_client_spec.rb +0 -201
  1361. data/spec/unit/http/factory_spec.rb +0 -160
  1362. data/spec/unit/http/pool_entry_spec.rb +0 -49
  1363. data/spec/unit/http/pool_spec.rb +0 -401
  1364. data/spec/unit/http/proxy_spec.rb +0 -347
  1365. data/spec/unit/http/resolver_spec.rb +0 -133
  1366. data/spec/unit/http/response_spec.rb +0 -75
  1367. data/spec/unit/http/service/ca_spec.rb +0 -281
  1368. data/spec/unit/http/service/compiler_spec.rb +0 -746
  1369. data/spec/unit/http/service/file_server_spec.rb +0 -309
  1370. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  1371. data/spec/unit/http/service/report_spec.rb +0 -107
  1372. data/spec/unit/http/service_spec.rb +0 -137
  1373. data/spec/unit/http/session_spec.rb +0 -309
  1374. data/spec/unit/http/site_spec.rb +0 -96
  1375. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1238
  1376. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  1377. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  1378. data/spec/unit/indirector/catalog/rest_spec.rb +0 -91
  1379. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  1380. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  1381. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1382. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1383. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  1384. data/spec/unit/indirector/envelope_spec.rb +0 -32
  1385. data/spec/unit/indirector/exec_spec.rb +0 -63
  1386. data/spec/unit/indirector/face_spec.rb +0 -80
  1387. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  1388. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  1389. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  1390. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  1391. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  1392. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  1393. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  1394. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  1395. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  1396. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  1397. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  1398. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  1399. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  1400. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  1401. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  1402. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  1403. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  1404. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  1405. data/spec/unit/indirector/file_server_spec.rb +0 -288
  1406. data/spec/unit/indirector/hiera_spec.rb +0 -22
  1407. data/spec/unit/indirector/indirection_spec.rb +0 -916
  1408. data/spec/unit/indirector/json_spec.rb +0 -200
  1409. data/spec/unit/indirector/memory_spec.rb +0 -26
  1410. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  1411. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  1412. data/spec/unit/indirector/node/json_spec.rb +0 -33
  1413. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  1414. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  1415. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  1416. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  1417. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  1418. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  1419. data/spec/unit/indirector/none_spec.rb +0 -33
  1420. data/spec/unit/indirector/plain_spec.rb +0 -26
  1421. data/spec/unit/indirector/report/json_spec.rb +0 -72
  1422. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  1423. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  1424. data/spec/unit/indirector/report/rest_spec.rb +0 -58
  1425. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  1426. data/spec/unit/indirector/request_spec.rb +0 -295
  1427. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  1428. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  1429. data/spec/unit/indirector/rest_spec.rb +0 -149
  1430. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1431. data/spec/unit/indirector/yaml_spec.rb +0 -188
  1432. data/spec/unit/indirector_spec.rb +0 -148
  1433. data/spec/unit/info_service_spec.rb +0 -575
  1434. data/spec/unit/interface/action_builder_spec.rb +0 -216
  1435. data/spec/unit/interface/action_manager_spec.rb +0 -254
  1436. data/spec/unit/interface/action_spec.rb +0 -670
  1437. data/spec/unit/interface/documentation_spec.rb +0 -32
  1438. data/spec/unit/interface/face_collection_spec.rb +0 -219
  1439. data/spec/unit/interface/option_builder_spec.rb +0 -86
  1440. data/spec/unit/interface/option_spec.rb +0 -156
  1441. data/spec/unit/interface_spec.rb +0 -305
  1442. data/spec/unit/module_spec.rb +0 -985
  1443. data/spec/unit/module_tool/application_spec.rb +0 -25
  1444. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  1445. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  1446. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  1447. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  1448. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  1449. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  1450. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  1451. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  1452. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  1453. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  1454. data/spec/unit/module_tool/tar_spec.rb +0 -36
  1455. data/spec/unit/module_tool_spec.rb +0 -304
  1456. data/spec/unit/network/authconfig_spec.rb +0 -8
  1457. data/spec/unit/network/authorization_spec.rb +0 -8
  1458. data/spec/unit/network/format_handler_spec.rb +0 -93
  1459. data/spec/unit/network/format_spec.rb +0 -205
  1460. data/spec/unit/network/format_support_spec.rb +0 -199
  1461. data/spec/unit/network/formats_spec.rb +0 -584
  1462. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  1463. data/spec/unit/network/http/api/master_spec.rb +0 -38
  1464. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  1465. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  1466. data/spec/unit/network/http/api_spec.rb +0 -109
  1467. data/spec/unit/network/http/connection_spec.rb +0 -636
  1468. data/spec/unit/network/http/error_spec.rb +0 -30
  1469. data/spec/unit/network/http/handler_spec.rb +0 -164
  1470. data/spec/unit/network/http/request_spec.rb +0 -108
  1471. data/spec/unit/network/http/response_spec.rb +0 -106
  1472. data/spec/unit/network/http/route_spec.rb +0 -90
  1473. data/spec/unit/network/http_pool_spec.rb +0 -145
  1474. data/spec/unit/network/uri_spec.rb +0 -47
  1475. data/spec/unit/node/environment_spec.rb +0 -612
  1476. data/spec/unit/node/facts_spec.rb +0 -225
  1477. data/spec/unit/node_spec.rb +0 -434
  1478. data/spec/unit/other/selinux_spec.rb +0 -27
  1479. data/spec/unit/parameter/boolean_spec.rb +0 -35
  1480. data/spec/unit/parameter/package_options_spec.rb +0 -43
  1481. data/spec/unit/parameter/path_spec.rb +0 -23
  1482. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  1483. data/spec/unit/parameter/value_spec.rb +0 -82
  1484. data/spec/unit/parameter_spec.rb +0 -272
  1485. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  1486. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  1487. data/spec/unit/parser/compiler_spec.rb +0 -1020
  1488. data/spec/unit/parser/files_spec.rb +0 -101
  1489. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  1490. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  1491. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  1492. data/spec/unit/parser/functions/file_spec.rb +0 -99
  1493. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  1494. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  1495. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  1496. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  1497. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  1498. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  1499. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  1500. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  1501. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  1502. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  1503. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  1504. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  1505. data/spec/unit/parser/functions/split_spec.rb +0 -13
  1506. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  1507. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  1508. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  1509. data/spec/unit/parser/functions/template_spec.rb +0 -93
  1510. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  1511. data/spec/unit/parser/functions_spec.rb +0 -156
  1512. data/spec/unit/parser/relationship_spec.rb +0 -74
  1513. data/spec/unit/parser/resource/param_spec.rb +0 -32
  1514. data/spec/unit/parser/resource_spec.rb +0 -657
  1515. data/spec/unit/parser/scope_spec.rb +0 -698
  1516. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  1517. data/spec/unit/parser/type_loader_spec.rb +0 -202
  1518. data/spec/unit/plan_spec.rb +0 -65
  1519. data/spec/unit/pops/adaptable_spec.rb +0 -139
  1520. data/spec/unit/pops/benchmark_spec.rb +0 -123
  1521. data/spec/unit/pops/containment_spec.rb +0 -0
  1522. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  1523. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -317
  1524. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  1525. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  1526. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  1527. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  1528. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  1529. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1639
  1530. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  1531. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  1532. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  1533. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  1534. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  1535. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  1536. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  1537. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  1538. data/spec/unit/pops/factory_spec.rb +0 -309
  1539. data/spec/unit/pops/issues_spec.rb +0 -210
  1540. data/spec/unit/pops/label_provider_spec.rb +0 -46
  1541. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  1542. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  1543. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  1544. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  1545. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  1546. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  1547. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  1548. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  1549. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -389
  1550. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  1551. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  1552. data/spec/unit/pops/migration_spec.rb +0 -51
  1553. data/spec/unit/pops/model/model_spec.rb +0 -41
  1554. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  1555. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  1556. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  1557. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  1558. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  1559. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  1560. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  1561. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  1562. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  1563. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  1564. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  1565. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  1566. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  1567. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  1568. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  1569. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  1570. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  1571. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  1572. data/spec/unit/pops/pn_spec.rb +0 -147
  1573. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  1574. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  1575. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  1576. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  1577. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -649
  1578. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  1579. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  1580. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  1581. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  1582. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  1583. data/spec/unit/pops/types/error_spec.rb +0 -207
  1584. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  1585. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  1586. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  1587. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  1588. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  1589. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  1590. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  1591. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  1592. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  1593. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  1594. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  1595. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  1596. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  1597. data/spec/unit/pops/types/task_spec.rb +0 -411
  1598. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  1599. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  1600. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  1601. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  1602. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  1603. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  1604. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  1605. data/spec/unit/pops/types/types_spec.rb +0 -755
  1606. data/spec/unit/pops/utils_spec.rb +0 -70
  1607. data/spec/unit/pops/validation_spec.rb +0 -66
  1608. data/spec/unit/pops/validator/validator_spec.rb +0 -1029
  1609. data/spec/unit/pops/visitor_spec.rb +0 -93
  1610. data/spec/unit/property/boolean_spec.rb +0 -24
  1611. data/spec/unit/property/ensure_spec.rb +0 -11
  1612. data/spec/unit/property/keyvalue_spec.rb +0 -259
  1613. data/spec/unit/property/list_spec.rb +0 -172
  1614. data/spec/unit/property/ordered_list_spec.rb +0 -59
  1615. data/spec/unit/property_spec.rb +0 -563
  1616. data/spec/unit/provider/README.markdown +0 -4
  1617. data/spec/unit/provider/aix_object_spec.rb +0 -821
  1618. data/spec/unit/provider/command_spec.rb +0 -62
  1619. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  1620. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  1621. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  1622. data/spec/unit/provider/exec_spec.rb +0 -244
  1623. data/spec/unit/provider/file/posix_spec.rb +0 -230
  1624. data/spec/unit/provider/file/windows_spec.rb +0 -152
  1625. data/spec/unit/provider/group/aix_spec.rb +0 -91
  1626. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  1627. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  1628. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  1629. data/spec/unit/provider/group/pw_spec.rb +0 -78
  1630. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  1631. data/spec/unit/provider/ldap_spec.rb +0 -242
  1632. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  1633. data/spec/unit/provider/nameservice_spec.rb +0 -398
  1634. data/spec/unit/provider/package/aix_spec.rb +0 -158
  1635. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  1636. data/spec/unit/provider/package/apt_spec.rb +0 -302
  1637. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  1638. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  1639. data/spec/unit/provider/package/base_spec.rb +0 -19
  1640. data/spec/unit/provider/package/dnf_spec.rb +0 -62
  1641. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -276
  1642. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  1643. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  1644. data/spec/unit/provider/package/gem_spec.rb +0 -487
  1645. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  1646. data/spec/unit/provider/package/macports_spec.rb +0 -142
  1647. data/spec/unit/provider/package/nim_spec.rb +0 -267
  1648. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  1649. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  1650. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  1651. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  1652. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  1653. data/spec/unit/provider/package/pip_spec.rb +0 -504
  1654. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  1655. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  1656. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  1657. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  1658. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  1659. data/spec/unit/provider/package/portage_spec.rb +0 -226
  1660. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  1661. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  1662. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  1663. data/spec/unit/provider/package/sun_spec.rb +0 -112
  1664. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  1665. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  1666. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  1667. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  1668. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  1669. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  1670. data/spec/unit/provider/package/windows_spec.rb +0 -272
  1671. data/spec/unit/provider/package/yum_spec.rb +0 -512
  1672. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  1673. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1674. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  1675. data/spec/unit/provider/service/base_spec.rb +0 -109
  1676. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  1677. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  1678. data/spec/unit/provider/service/debian_spec.rb +0 -158
  1679. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  1680. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  1681. data/spec/unit/provider/service/init_spec.rb +0 -316
  1682. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  1683. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  1684. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  1685. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  1686. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  1687. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  1688. data/spec/unit/provider/service/runit_spec.rb +0 -164
  1689. data/spec/unit/provider/service/smf_spec.rb +0 -526
  1690. data/spec/unit/provider/service/src_spec.rb +0 -186
  1691. data/spec/unit/provider/service/systemd_spec.rb +0 -578
  1692. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  1693. data/spec/unit/provider/service/windows_spec.rb +0 -475
  1694. data/spec/unit/provider/user/aix_spec.rb +0 -320
  1695. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  1696. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  1697. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  1698. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  1699. data/spec/unit/provider/user/pw_spec.rb +0 -252
  1700. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  1701. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  1702. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  1703. data/spec/unit/provider_spec.rb +0 -904
  1704. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  1705. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  1706. data/spec/unit/puppet_pal_spec.rb +0 -3
  1707. data/spec/unit/puppet_spec.rb +0 -127
  1708. data/spec/unit/relationship_spec.rb +0 -202
  1709. data/spec/unit/reports/http_spec.rb +0 -119
  1710. data/spec/unit/reports/store_spec.rb +0 -69
  1711. data/spec/unit/reports_spec.rb +0 -68
  1712. data/spec/unit/resource/catalog_spec.rb +0 -1160
  1713. data/spec/unit/resource/status_spec.rb +0 -216
  1714. data/spec/unit/resource/type_collection_spec.rb +0 -332
  1715. data/spec/unit/resource/type_spec.rb +0 -876
  1716. data/spec/unit/resource_spec.rb +0 -1189
  1717. data/spec/unit/scheduler/job_spec.rb +0 -78
  1718. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  1719. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  1720. data/spec/unit/settings/array_setting_spec.rb +0 -39
  1721. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  1722. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  1723. data/spec/unit/settings/config_file_spec.rb +0 -147
  1724. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  1725. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  1726. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  1727. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  1728. data/spec/unit/settings/file_setting_spec.rb +0 -344
  1729. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  1730. data/spec/unit/settings/ini_file_spec.rb +0 -550
  1731. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  1732. data/spec/unit/settings/path_setting_spec.rb +0 -29
  1733. data/spec/unit/settings/port_setting_spec.rb +0 -31
  1734. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  1735. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1736. data/spec/unit/settings/string_setting_spec.rb +0 -74
  1737. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  1738. data/spec/unit/settings/value_translator_spec.rb +0 -75
  1739. data/spec/unit/settings_spec.rb +0 -2343
  1740. data/spec/unit/ssl/base_spec.rb +0 -125
  1741. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  1742. data/spec/unit/ssl/certificate_request_spec.rb +0 -373
  1743. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  1744. data/spec/unit/ssl/certificate_spec.rb +0 -183
  1745. data/spec/unit/ssl/digest_spec.rb +0 -34
  1746. data/spec/unit/ssl/oids_spec.rb +0 -73
  1747. data/spec/unit/ssl/ssl_provider_spec.rb +0 -657
  1748. data/spec/unit/ssl/state_machine_spec.rb +0 -1117
  1749. data/spec/unit/ssl/verifier_spec.rb +0 -102
  1750. data/spec/unit/task_spec.rb +0 -345
  1751. data/spec/unit/test/test_helper_spec.rb +0 -17
  1752. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  1753. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  1754. data/spec/unit/transaction/event_spec.rb +0 -198
  1755. data/spec/unit/transaction/persistence_spec.rb +0 -276
  1756. data/spec/unit/transaction/report_spec.rb +0 -772
  1757. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  1758. data/spec/unit/transaction_spec.rb +0 -1037
  1759. data/spec/unit/type/README.markdown +0 -4
  1760. data/spec/unit/type/component_spec.rb +0 -52
  1761. data/spec/unit/type/exec_spec.rb +0 -937
  1762. data/spec/unit/type/file/checksum_spec.rb +0 -104
  1763. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  1764. data/spec/unit/type/file/content_spec.rb +0 -440
  1765. data/spec/unit/type/file/ctime_spec.rb +0 -33
  1766. data/spec/unit/type/file/ensure_spec.rb +0 -121
  1767. data/spec/unit/type/file/group_spec.rb +0 -65
  1768. data/spec/unit/type/file/mode_spec.rb +0 -220
  1769. data/spec/unit/type/file/mtime_spec.rb +0 -33
  1770. data/spec/unit/type/file/owner_spec.rb +0 -63
  1771. data/spec/unit/type/file/selinux_spec.rb +0 -86
  1772. data/spec/unit/type/file/source_spec.rb +0 -730
  1773. data/spec/unit/type/file/type_spec.rb +0 -18
  1774. data/spec/unit/type/file_spec.rb +0 -1746
  1775. data/spec/unit/type/filebucket_spec.rb +0 -104
  1776. data/spec/unit/type/group_spec.rb +0 -105
  1777. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  1778. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  1779. data/spec/unit/type/package_spec.rb +0 -396
  1780. data/spec/unit/type/resources_spec.rb +0 -362
  1781. data/spec/unit/type/schedule_spec.rb +0 -621
  1782. data/spec/unit/type/service_spec.rb +0 -458
  1783. data/spec/unit/type/stage_spec.rb +0 -7
  1784. data/spec/unit/type/tidy_spec.rb +0 -493
  1785. data/spec/unit/type/user_spec.rb +0 -553
  1786. data/spec/unit/type/whit_spec.rb +0 -9
  1787. data/spec/unit/type_spec.rb +0 -1473
  1788. data/spec/unit/util/at_fork_spec.rb +0 -150
  1789. data/spec/unit/util/autoload_spec.rb +0 -330
  1790. data/spec/unit/util/backups_spec.rb +0 -130
  1791. data/spec/unit/util/character_encoding_spec.rb +0 -186
  1792. data/spec/unit/util/checksums_spec.rb +0 -223
  1793. data/spec/unit/util/colors_spec.rb +0 -44
  1794. data/spec/unit/util/command_line_spec.rb +0 -200
  1795. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  1796. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  1797. data/spec/unit/util/diff_spec.rb +0 -46
  1798. data/spec/unit/util/docs_spec.rb +0 -100
  1799. data/spec/unit/util/errors_spec.rb +0 -36
  1800. data/spec/unit/util/execution_spec.rb +0 -943
  1801. data/spec/unit/util/execution_stub_spec.rb +0 -38
  1802. data/spec/unit/util/feature_spec.rb +0 -129
  1803. data/spec/unit/util/filetype_spec.rb +0 -223
  1804. data/spec/unit/util/inifile_spec.rb +0 -510
  1805. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  1806. data/spec/unit/util/json_spec.rb +0 -126
  1807. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  1808. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  1809. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  1810. data/spec/unit/util/lockfile_spec.rb +0 -117
  1811. data/spec/unit/util/log/destinations_spec.rb +0 -258
  1812. data/spec/unit/util/log_spec.rb +0 -479
  1813. data/spec/unit/util/logging_spec.rb +0 -618
  1814. data/spec/unit/util/metric_spec.rb +0 -89
  1815. data/spec/unit/util/monkey_patches_spec.rb +0 -161
  1816. data/spec/unit/util/multi_match_spec.rb +0 -38
  1817. data/spec/unit/util/network_device/config_spec.rb +0 -91
  1818. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  1819. data/spec/unit/util/network_device_spec.rb +0 -43
  1820. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  1821. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  1822. data/spec/unit/util/package/version/range_spec.rb +0 -175
  1823. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  1824. data/spec/unit/util/package_spec.rb +0 -19
  1825. data/spec/unit/util/pidlock_spec.rb +0 -333
  1826. data/spec/unit/util/plist_spec.rb +0 -168
  1827. data/spec/unit/util/posix_spec.rb +0 -630
  1828. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  1829. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  1830. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  1831. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  1832. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  1833. data/spec/unit/util/profiler_spec.rb +0 -47
  1834. data/spec/unit/util/rdoc_spec.rb +0 -55
  1835. data/spec/unit/util/reference_spec.rb +0 -38
  1836. data/spec/unit/util/resource_template_spec.rb +0 -57
  1837. data/spec/unit/util/retry_action_spec.rb +0 -84
  1838. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  1839. data/spec/unit/util/rubygems_spec.rb +0 -47
  1840. data/spec/unit/util/run_mode_spec.rb +0 -185
  1841. data/spec/unit/util/selinux_spec.rb +0 -422
  1842. data/spec/unit/util/skip_tags_spec.rb +0 -14
  1843. data/spec/unit/util/splayer_spec.rb +0 -44
  1844. data/spec/unit/util/storage_spec.rb +0 -330
  1845. data/spec/unit/util/suidmanager_spec.rb +0 -278
  1846. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  1847. data/spec/unit/util/tag_set_spec.rb +0 -52
  1848. data/spec/unit/util/tagging_spec.rb +0 -246
  1849. data/spec/unit/util/terminal_spec.rb +0 -41
  1850. data/spec/unit/util/user_attr_spec.rb +0 -45
  1851. data/spec/unit/util/warnings_spec.rb +0 -45
  1852. data/spec/unit/util/watched_file_spec.rb +0 -52
  1853. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  1854. data/spec/unit/util/watcher_spec.rb +0 -86
  1855. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  1856. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  1857. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  1858. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  1859. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  1860. data/spec/unit/util/windows/file_spec.rb +0 -88
  1861. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  1862. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  1863. data/spec/unit/util/windows/service_spec.rb +0 -677
  1864. data/spec/unit/util/windows/sid_spec.rb +0 -338
  1865. data/spec/unit/util/windows/string_spec.rb +0 -55
  1866. data/spec/unit/util/windows_spec.rb +0 -23
  1867. data/spec/unit/util/yaml_spec.rb +0 -171
  1868. data/spec/unit/util_spec.rb +0 -960
  1869. data/spec/unit/version_spec.rb +0 -61
  1870. data/spec/unit/x509/cert_provider_spec.rb +0 -663
  1871. data/spec/unit/x509/pem_store_spec.rb +0 -160
@@ -1,2343 +0,0 @@
1
- require 'spec_helper'
2
- require 'ostruct'
3
- require 'puppet/settings/errors'
4
- require 'puppet_spec/files'
5
- require 'matchers/resource'
6
-
7
- describe Puppet::Settings do
8
- include PuppetSpec::Files
9
- include Matchers::Resource
10
-
11
- let(:main_config_file_default_location) do
12
- File.join(Puppet::Util::RunMode[:server].conf_dir, "puppet.conf")
13
- end
14
-
15
- let(:user_config_file_default_location) do
16
- File.join(Puppet::Util::RunMode[:user].conf_dir, "puppet.conf")
17
- end
18
-
19
- # Return a given object's file metadata.
20
- def metadata(setting)
21
- if setting.is_a?(Puppet::Settings::FileSetting)
22
- {
23
- :owner => setting.owner,
24
- :group => setting.group,
25
- :mode => setting.mode
26
- }.delete_if { |key, value| value.nil? }
27
- else
28
- nil
29
- end
30
- end
31
-
32
- def stub_config_with(content)
33
- allow(Puppet.features).to receive(:root?).and_return(false)
34
- expect(Puppet::FileSystem).to receive(:exist?).
35
- with(user_config_file_default_location).
36
- and_return(true).ordered
37
- expect(@settings).to receive(:read_file).
38
- with(user_config_file_default_location).
39
- and_return(content).ordered
40
- @settings.send(:parse_config_files)
41
- end
42
-
43
- describe "when specifying defaults" do
44
- before do
45
- @settings = Puppet::Settings.new
46
- end
47
-
48
- it "should start with no defined sections or parameters" do
49
- # Note this relies on undocumented side effect that eachsection returns the Settings internal
50
- # configuration on which keys returns all parameters.
51
- expect(@settings.eachsection.keys.length).to eq(0)
52
- end
53
-
54
- it "should not allow specification of default values associated with a section as an array" do
55
- expect {
56
- @settings.define_settings(:section, :myvalue => ["defaultval", "my description"])
57
- }.to raise_error(ArgumentError, /setting definition for 'myvalue' is not a hash!/)
58
- end
59
-
60
- it "should not allow duplicate parameter specifications" do
61
- @settings.define_settings(:section, :myvalue => { :default => "a", :desc => "b" })
62
- expect { @settings.define_settings(:section, :myvalue => { :default => "c", :desc => "d" }) }.to raise_error(ArgumentError)
63
- end
64
-
65
- it "should allow specification of default values associated with a section as a hash" do
66
- @settings.define_settings(:section, :myvalue => {:default => "defaultval", :desc => "my description"})
67
- end
68
-
69
- it "should consider defined parameters to be valid" do
70
- @settings.define_settings(:section, :myvalue => { :default => "defaultval", :desc => "my description" })
71
- expect(@settings.valid?(:myvalue)).to be_truthy
72
- end
73
-
74
- it "should require a description when defaults are specified with a hash" do
75
- expect { @settings.define_settings(:section, :myvalue => {:default => "a value"}) }.to raise_error(ArgumentError)
76
- end
77
-
78
- it "should support specifying owner, group, and mode when specifying files" do
79
- @settings.define_settings(:section, :myvalue => {:type => :file, :default => "/some/file", :owner => "service", :mode => "boo", :group => "service", :desc => "whatever"})
80
- end
81
-
82
- it "should support specifying a short name" do
83
- @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"})
84
- end
85
-
86
- it "should support specifying the setting type" do
87
- @settings.define_settings(:section, :myvalue => {:default => "/w", :desc => "b", :type => :string})
88
- expect(@settings.setting(:myvalue)).to be_instance_of(Puppet::Settings::StringSetting)
89
- end
90
-
91
- it "should fail if an invalid setting type is specified" do
92
- expect { @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :type => :foo}) }.to raise_error(ArgumentError)
93
- end
94
-
95
- it "should fail when short names conflict" do
96
- @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"})
97
- expect { @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"}) }.to raise_error(ArgumentError)
98
- end
99
- end
100
-
101
- describe "when initializing application defaults do" do
102
- before do
103
- @settings = Puppet::Settings.new
104
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
105
- end
106
-
107
- it "should fail if the app defaults hash is missing any required values" do
108
- expect {
109
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.reject { |key, _| key == :confdir })
110
- }.to raise_error(Puppet::Settings::SettingsError)
111
- end
112
-
113
- # ultimately I'd like to stop treating "run_mode" as a normal setting, because it has so many special
114
- # case behaviors / uses. However, until that time... we need to make sure that our private run_mode=
115
- # setter method gets properly called during app initialization.
116
- it "sets the preferred run mode when initializing the app defaults" do
117
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :server))
118
-
119
- expect(@settings.preferred_run_mode).to eq(:server)
120
- end
121
-
122
- it "creates ancestor directories for all required app settings" do
123
- # initialize_app_defaults is called in spec_helper, before we even
124
- # get here, but call it here to make it explicit what we're trying
125
- # to do.
126
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
127
-
128
- Puppet::Settings::REQUIRED_APP_SETTINGS.each do |key|
129
- expect(File).to exist(File.dirname(Puppet[key]))
130
- end
131
- end
132
- end
133
-
134
- describe "#call_hooks_deferred_to_application_initialization" do
135
- let(:good_default) { "yay" }
136
- let(:bad_default) { "$doesntexist" }
137
- before(:each) do
138
- @settings = Puppet::Settings.new
139
- end
140
-
141
- describe "when ignoring dependency interpolation errors" do
142
- let(:options) { {:ignore_interpolation_dependency_errors => true} }
143
-
144
- describe "if interpolation error" do
145
- it "should not raise an error" do
146
- hook_values = []
147
- @settings.define_settings(:section, :badhook => {:default => bad_default, :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
148
- expect do
149
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
150
- end.to_not raise_error
151
- end
152
- end
153
-
154
- describe "if no interpolation error" do
155
- it "should not raise an error" do
156
- hook_values = []
157
- @settings.define_settings(:section, :goodhook => {:default => good_default, :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
158
- expect do
159
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
160
- end.to_not raise_error
161
- end
162
- end
163
- end
164
-
165
- describe "when not ignoring dependency interpolation errors" do
166
- [ {}, {:ignore_interpolation_dependency_errors => false}].each do |options|
167
- describe "if interpolation error" do
168
- it "should raise an error" do
169
- hook_values = []
170
- @settings.define_settings(
171
- :section,
172
- :badhook => {
173
- :default => bad_default,
174
- :desc => "boo",
175
- :call_hook => :on_initialize_and_write,
176
- :hook => lambda { |v| hook_values << v }
177
- }
178
- )
179
- expect do
180
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
181
- end.to raise_error(Puppet::Settings::InterpolationError)
182
- end
183
-
184
- it "should contain the setting name in error message" do
185
- hook_values = []
186
- @settings.define_settings(
187
- :section,
188
- :badhook => {
189
- :default => bad_default,
190
- :desc => "boo",
191
- :call_hook => :on_initialize_and_write,
192
- :hook => lambda { |v| hook_values << v }
193
- }
194
- )
195
- expect do
196
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
197
- end.to raise_error(Puppet::Settings::InterpolationError, /badhook/)
198
- end
199
- end
200
-
201
- describe "if no interpolation error" do
202
- it "should not raise an error" do
203
- hook_values = []
204
- @settings.define_settings(
205
- :section,
206
- :goodhook => {
207
- :default => good_default,
208
- :desc => "boo",
209
- :call_hook => :on_initialize_and_write,
210
- :hook => lambda { |v| hook_values << v }
211
- }
212
- )
213
- expect do
214
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
215
- end.to_not raise_error
216
- end
217
- end
218
- end
219
- end
220
- end
221
-
222
- describe "when setting values" do
223
- before do
224
- @settings = Puppet::Settings.new
225
- @settings.define_settings :main, :myval => { :default => "val", :desc => "desc" }
226
- @settings.define_settings :main, :bool => { :type => :boolean, :default => true, :desc => "desc" }
227
- end
228
-
229
- it "should provide a method for setting values from other objects" do
230
- @settings[:myval] = "something else"
231
- expect(@settings[:myval]).to eq("something else")
232
- end
233
-
234
- it "should support a getopt-specific mechanism for setting values" do
235
- @settings.handlearg("--myval", "newval")
236
- expect(@settings[:myval]).to eq("newval")
237
- end
238
-
239
- it "should support a getopt-specific mechanism for turning booleans off" do
240
- @settings.override_default(:bool, true)
241
- @settings.handlearg("--no-bool", "")
242
- expect(@settings[:bool]).to eq(false)
243
- end
244
-
245
- it "should support a getopt-specific mechanism for turning booleans on" do
246
- # Turn it off first
247
- @settings.override_default(:bool, false)
248
- @settings.handlearg("--bool", "")
249
- expect(@settings[:bool]).to eq(true)
250
- end
251
-
252
- it "should consider a cli setting with no argument to be a boolean" do
253
- # Turn it off first
254
- @settings.override_default(:bool, false)
255
- @settings.handlearg("--bool")
256
- expect(@settings[:bool]).to eq(true)
257
- end
258
-
259
- it "should consider a cli setting with an empty string as an argument to be an empty argument, if the setting itself is not a boolean" do
260
- @settings.override_default(:myval, "bob")
261
- @settings.handlearg("--myval", "")
262
- expect(@settings[:myval]).to eq("")
263
- end
264
-
265
- it "should consider a cli setting with a boolean as an argument to be a boolean" do
266
- # Turn it off first
267
- @settings.override_default(:bool, false)
268
- @settings.handlearg("--bool", "true")
269
- expect(@settings[:bool]).to eq(true)
270
- end
271
-
272
- it "should not consider a cli setting of a non boolean with a boolean as an argument to be a boolean" do
273
- @settings.override_default(:myval, "bob")
274
- @settings.handlearg("--no-myval", "")
275
- expect(@settings[:myval]).to eq("")
276
- end
277
-
278
- it "should retrieve numeric settings from the CLI" do
279
- @settings.handlearg("--myval", "12")
280
- expect(@settings.set_by_cli(:myval)).to eq("12")
281
- expect(@settings.set_by_cli?(:myval)).to be true
282
- end
283
-
284
- it "should retrieve string settings from the CLI" do
285
- @settings.handlearg("--myval", "something")
286
- expect(@settings.set_by_cli(:myval)).to eq("something")
287
- expect(@settings.set_by_cli?(:myval)).to be true
288
- end
289
-
290
- it "should retrieve bool settings from the CLI" do
291
- @settings.handlearg("--bool")
292
- expect(@settings.set_by_cli(:bool)).to be true
293
- expect(@settings.set_by_cli?(:bool)).to be true
294
- end
295
-
296
- it "should not retrieve settings set in memory as from CLI" do
297
- @settings[:myval] = "12"
298
- expect(@settings.set_by_cli?(:myval)).to be false
299
- end
300
-
301
- it "should find no configured settings by default" do
302
- expect(@settings.set_by_config?(:myval)).to be false
303
- end
304
-
305
- it "should identify configured settings in memory" do
306
- expect(@settings.instance_variable_get(:@value_sets)[:memory]).to receive(:lookup).with(:myval).and_return('foo')
307
- expect(@settings.set_by_config?(:myval)).to be_truthy
308
- end
309
-
310
- it "should identify configured settings from CLI" do
311
- expect(@settings.instance_variable_get(:@value_sets)[:cli]).to receive(:lookup).with(:myval).and_return('foo')
312
- expect(@settings.set_by_config?(:myval)).to be_truthy
313
- end
314
-
315
- it "should not identify configured settings from environment by default" do
316
- expect(Puppet.lookup(:environments)).not_to receive(:get_conf).with(Puppet[:environment].to_sym)
317
- expect(@settings.set_by_config?(:manifest)).to be_falsey
318
- end
319
-
320
- it "should identify configured settings from environment by when an environment is specified" do
321
- foo = double('environment', :manifest => 'foo')
322
- expect(Puppet.lookup(:environments)).to receive(:get_conf).with(Puppet[:environment].to_sym).and_return(foo)
323
- expect(@settings.set_by_config?(:manifest, Puppet[:environment])).to be_truthy
324
- end
325
-
326
- context "when handling puppet.conf" do
327
- describe "#set_by_config?" do
328
- it "should identify configured settings from the preferred run mode" do
329
- stub_config_with(<<~CONFIG)
330
- [#{@settings.preferred_run_mode}]
331
- myval = foo
332
- CONFIG
333
-
334
- expect(@settings.set_by_config?(:myval)).to be_truthy
335
- end
336
-
337
- it "should identify configured settings from the specified run mode" do
338
- stub_config_with(<<~CONFIG)
339
- [server]
340
- myval = foo
341
- CONFIG
342
-
343
- expect(@settings.set_by_config?(:myval, nil, :server)).to be_truthy
344
- end
345
-
346
- it "should not identify configured settings from an unspecified run mode" do
347
- stub_config_with(<<~CONFIG)
348
- [zaz]
349
- myval = foo
350
- CONFIG
351
-
352
- expect(@settings.set_by_config?(:myval)).to be_falsey
353
- end
354
-
355
- it "should identify configured settings from the main section" do
356
- stub_config_with(<<~CONFIG)
357
- [main]
358
- myval = foo
359
- CONFIG
360
-
361
- expect(@settings.set_by_config?(:myval)).to be_truthy
362
- end
363
- end
364
-
365
- describe "#set_in_section" do
366
- it "should retrieve configured settings from the specified section" do
367
- stub_config_with(<<~CONFIG)
368
- [agent]
369
- myval = foo
370
- CONFIG
371
-
372
- expect(@settings.set_in_section(:myval, :agent)).to eq("foo")
373
- expect(@settings.set_in_section?(:myval, :agent)).to be true
374
- end
375
-
376
- it "should not retrieve configured settings from a different section" do
377
- stub_config_with(<<~CONFIG)
378
- [main]
379
- myval = foo
380
- CONFIG
381
-
382
- expect(@settings.set_in_section(:myval, :agent)).to be nil
383
- expect(@settings.set_in_section?(:myval, :agent)).to be false
384
- end
385
- end
386
- end
387
-
388
- it "should clear the cache when setting getopt-specific values" do
389
- @settings.define_settings :mysection,
390
- :one => { :default => "whah", :desc => "yay" },
391
- :two => { :default => "$one yay", :desc => "bah" }
392
- expect(@settings).to receive(:unsafe_flush_cache)
393
- expect(@settings[:two]).to eq("whah yay")
394
- @settings.handlearg("--one", "else")
395
- expect(@settings[:two]).to eq("else yay")
396
- end
397
-
398
- it "should clear the cache when the preferred_run_mode is changed" do
399
- expect(@settings).to receive(:flush_cache)
400
- @settings.preferred_run_mode = :server
401
- end
402
-
403
- it "should not clear other values when setting getopt-specific values" do
404
- @settings[:myval] = "yay"
405
- @settings.handlearg("--no-bool", "")
406
- expect(@settings[:myval]).to eq("yay")
407
- end
408
-
409
- it "should clear the list of used sections" do
410
- expect(@settings).to receive(:clearused)
411
- @settings[:myval] = "yay"
412
- end
413
-
414
- describe "call_hook" do
415
- let(:config_file) { tmpfile('config') }
416
-
417
- before :each do
418
- # We can't specify the config file to read from using `Puppet[:config] =`
419
- # or pass it as an arg to Puppet.initialize_global_settings, because
420
- # both of those will set the value on the `Puppet.settings` instance
421
- # which is different from the `@settings` instance created in the test.
422
- # Instead, we define a `:config` setting and set its default value to
423
- # the `config_file` temp file, and then access the `config_file` within
424
- # each test.
425
- @settings.define_settings(:main, :config => { :type => :file, :desc => "config file", :default => config_file })
426
- end
427
-
428
- Puppet::Settings::StringSetting.available_call_hook_values.each do |val|
429
- describe "when :#{val}" do
430
- describe "and definition invalid" do
431
- it "should raise error if no hook defined" do
432
- expect do
433
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => val})
434
- end.to raise_error(ArgumentError, /no :hook/)
435
- end
436
-
437
- it "should include the setting name in the error message" do
438
- expect do
439
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => val})
440
- end.to raise_error(ArgumentError, /for :setting/)
441
- end
442
- end
443
-
444
- describe "and definition valid" do
445
- before(:each) do
446
- hook_values = []
447
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => val, :hook => lambda { |v| hook_values << v }})
448
- end
449
-
450
- it "should call the hook when value written" do
451
- expect(@settings.setting(:setting)).to receive(:handle).with("something").once
452
- @settings[:setting] = "something"
453
- end
454
- end
455
- end
456
- end
457
-
458
- it "should have a default value of :on_write_only" do
459
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
460
- expect(@settings.setting(:setting).call_hook).to eq(:on_write_only)
461
- end
462
-
463
- describe "when nil" do
464
- it "should generate a warning" do
465
- expect(Puppet).to receive(:warning)
466
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => nil, :hook => lambda { |v| hook_values << v }})
467
- end
468
-
469
- it "should use default" do
470
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => nil, :hook => lambda { |v| hook_values << v }})
471
- expect(@settings.setting(:setting).call_hook).to eq(:on_write_only)
472
- end
473
- end
474
-
475
- describe "when invalid" do
476
- it "should raise an error" do
477
- expect do
478
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => :foo, :hook => lambda { |v| hook_values << v }})
479
- end.to raise_error(ArgumentError, /invalid.*call_hook/i)
480
- end
481
- end
482
-
483
- describe "when :on_write_only" do
484
- it "returns its hook type" do
485
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |_| }})
486
-
487
- expect(@settings.setting(:setting).call_hook).to eq(:on_write_only)
488
- end
489
-
490
- it "should not call the hook at definition" do
491
- hook_values = []
492
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
493
-
494
- expect(hook_values).to eq(%w[])
495
- end
496
-
497
- it "calls the hook when initializing global defaults with the value from the `main` section" do
498
- hook_values = []
499
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
500
-
501
- File.write(config_file, <<~END)
502
- [main]
503
- setting=in_main
504
- END
505
- @settings.initialize_global_settings
506
-
507
- expect(@settings[:setting]).to eq('in_main')
508
- expect(hook_values).to eq(%w[in_main])
509
- end
510
-
511
- it "doesn't call the hook when initializing app defaults" do
512
- hook_values = []
513
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
514
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
515
-
516
- File.write(config_file, <<~END)
517
- [main]
518
- setting=in_main
519
- [agent]
520
- setting=in_agent
521
- END
522
- @settings.initialize_global_settings
523
-
524
- hook_values.clear
525
-
526
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
527
-
528
- expect(@settings[:setting]).to eq('in_main')
529
- expect(hook_values).to eq(%w[])
530
- end
531
-
532
- it "doesn't call the hook with value from a section that matches the run_mode" do
533
- hook_values = []
534
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
535
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
536
-
537
- File.write(config_file, <<~END)
538
- [main]
539
- setting=in_main
540
- [agent]
541
- setting=in_agent
542
- END
543
- @settings.initialize_global_settings
544
-
545
- hook_values.clear
546
-
547
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :agent))
548
-
549
- expect(@settings[:setting]).to eq('in_agent')
550
- expect(hook_values).to eq(%w[])
551
- end
552
- end
553
-
554
- describe "when :on_define_and_write" do
555
- it "returns its hook type" do
556
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |_| }})
557
-
558
- expect(@settings.setting(:setting).call_hook).to eq(:on_define_and_write)
559
- end
560
-
561
- it "should call the hook at definition with the default value" do
562
- hook_values = []
563
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| hook_values << v }})
564
-
565
- expect(hook_values).to eq(%w[yay])
566
- end
567
-
568
- it "calls the hook when initializing global defaults with the value from the `main` section" do
569
- hook_values = []
570
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| hook_values << v }})
571
-
572
- File.write(config_file, <<~END)
573
- [main]
574
- setting=in_main
575
- END
576
- @settings.initialize_global_settings
577
-
578
- expect(@settings[:setting]).to eq('in_main')
579
- expect(hook_values).to eq(%w[yay in_main])
580
- end
581
-
582
- it "doesn't call the hook when initializing app defaults" do
583
- hook_values = []
584
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
585
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| hook_values << v }})
586
-
587
- File.write(config_file, <<~END)
588
- [main]
589
- setting=in_main
590
- [agent]
591
- setting=in_agent
592
- END
593
- @settings.initialize_global_settings
594
-
595
- hook_values.clear
596
-
597
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
598
-
599
- expect(@settings[:setting]).to eq('in_main')
600
- expect(hook_values).to eq([])
601
- end
602
-
603
- it "doesn't call the hook with value from a section that matches the run_mode" do
604
- hook_values = []
605
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
606
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| hook_values << v }})
607
-
608
- File.write(config_file, <<~END)
609
- [main]
610
- setting=in_main
611
- [agent]
612
- setting=in_agent
613
- END
614
-
615
- @settings.initialize_global_settings
616
-
617
- hook_values.clear
618
-
619
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :agent))
620
-
621
- # The correct value is returned
622
- expect(@settings[:setting]).to eq('in_agent')
623
-
624
- # but the hook is never called, seems like a bug!
625
- expect(hook_values).to eq([])
626
- end
627
- end
628
-
629
- describe "when :on_initialize_and_write" do
630
- it "returns its hook type" do
631
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |_| }})
632
-
633
- expect(@settings.setting(:setting).call_hook).to eq(:on_initialize_and_write)
634
- end
635
-
636
- it "should not call the hook at definition" do
637
- hook_values = []
638
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
639
- expect(hook_values).to eq([])
640
- end
641
-
642
- it "calls the hook when initializing global defaults with the value from the `main` section" do
643
- hook_values = []
644
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
645
-
646
- File.write(config_file, <<~END)
647
- [main]
648
- setting=in_main
649
- END
650
- @settings.initialize_global_settings
651
-
652
- expect(@settings[:setting]).to eq('in_main')
653
- expect(hook_values).to eq(%w[in_main])
654
- end
655
-
656
- it "calls the hook when initializing app defaults" do
657
- hook_values = []
658
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
659
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
660
-
661
- File.write(config_file, <<~END)
662
- [main]
663
- setting=in_main
664
- [agent]
665
- setting=in_agent
666
- END
667
- @settings.initialize_global_settings
668
-
669
- hook_values.clear
670
-
671
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
672
-
673
- expect(@settings[:setting]).to eq('in_main')
674
- expect(hook_values).to eq(%w[in_main])
675
- end
676
-
677
- it "calls the hook with the overridden value from a section that matches the run_mode" do
678
- hook_values = []
679
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
680
- @settings.define_settings(:main, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
681
-
682
- File.write(config_file, <<~END)
683
- [main]
684
- setting=in_main
685
- [agent]
686
- setting=in_agent
687
- END
688
- @settings.initialize_global_settings
689
-
690
- hook_values.clear
691
-
692
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :agent))
693
-
694
- expect(@settings[:setting]).to eq('in_agent')
695
- expect(hook_values).to eq(%w[in_agent])
696
- end
697
- end
698
- end
699
-
700
- it "should call passed blocks when values are set" do
701
- values = []
702
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| values << v }})
703
- expect(values).to eq([])
704
-
705
- @settings[:setting] = "something"
706
- expect(values).to eq(%w{something})
707
- end
708
-
709
- it "should call passed blocks when values are set via the command line" do
710
- values = []
711
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :hook => lambda { |v| values << v }})
712
- expect(values).to eq([])
713
-
714
- @settings.handlearg("--setting", "yay")
715
-
716
- expect(values).to eq(%w{yay})
717
- end
718
-
719
- it "should provide an option to call passed blocks during definition" do
720
- values = []
721
- @settings.define_settings(:section, :setting => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| values << v }})
722
- expect(values).to eq(%w{yay})
723
- end
724
-
725
- it "should pass the fully interpolated value to the hook when called on definition" do
726
- values = []
727
- @settings.define_settings(:section, :one => { :default => "test", :desc => "a" })
728
- @settings.define_settings(:section, :setting => {:default => "$one/yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| values << v }})
729
- expect(values).to eq(%w{test/yay})
730
- end
731
-
732
- it "should munge values using the setting-specific methods" do
733
- @settings[:bool] = "false"
734
- expect(@settings[:bool]).to eq(false)
735
- end
736
-
737
- it "should prefer values set in ruby to values set on the cli" do
738
- @settings[:myval] = "memarg"
739
- @settings.handlearg("--myval", "cliarg")
740
-
741
- expect(@settings[:myval]).to eq("memarg")
742
- end
743
-
744
- it "should raise an error if we try to set a setting that hasn't been defined'" do
745
- expect{
746
- @settings[:why_so_serious] = "foo"
747
- }.to raise_error(ArgumentError, /unknown setting/)
748
- end
749
-
750
- it "allows overriding cli args based on the cli-set value" do
751
- @settings.handlearg("--myval", "cliarg")
752
- @settings.patch_value(:myval, "modified #{@settings[:myval]}", :cli)
753
- expect(@settings[:myval]).to eq("modified cliarg")
754
- end
755
- end
756
-
757
- describe "when returning values" do
758
- before do
759
- @settings = Puppet::Settings.new
760
- @settings.define_settings :section,
761
- :config => { :type => :file, :default => "/my/file", :desc => "eh" },
762
- :one => { :default => "ONE", :desc => "a" },
763
- :two => { :default => "$one TWO", :desc => "b"},
764
- :three => { :default => "$one $two THREE", :desc => "c"},
765
- :four => { :default => "$two $three FOUR", :desc => "d"},
766
- :five => { :default => nil, :desc => "e" },
767
- :code => { :default => "", :desc => "my code"}
768
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
769
- end
770
-
771
- it "should provide a mechanism for returning set values" do
772
- @settings[:one] = "other"
773
- expect(@settings[:one]).to eq("other")
774
- end
775
-
776
- it "setting a value to nil causes it to return to its default" do
777
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
778
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:one => "skipped value"))
779
- @settings[:one] = "value will disappear"
780
-
781
- @settings[:one] = nil
782
-
783
- expect(@settings[:one]).to eq("ONE")
784
- end
785
-
786
- it "should interpolate default values for other parameters into returned parameter values" do
787
- expect(@settings[:one]).to eq("ONE")
788
- expect(@settings[:two]).to eq("ONE TWO")
789
- expect(@settings[:three]).to eq("ONE ONE TWO THREE")
790
- end
791
-
792
- it "should interpolate default values that themselves need to be interpolated" do
793
- expect(@settings[:four]).to eq("ONE TWO ONE ONE TWO THREE FOUR")
794
- end
795
-
796
- it "should provide a method for returning uninterpolated values" do
797
- @settings[:two] = "$one tw0"
798
- expect(@settings.value(:two, nil, true)).to eq("$one tw0")
799
- expect(@settings.value(:four, nil, true)).to eq("$two $three FOUR")
800
- end
801
-
802
- it "should interpolate set values for other parameters into returned parameter values" do
803
- @settings[:one] = "on3"
804
- @settings[:two] = "$one tw0"
805
- @settings[:three] = "$one $two thr33"
806
- @settings[:four] = "$one $two $three f0ur"
807
- expect(@settings[:one]).to eq("on3")
808
- expect(@settings[:two]).to eq("on3 tw0")
809
- expect(@settings[:three]).to eq("on3 on3 tw0 thr33")
810
- expect(@settings[:four]).to eq("on3 on3 tw0 on3 on3 tw0 thr33 f0ur")
811
- end
812
-
813
- it "should not cache interpolated values such that stale information is returned" do
814
- expect(@settings[:two]).to eq("ONE TWO")
815
- @settings[:one] = "one"
816
- expect(@settings[:two]).to eq("one TWO")
817
- end
818
-
819
- it "should not interpolate the value of the :code setting" do
820
- @code = @settings.setting(:code)
821
- expect(@code).not_to receive(:munge)
822
-
823
- expect(@settings[:code]).to eq("")
824
- end
825
-
826
- it "should have a run_mode that defaults to user" do
827
- expect(@settings.preferred_run_mode).to eq(:user)
828
- end
829
-
830
- it "interpolates a boolean false without raising an error" do
831
- @settings.define_settings(:section,
832
- :trip_wire => { :type => :boolean, :default => false, :desc => "a trip wire" },
833
- :tripping => { :default => '$trip_wire', :desc => "once tripped if interpolated was false" })
834
- expect(@settings[:tripping]).to eq("false")
835
- end
836
- end
837
-
838
- describe "when choosing which value to return" do
839
- let(:config_file) { tmpfile('settings') }
840
-
841
- before do
842
- @settings = Puppet::Settings.new
843
- @settings.define_settings :section,
844
- :config => { :type => :file, :default => config_file, :desc => "a" },
845
- :one => { :default => "ONE", :desc => "a" },
846
- :two => { :default => "TWO", :desc => "b" }
847
- @settings.preferred_run_mode = :agent
848
- end
849
-
850
- it "should return default values if no values have been set" do
851
- expect(@settings[:one]).to eq("ONE")
852
- end
853
-
854
- it "should return values set on the cli before values set in the configuration file" do
855
- File.write(config_file, "[main]\none = fileval\n")
856
- @settings.handlearg("--one", "clival")
857
- @settings.initialize_global_settings
858
-
859
- expect(@settings[:one]).to eq("clival")
860
- end
861
-
862
- it "should return values set in the mode-specific section before values set in the main section" do
863
- File.write(config_file, "[main]\none = mainval\n[agent]\none = modeval\n")
864
- @settings.initialize_global_settings
865
-
866
- expect(@settings[:one]).to eq("modeval")
867
- end
868
-
869
- [:master, :server].each do |run_mode|
870
- describe "when run mode is '#{run_mode}'" do
871
- before(:each) { @settings.preferred_run_mode = run_mode }
872
-
873
- it "returns values set in the 'master' section if the 'server' section does not exist" do
874
- File.write(config_file, "[main]\none = mainval\n[master]\none = modeval\n")
875
- @settings.initialize_global_settings
876
-
877
- expect(@settings[:one]).to eq("modeval")
878
- end
879
-
880
- it "prioritizes values set in the 'server' section if set" do
881
- File.write(config_file, "[main]\none = mainval\n[server]\none = serverval\n[master]\none = masterval\n")
882
- @settings.initialize_global_settings
883
-
884
- expect(@settings[:one]).to eq("serverval")
885
- end
886
- end
887
- end
888
-
889
- it "should not return values outside of its search path" do
890
- File.write(config_file, "[other]\none = oval\n")
891
- @settings.initialize_global_settings
892
-
893
- expect(@settings[:one]).to eq("ONE")
894
- end
895
-
896
- it 'should use the current environment for $environment' do
897
- @settings.define_settings :main, :config_version => { :default => "$environment/foo", :desc => "mydocs" }
898
-
899
- expect(@settings.value(:config_version, "myenv")).to eq("myenv/foo")
900
- end
901
- end
902
-
903
- describe "when locating config files" do
904
- before do
905
- @settings = Puppet::Settings.new
906
- end
907
-
908
- describe "when root" do
909
- it "should look for the main config file default location config settings haven't been overridden'" do
910
- allow(Puppet.features).to receive(:root?).and_return(true)
911
- expect(Puppet::FileSystem).to receive(:exist?).with(main_config_file_default_location).and_return(false)
912
- expect(Puppet::FileSystem).not_to receive(:exist?).with(user_config_file_default_location)
913
-
914
- @settings.initialize_global_settings
915
- end
916
- end
917
-
918
- describe "when not root" do
919
- it "should look for user config file default location if config settings haven't been overridden'" do
920
- allow(Puppet.features).to receive(:root?).and_return(false)
921
-
922
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(false)
923
-
924
- @settings.initialize_global_settings
925
- end
926
- end
927
-
928
- describe "when the file exists" do
929
- it "fails if the file is not readable" do
930
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
931
- expect(@settings).to receive(:read_file).and_raise('Permission denied')
932
-
933
- expect{ @settings.initialize_global_settings }.to raise_error(RuntimeError, /Could not load #{user_config_file_default_location}: Permission denied/)
934
- end
935
-
936
- it "does not fail if the file is not readable and when `require_config` is false" do
937
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
938
- expect(@settings).to receive(:read_file).and_raise('Permission denied')
939
-
940
- expect(@settings).not_to receive(:parse_config)
941
- expect(Puppet).to receive(:log_exception)
942
-
943
- expect{ @settings.initialize_global_settings([], false) }.not_to raise_error
944
- end
945
-
946
- it "reads the file if it is readable" do
947
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
948
- expect(@settings).to receive(:read_file).and_return('server = host.string')
949
- expect(@settings).to receive(:parse_config)
950
-
951
- @settings.initialize_global_settings
952
- end
953
- end
954
-
955
- describe "when the file does not exist" do
956
- it "does not attempt to parse the config file" do
957
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(false)
958
- expect(@settings).not_to receive(:parse_config)
959
-
960
- @settings.initialize_global_settings
961
- end
962
- end
963
- end
964
-
965
- describe "when parsing its configuration" do
966
- before do
967
- @settings = Puppet::Settings.new
968
- allow(@settings).to receive(:service_user_available?).and_return(true)
969
- allow(@settings).to receive(:service_group_available?).and_return(true)
970
- @file = tmpfile("somefile")
971
- @settings.define_settings :section, :user => { :default => "suser", :desc => "doc" }, :group => { :default => "sgroup", :desc => "doc" }
972
- @settings.define_settings :section,
973
- :config => { :type => :file, :default => @file, :desc => "eh" },
974
- :one => { :default => "ONE", :desc => "a" },
975
- :two => { :default => "$one TWO", :desc => "b" },
976
- :three => { :default => "$one $two THREE", :desc => "c" }
977
-
978
- userconfig = tmpfile("userconfig")
979
- allow(@settings).to receive(:user_config_file).and_return(userconfig)
980
- end
981
-
982
- it "should not ignore the report setting" do
983
- @settings.define_settings :section, :report => { :default => "false", :desc => "a" }
984
- File.write(@file, <<~CONF)
985
- [puppetd]
986
- report=true
987
- CONF
988
-
989
- @settings.initialize_global_settings
990
-
991
- expect(@settings[:report]).to be_truthy
992
- end
993
-
994
- it "should use its current ':config' value for the file to parse" do
995
- myfile = tmpfile('myfile')
996
- File.write(myfile, <<~CONF)
997
- [main]
998
- one=myfile
999
- CONF
1000
-
1001
- @settings[:config] = myfile
1002
- @settings.initialize_global_settings
1003
-
1004
- expect(@settings[:one]).to eq('myfile')
1005
- end
1006
-
1007
- it "should not try to parse non-existent files" do
1008
- expect(Puppet::FileSystem).to receive(:exist?).with(@file).and_return(false)
1009
-
1010
- expect(File).not_to receive(:read).with(@file)
1011
-
1012
- @settings.initialize_global_settings
1013
- end
1014
-
1015
- it "should return values set in the configuration file" do
1016
- File.write(@file, <<~CONF)
1017
- [main]
1018
- one = fileval
1019
- CONF
1020
-
1021
- @settings.initialize_global_settings
1022
- expect(@settings[:one]).to eq("fileval")
1023
- end
1024
-
1025
- #484 - this should probably be in the regression area
1026
- it "should not throw an exception on unknown parameters" do
1027
- File.write(@file, <<~CONF)
1028
- [main]
1029
- nosuchparam = mval
1030
- CONF
1031
-
1032
- expect { @settings.initialize_global_settings }.not_to raise_error
1033
- end
1034
-
1035
- it "should convert booleans in the configuration file into Ruby booleans" do
1036
- File.write(@file, <<~CONF)
1037
- [main]
1038
- one = true
1039
- two = false
1040
- CONF
1041
-
1042
- @settings.initialize_global_settings
1043
-
1044
- expect(@settings[:one]).to eq(true)
1045
- expect(@settings[:two]).to eq(false)
1046
- end
1047
-
1048
- it "doesn't convert integers in the configuration file" do
1049
- File.write(@file, <<~CONF)
1050
- [main]
1051
- one = 65
1052
- CONF
1053
-
1054
- @settings.initialize_global_settings
1055
-
1056
- expect(@settings[:one]).to eq('65')
1057
- end
1058
-
1059
- it "should support specifying all metadata (owner, group, mode) in the configuration file" do
1060
- @settings.define_settings :section, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
1061
-
1062
- otherfile = make_absolute("/other/file")
1063
- @settings.parse_config(<<-CONF)
1064
- [main]
1065
- myfile = #{otherfile} {owner = service, group = service, mode = 644}
1066
- CONF
1067
-
1068
- expect(@settings[:myfile]).to eq(otherfile)
1069
- expect(metadata(@settings.setting(:myfile))).to eq({:owner => "suser", :group => "sgroup", :mode => "644"})
1070
- end
1071
-
1072
- it "should support specifying a single piece of metadata (owner, group, or mode) in the configuration file" do
1073
- @settings.define_settings :section, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
1074
-
1075
- otherfile = make_absolute("/other/file")
1076
- @settings.parse_config(<<-CONF)
1077
- [main]
1078
- myfile = #{otherfile} {owner = service}
1079
- CONF
1080
-
1081
- expect(@settings[:myfile]).to eq(otherfile)
1082
- expect(metadata(@settings.setting(:myfile))).to eq({:owner => "suser"})
1083
- end
1084
-
1085
- it "should support loading metadata (owner, group, or mode) from a run_mode section in the configuration file" do
1086
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
1087
- @settings.define_settings :server, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
1088
-
1089
- otherfile = make_absolute("/other/file")
1090
- File.write(@file, <<~CONF)
1091
- [server]
1092
- myfile = #{otherfile} {mode = 664}
1093
- CONF
1094
-
1095
- # will start initialization as user
1096
- expect(@settings.preferred_run_mode).to eq(:user)
1097
- @settings.initialize_global_settings
1098
-
1099
- # change app run_mode to server
1100
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :server))
1101
- expect(@settings.preferred_run_mode).to eq(:server)
1102
-
1103
- # initializing the app should have reloaded the metadata based on run_mode
1104
- expect(@settings[:myfile]).to eq(otherfile)
1105
- expect(metadata(@settings.setting(:myfile))).to eq({:mode => "664"})
1106
- end
1107
-
1108
- context "when setting serverport and masterport" do
1109
- before(:each) do
1110
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
1111
- @settings.define_settings :server, :masterport => { :desc => "a", :default => 1000, :type => :port }
1112
- @settings.define_settings :server, :serverport => { :type => :alias, :alias_for => :masterport }
1113
- @settings.define_settings :server, :ca_port => { :desc => "a", :default => "$serverport", :type => :port }
1114
- @settings.define_settings :server, :report_port => { :desc => "a", :default => "$serverport", :type => :port }
1115
-
1116
- config_file = tmpfile('config')
1117
- @settings[:config] = config_file
1118
- File.write(config_file, text)
1119
-
1120
- @settings.initialize_global_settings
1121
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :agent))
1122
- expect(@settings.preferred_run_mode).to eq(:agent)
1123
- end
1124
-
1125
- context 'with serverport in main and masterport in agent' do
1126
- let(:text) do
1127
- "[main]
1128
- serverport = 444
1129
- [agent]
1130
- masterport = 445
1131
- "
1132
- end
1133
-
1134
- it { expect(@settings[:serverport]).to eq(444) }
1135
- it { expect(@settings[:ca_port]).to eq(444) }
1136
- it { expect(@settings[:report_port]).to eq(444) }
1137
- it { expect(@settings[:masterport]).to eq(445) }
1138
- end
1139
-
1140
- context 'with serverport and masterport in main' do
1141
- let(:text) do
1142
- "[main]
1143
- serverport = 445
1144
- masterport = 444
1145
- "
1146
- end
1147
-
1148
- it { expect(@settings[:serverport]).to eq(445) }
1149
- it { expect(@settings[:ca_port]).to eq(445) }
1150
- it { expect(@settings[:report_port]).to eq(445) }
1151
- it { expect(@settings[:masterport]).to eq(444) }
1152
- end
1153
-
1154
- context 'with serverport and masterport in agent' do
1155
- let(:text) do
1156
- "[agent]
1157
- serverport = 445
1158
- masterport = 444
1159
- "
1160
- end
1161
-
1162
- it { expect(@settings[:serverport]).to eq(445) }
1163
- it { expect(@settings[:ca_port]).to eq(445) }
1164
- it { expect(@settings[:report_port]).to eq(445) }
1165
- it { expect(@settings[:masterport]).to eq(444) }
1166
- end
1167
-
1168
- context 'with both serverport and masterport in main and agent' do
1169
- let(:text) do
1170
- "[main]
1171
- serverport = 447
1172
- masterport = 442
1173
- [agent]
1174
- serverport = 445
1175
- masterport = 444
1176
- "
1177
- end
1178
-
1179
- it { expect(@settings[:serverport]).to eq(445) }
1180
- it { expect(@settings[:ca_port]).to eq(445) }
1181
- it { expect(@settings[:report_port]).to eq(445) }
1182
- it { expect(@settings[:masterport]).to eq(444) }
1183
- end
1184
-
1185
- context 'with serverport in agent and masterport in main' do
1186
- let(:text) do
1187
- "[agent]
1188
- serverport = 444
1189
- [main]
1190
- masterport = 445
1191
- "
1192
- end
1193
-
1194
- it { expect(@settings[:serverport]).to eq(444) }
1195
- it { expect(@settings[:ca_port]).to eq(444) }
1196
- it { expect(@settings[:report_port]).to eq(444) }
1197
- it { expect(@settings[:masterport]).to eq(445) }
1198
- end
1199
-
1200
- context 'with masterport in main' do
1201
- let(:text) do
1202
- "[main]
1203
- masterport = 445
1204
- "
1205
- end
1206
-
1207
- it { expect(@settings[:serverport]).to eq(445) }
1208
- it { expect(@settings[:ca_port]).to eq(445) }
1209
- it { expect(@settings[:report_port]).to eq(445) }
1210
- it { expect(@settings[:masterport]).to eq(445) }
1211
- end
1212
-
1213
- context 'with masterport in agent' do
1214
- let(:text) do
1215
- "[agent]
1216
- masterport = 445
1217
- "
1218
- end
1219
-
1220
- it { expect(@settings[:serverport]).to eq(445) }
1221
- it { expect(@settings[:ca_port]).to eq(445) }
1222
- it { expect(@settings[:report_port]).to eq(445) }
1223
- it { expect(@settings[:masterport]).to eq(445) }
1224
- end
1225
-
1226
- context 'with serverport in agent' do
1227
- let(:text) do
1228
- "[agent]
1229
- serverport = 445
1230
- "
1231
- end
1232
-
1233
- it { expect(@settings[:serverport]).to eq(445) }
1234
- it { expect(@settings[:masterport]).to eq(1000) }
1235
- it { expect(@settings[:ca_port]).to eq(445) }
1236
- it { expect(@settings[:report_port]).to eq(445) }
1237
- end
1238
-
1239
- context 'with serverport in main' do
1240
- let(:text) do
1241
- "[main]
1242
- serverport = 445
1243
- "
1244
- end
1245
-
1246
- it { expect(@settings[:serverport]).to eq(445) }
1247
- it { expect(@settings[:masterport]).to eq(1000) }
1248
- it { expect(@settings[:ca_port]).to eq(445) }
1249
- it { expect(@settings[:report_port]).to eq(445) }
1250
- end
1251
- end
1252
-
1253
- it "does not use the metadata from the same setting in a different section" do
1254
- file = make_absolute("/file")
1255
- default_mode = "0600"
1256
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
1257
- @settings.define_settings :server, :myfile => { :type => :file, :default => file, :desc => "a", :mode => default_mode }
1258
-
1259
- File.write(@file, <<~CONF)
1260
- [server]
1261
- myfile = #{file}/foo
1262
- [agent]
1263
- myfile = #{file} {mode = 664}
1264
- CONF
1265
-
1266
- # will start initialization as user
1267
- expect(@settings.preferred_run_mode).to eq(:user)
1268
- @settings.initialize_global_settings
1269
-
1270
- # change app run_mode to server
1271
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:run_mode => :server))
1272
- expect(@settings.preferred_run_mode).to eq(:server)
1273
-
1274
- # initializing the app should have reloaded the metadata based on run_mode
1275
- expect(@settings[:myfile]).to eq("#{file}/foo")
1276
- expect(metadata(@settings.setting(:myfile))).to eq({ :mode => default_mode })
1277
- end
1278
-
1279
- it "should call hooks associated with values set in the configuration file" do
1280
- values = []
1281
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
1282
-
1283
- File.write(@file, <<~CONF)
1284
- [main]
1285
- mysetting = setval
1286
- CONF
1287
- @settings.initialize_global_settings
1288
-
1289
- expect(values).to eq(["setval"])
1290
- end
1291
-
1292
- it "should not call the same hook for values set multiple times in the configuration file" do
1293
- values = []
1294
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
1295
-
1296
- File.write(@file, <<~CONF)
1297
- [user]
1298
- mysetting = setval
1299
- [main]
1300
- mysetting = other
1301
- CONF
1302
- @settings.initialize_global_settings
1303
-
1304
- expect(values).to eq(["setval"])
1305
- end
1306
-
1307
- it "should pass the interpolated value to the hook when one is available" do
1308
- values = []
1309
- @settings.define_settings :section, :base => {:default => "yay", :desc => "a", :hook => proc { |v| values << v }}
1310
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
1311
-
1312
- File.write(@file, <<~CONF)
1313
- [main]
1314
- mysetting = $base/setval
1315
- CONF
1316
- @settings.initialize_global_settings
1317
-
1318
- expect(values).to eq(["yay/setval"])
1319
- end
1320
-
1321
- it "should allow hooks invoked at parse time to be deferred" do
1322
- hook_invoked = false
1323
- @settings.define_settings :section, :deferred => {:desc => '',
1324
- :hook => proc { |v| hook_invoked = true },
1325
- :call_hook => :on_initialize_and_write, }
1326
-
1327
- # This test relies on `confdir` defaulting to nil which causes the default
1328
- # value of `deferred=$confdir/goose` to raise an interpolation error during
1329
- # global initialization, and the hook to be skipped
1330
- @settings.define_settings(:main,
1331
- PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS.merge(
1332
- :confdir => { :type => :directory, :default => nil, :desc => "confdir" }))
1333
-
1334
- File.write(@file, <<~EOD)
1335
- [main]
1336
- deferred=$confdir/goose
1337
- EOD
1338
-
1339
- @settings.initialize_global_settings
1340
-
1341
- expect(hook_invoked).to be_falsey
1342
-
1343
- # And now that we initialize app defaults with `confdir`, then `deferred`
1344
- # can be interpolated and its hook called
1345
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:confdir => '/path/to/confdir'))
1346
-
1347
- expect(hook_invoked).to be_truthy
1348
- expect(@settings[:deferred]).to eq(File.expand_path('/path/to/confdir/goose'))
1349
- end
1350
-
1351
- it "does not require the value for a setting without a hook to resolve during global setup" do
1352
- @settings.define_settings :section, :can_cause_problems => {:desc => '' }
1353
-
1354
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
1355
-
1356
- File.write(@file, <<~EOD)
1357
- [main]
1358
- can_cause_problems=$confdir/goose
1359
- EOD
1360
-
1361
- @settings.initialize_global_settings
1362
- @settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES.merge(:confdir => '/path/to/confdir'))
1363
-
1364
- expect(@settings[:can_cause_problems]).to eq('/path/to/confdir/goose')
1365
- end
1366
-
1367
- it "should allow empty values" do
1368
- @settings.define_settings :section, :myarg => { :default => "myfile", :desc => "a" }
1369
-
1370
- File.write(@file, <<~CONF)
1371
- [main]
1372
- myarg =
1373
- CONF
1374
- @settings.initialize_global_settings
1375
-
1376
- expect(@settings[:myarg]).to eq("")
1377
- end
1378
-
1379
- describe "deprecations" do
1380
- let(:settings) { Puppet::Settings.new }
1381
-
1382
- def assert_accessing_setting_is_deprecated(settings, setting)
1383
- expect(Puppet).to receive(:deprecation_warning).with("Accessing '#{setting}' as a setting is deprecated.")
1384
- expect(Puppet).to receive(:deprecation_warning).with("Modifying '#{setting}' as a setting is deprecated.")
1385
- settings[setting.intern] = apath = File.expand_path('foo')
1386
- expect(settings[setting.intern]).to eq(apath)
1387
- end
1388
-
1389
- before(:each) do
1390
- settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
1391
- end
1392
-
1393
- context "complete" do
1394
- let(:completely_deprecated_settings) do
1395
- settings.define_settings(:main, {
1396
- :completely_deprecated_setting => {
1397
- :default => 'foo',
1398
- :desc => 'a deprecated setting',
1399
- :deprecated => :completely,
1400
- }
1401
- })
1402
- settings
1403
- end
1404
-
1405
- it "warns when set in puppet.conf" do
1406
- expect(Puppet).to receive(:deprecation_warning).with(/completely_deprecated_setting is deprecated\./, 'setting-completely_deprecated_setting')
1407
-
1408
- completely_deprecated_settings.parse_config(<<-CONF)
1409
- completely_deprecated_setting='should warn'
1410
- CONF
1411
- completely_deprecated_settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
1412
- end
1413
-
1414
- it "warns when set on the commandline" do
1415
- expect(Puppet).to receive(:deprecation_warning).with(/completely_deprecated_setting is deprecated\./, 'setting-completely_deprecated_setting')
1416
-
1417
- args = ["--completely_deprecated_setting", "/some/value"]
1418
- completely_deprecated_settings.send(:parse_global_options, args)
1419
- completely_deprecated_settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
1420
- end
1421
-
1422
- it "warns when set in code" do
1423
- assert_accessing_setting_is_deprecated(completely_deprecated_settings, 'completely_deprecated_setting')
1424
- end
1425
- end
1426
-
1427
- context "partial" do
1428
- let(:partially_deprecated_settings) do
1429
- settings.define_settings(:main, {
1430
- :partially_deprecated_setting => {
1431
- :default => 'foo',
1432
- :desc => 'a partially deprecated setting',
1433
- :deprecated => :allowed_on_commandline,
1434
- }
1435
- })
1436
- settings
1437
- end
1438
-
1439
- it "warns for a deprecated setting allowed on the command line set in puppet.conf" do
1440
- expect(Puppet).to receive(:deprecation_warning).with(/partially_deprecated_setting is deprecated in puppet\.conf/, 'puppet-conf-setting-partially_deprecated_setting')
1441
- partially_deprecated_settings.parse_config(<<-CONF)
1442
- partially_deprecated_setting='should warn'
1443
- CONF
1444
- partially_deprecated_settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
1445
- end
1446
-
1447
- it "does not warn when manifest is set on command line" do
1448
- expect(Puppet).not_to receive(:deprecation_warning)
1449
-
1450
- args = ["--partially_deprecated_setting", "/some/value"]
1451
- partially_deprecated_settings.send(:parse_global_options, args)
1452
- partially_deprecated_settings.initialize_app_defaults(PuppetSpec::Settings::TEST_APP_DEFAULT_VALUES)
1453
- end
1454
-
1455
- it "warns when set in code" do
1456
- assert_accessing_setting_is_deprecated(partially_deprecated_settings, 'partially_deprecated_setting')
1457
- end
1458
- end
1459
- end
1460
- end
1461
-
1462
- describe "when there are multiple config files" do
1463
- let(:main_config_text) { "[main]\none = main\ntwo = main2" }
1464
- let(:user_config_text) { "[main]\none = user\n" }
1465
-
1466
- before :each do
1467
- @settings = Puppet::Settings.new
1468
- @settings.define_settings(:section,
1469
- { :confdir => { :default => nil, :desc => "Conf dir" },
1470
- :config => { :default => "$confdir/puppet.conf", :desc => "Config" },
1471
- :one => { :default => "ONE", :desc => "a" },
1472
- :two => { :default => "TWO", :desc => "b" }, })
1473
- end
1474
-
1475
- context "running non-root without explicit config file" do
1476
- before :each do
1477
- allow(Puppet.features).to receive(:root?).and_return(false)
1478
- expect(Puppet::FileSystem).to receive(:exist?).
1479
- with(user_config_file_default_location).
1480
- and_return(true).ordered
1481
- expect(@settings).to receive(:read_file).
1482
- with(user_config_file_default_location).
1483
- and_return(user_config_text).ordered
1484
- end
1485
-
1486
- it "should return values from the user config file" do
1487
- @settings.send(:parse_config_files)
1488
- expect(@settings[:one]).to eq("user")
1489
- end
1490
-
1491
- it "should not return values from the main config file" do
1492
- @settings.send(:parse_config_files)
1493
- expect(@settings[:two]).to eq("TWO")
1494
- end
1495
- end
1496
-
1497
- context "running as root without explicit config file" do
1498
- before :each do
1499
- allow(Puppet.features).to receive(:root?).and_return(true)
1500
- expect(Puppet::FileSystem).to receive(:exist?).
1501
- with(main_config_file_default_location).
1502
- and_return(true).ordered
1503
- expect(@settings).to receive(:read_file).
1504
- with(main_config_file_default_location).
1505
- and_return(main_config_text).ordered
1506
- end
1507
-
1508
- it "should return values from the main config file" do
1509
- @settings.send(:parse_config_files)
1510
- expect(@settings[:one]).to eq("main")
1511
- end
1512
-
1513
- it "should not return values from the user config file" do
1514
- @settings.send(:parse_config_files)
1515
- expect(@settings[:two]).to eq("main2")
1516
- end
1517
- end
1518
-
1519
- context "running with an explicit config file as a user (e.g. Apache + Passenger)" do
1520
- before :each do
1521
- allow(Puppet.features).to receive(:root?).and_return(false)
1522
- @settings[:confdir] = File.dirname(main_config_file_default_location)
1523
- expect(Puppet::FileSystem).to receive(:exist?).
1524
- with(main_config_file_default_location).
1525
- and_return(true).ordered
1526
- expect(@settings).to receive(:read_file).
1527
- with(main_config_file_default_location).
1528
- and_return(main_config_text).ordered
1529
- end
1530
-
1531
- it "should return values from the main config file" do
1532
- @settings.send(:parse_config_files)
1533
- expect(@settings[:one]).to eq("main")
1534
- end
1535
-
1536
- it "should not return values from the user config file" do
1537
- @settings.send(:parse_config_files)
1538
- expect(@settings[:two]).to eq("main2")
1539
- end
1540
- end
1541
- end
1542
-
1543
- describe "when reparsing its configuration" do
1544
- before do
1545
- @file = tmpfile("testfile")
1546
- Puppet::FileSystem.touch(@file)
1547
-
1548
- @settings = Puppet::Settings.new
1549
- @settings.define_settings :section,
1550
- :config => { :type => :file, :default => @file, :desc => "a" },
1551
- :one => { :default => "ONE", :desc => "a" },
1552
- :two => { :default => "$one TWO", :desc => "b" },
1553
- :three => { :default => "$one $two THREE", :desc => "c" }
1554
-
1555
- userconfig = tmpfile("userconfig")
1556
- allow(@settings).to receive(:user_config_file).and_return(userconfig)
1557
- end
1558
-
1559
- it "does not create the WatchedFile instance and should not parse if the file does not exist" do
1560
- Puppet::FileSystem.unlink(@file)
1561
-
1562
- expect(Puppet::Util::WatchedFile).not_to receive(:new)
1563
- expect(@settings).not_to receive(:parse_config_files)
1564
-
1565
- @settings.reparse_config_files
1566
- end
1567
-
1568
- context "and watched file exists" do
1569
- before do
1570
- @watched_file = Puppet::Util::WatchedFile.new(@file)
1571
- expect(Puppet::Util::WatchedFile).to receive(:new).with(@file).and_return(@watched_file)
1572
- end
1573
-
1574
- it "uses a WatchedFile instance to determine if the file has changed" do
1575
- expect(@watched_file).to receive(:changed?)
1576
-
1577
- @settings.reparse_config_files
1578
- end
1579
-
1580
- it "does not reparse if the file has not changed" do
1581
- expect(@watched_file).to receive(:changed?).and_return(false)
1582
-
1583
- expect(@settings).not_to receive(:parse_config_files)
1584
-
1585
- @settings.reparse_config_files
1586
- end
1587
-
1588
- it "reparses if the file has changed" do
1589
- expect(@watched_file).to receive(:changed?).and_return(true)
1590
-
1591
- expect(@settings).to receive(:parse_config_files)
1592
-
1593
- @settings.reparse_config_files
1594
- end
1595
-
1596
- it "replaces in-memory values with on-file values" do
1597
- allow(@watched_file).to receive(:changed?).and_return(true)
1598
- @settings[:one] = "init"
1599
-
1600
- # Now replace the value
1601
- File.write(@file, "[main]\none = disk-replace\n")
1602
-
1603
- @settings.reparse_config_files
1604
- expect(@settings[:one]).to eq("disk-replace")
1605
- end
1606
- end
1607
-
1608
- it "should retain parameters set by cli when configuration files are reparsed" do
1609
- @settings.handlearg("--one", "clival")
1610
-
1611
- File.write(@file, "[main]\none = on-disk\n")
1612
- @settings.initialize_global_settings
1613
-
1614
- expect(@settings[:one]).to eq("clival")
1615
- end
1616
-
1617
- it "should remove in-memory values that are no longer set in the file" do
1618
- # Init the value
1619
- File.write(@file, "[main]\none = disk-init\n")
1620
- @settings.send(:parse_config_files)
1621
- expect(@settings[:one]).to eq("disk-init")
1622
-
1623
- # Now replace the value
1624
- File.write(@file, "[main]\ntwo = disk-replace\n")
1625
- @settings.send(:parse_config_files)
1626
-
1627
- # The originally-overridden value should be replaced with the default
1628
- expect(@settings[:one]).to eq("ONE")
1629
-
1630
- # and we should now have the new value in memory
1631
- expect(@settings[:two]).to eq("disk-replace")
1632
- end
1633
-
1634
- it "should retain in-memory values if the file has a syntax error" do
1635
- # Init the value
1636
- File.write(@file, "[main]\none = initial-value\n")
1637
- @settings.initialize_global_settings
1638
- expect(@settings[:one]).to eq("initial-value")
1639
-
1640
- # Now replace the value with something bogus
1641
- File.write(@file, "[main]\nkenny = killed-by-what-follows\n1 is 2, blah blah florp\n")
1642
- @settings.send(:parse_config_files)
1643
-
1644
- # The originally-overridden value should not be replaced with the default
1645
- expect(@settings[:one]).to eq("initial-value")
1646
-
1647
- # and we should not have the new value in memory
1648
- expect(@settings[:kenny]).to be_nil
1649
- end
1650
- end
1651
-
1652
- it "should provide a method for creating a catalog of resources from its configuration" do
1653
- expect(Puppet::Settings.new.to_catalog).to be_an_instance_of(Puppet::Resource::Catalog)
1654
- end
1655
-
1656
- describe "when creating a catalog" do
1657
- let(:maindir) { make_absolute('/maindir') }
1658
- let(:seconddir) { make_absolute('/seconddir') }
1659
- let(:otherdir) { make_absolute('/otherdir') }
1660
-
1661
- before do
1662
- @settings = Puppet::Settings.new
1663
- allow(@settings).to receive(:service_user_available?).and_return(true)
1664
- end
1665
-
1666
- it "should add all file resources to the catalog if no sections have been specified" do
1667
- @settings.define_settings :main,
1668
- :maindir => { :type => :directory, :default => maindir, :desc => "a"},
1669
- :seconddir => { :type => :directory, :default => seconddir, :desc => "a"}
1670
- @settings.define_settings :other,
1671
- :otherdir => { :type => :directory, :default => otherdir, :desc => "a" }
1672
-
1673
- catalog = @settings.to_catalog
1674
-
1675
- [maindir, seconddir, otherdir].each do |path|
1676
- expect(catalog.resource(:file, path)).to be_instance_of(Puppet::Resource)
1677
- end
1678
- end
1679
-
1680
- it "should add only files in the specified sections if section names are provided" do
1681
- @settings.define_settings :main, :maindir => { :type => :directory, :default => maindir, :desc => "a" }
1682
- @settings.define_settings :other, :otherdir => { :type => :directory, :default => otherdir, :desc => "a" }
1683
- catalog = @settings.to_catalog(:main)
1684
- expect(catalog.resource(:file, otherdir)).to be_nil
1685
- expect(catalog.resource(:file, maindir)).to be_instance_of(Puppet::Resource)
1686
- end
1687
-
1688
- it "should not try to add the same file twice" do
1689
- @settings.define_settings :main, :maindir => { :type => :directory, :default => maindir, :desc => "a" }
1690
- @settings.define_settings :other, :otherdir => { :type => :directory, :default => maindir, :desc => "a" }
1691
- expect { @settings.to_catalog }.not_to raise_error
1692
- end
1693
-
1694
- it "should ignore files whose :to_resource method returns nil" do
1695
- @settings.define_settings :main, :maindir => { :type => :directory, :default => maindir, :desc => "a" }
1696
- expect(@settings.setting(:maindir)).to receive(:to_resource).and_return(nil)
1697
-
1698
- expect_any_instance_of(Puppet::Resource::Catalog).not_to receive(:add_resource)
1699
- @settings.to_catalog
1700
- end
1701
-
1702
- describe "on Microsoft Windows", :if => Puppet::Util::Platform.windows? do
1703
- before :each do
1704
- allow(Puppet.features).to receive(:root?).and_return(true)
1705
-
1706
- @settings.define_settings :foo,
1707
- :mkusers => { :type => :boolean, :default => true, :desc => "e" },
1708
- :user => { :default => "suser", :desc => "doc" },
1709
- :group => { :default => "sgroup", :desc => "doc" }
1710
- @settings.define_settings :other,
1711
- :otherdir => { :type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1712
-
1713
- @catalog = @settings.to_catalog
1714
- end
1715
-
1716
- it "it should not add users and groups to the catalog" do
1717
- expect(@catalog.resource(:user, "suser")).to be_nil
1718
- expect(@catalog.resource(:group, "sgroup")).to be_nil
1719
- end
1720
- end
1721
-
1722
- describe "adding default directory environment to the catalog" do
1723
- let(:tmpenv) { tmpdir("envs") }
1724
- let(:default_path) { "#{tmpenv}/environments" }
1725
-
1726
- before(:each) do
1727
- @settings.define_settings :main,
1728
- :environment => { :default => "production", :desc => "env"},
1729
- :environmentpath => { :type => :path, :default => default_path, :desc => "envpath"}
1730
- end
1731
-
1732
- it "adds if environmentpath exists" do
1733
- envpath = "#{tmpenv}/custom_envpath"
1734
- @settings[:environmentpath] = envpath
1735
- Dir.mkdir(envpath)
1736
- catalog = @settings.to_catalog
1737
- expect(catalog.resource_keys).to include(["File", "#{envpath}/production"])
1738
- end
1739
-
1740
- it "adds the first directory of environmentpath" do
1741
- envdir = "#{tmpenv}/custom_envpath"
1742
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1743
- @settings[:environmentpath] = envpath
1744
- Dir.mkdir(envdir)
1745
- catalog = @settings.to_catalog
1746
- expect(catalog.resource_keys).to include(["File", "#{envdir}/production"])
1747
- end
1748
-
1749
- it 'adds the creation of the production directory when not run as root' do
1750
- envdir = "#{tmpenv}/custom_envpath"
1751
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1752
- @settings[:environmentpath] = envpath
1753
- Dir.mkdir(envdir)
1754
- allow(Puppet.features).to receive(:root?).and_return(false)
1755
- catalog = @settings.to_catalog
1756
- resource = catalog.resource('File', File.join(envdir, 'production'))
1757
- expect(resource[:mode]).to eq('0750')
1758
- expect(resource[:owner]).to be_nil
1759
- expect(resource[:group]).to be_nil
1760
- end
1761
-
1762
- it 'adds the creation of the production directory with service owner and group information when available' do
1763
- envdir = "#{tmpenv}/custom_envpath"
1764
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1765
- @settings[:environmentpath] = envpath
1766
- Dir.mkdir(envdir)
1767
- allow(Puppet.features).to receive(:root?).and_return(true)
1768
- allow(@settings).to receive(:service_user_available?).and_return(true)
1769
- allow(@settings).to receive(:service_group_available?).and_return(true)
1770
- catalog = @settings.to_catalog
1771
- resource = catalog.resource('File', File.join(envdir, 'production'))
1772
- expect(resource[:mode]).to eq('0750')
1773
- expect(resource[:owner]).to eq('puppet')
1774
- expect(resource[:group]).to eq('puppet')
1775
- end
1776
-
1777
- it 'adds the creation of the production directory without service owner and group when not available' do
1778
- envdir = "#{tmpenv}/custom_envpath"
1779
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1780
- @settings[:environmentpath] = envpath
1781
- Dir.mkdir(envdir)
1782
- allow(Puppet.features).to receive(:root?).and_return(true)
1783
- allow(@settings).to receive(:service_user_available?).and_return(false)
1784
- allow(@settings).to receive(:service_group_available?).and_return(false)
1785
- catalog = @settings.to_catalog
1786
- resource = catalog.resource('File', File.join(envdir, 'production'))
1787
- expect(resource[:mode]).to eq('0750')
1788
- expect(resource[:owner]).to be_nil
1789
- expect(resource[:group]).to be_nil
1790
- end
1791
-
1792
- it "handles a non-existent environmentpath" do
1793
- catalog = @settings.to_catalog
1794
- expect(catalog.resource_keys).to be_empty
1795
- end
1796
-
1797
- it "handles a default environmentpath" do
1798
- Dir.mkdir(default_path)
1799
- catalog = @settings.to_catalog
1800
- expect(catalog.resource_keys).to include(["File", "#{default_path}/production"])
1801
- end
1802
-
1803
- it "does not add if the path to the default directory environment exists as a symlink", :if => Puppet.features.manages_symlinks? do
1804
- Dir.mkdir(default_path)
1805
- Puppet::FileSystem.symlink("#{tmpenv}/nowhere", File.join(default_path, 'production'))
1806
- catalog = @settings.to_catalog
1807
- expect(catalog.resource_keys).to_not include(["File", "#{default_path}/production"])
1808
- end
1809
- end
1810
-
1811
- describe "when adding users and groups to the catalog" do
1812
- before :all do
1813
- # when this spec is run in isolation to build a settings catalog
1814
- # it will not be able to autorequire and load types for the first time
1815
- # on Windows with windows? stubbed to false, because
1816
- # Puppet::Util.path_to_uri is called to generate a URI to load code
1817
- # and it manipulates the path based on OS
1818
- # so instead we forcefully "prime" the cached types
1819
- Puppet::Type.type(:user).new(:name => 'foo')
1820
- Puppet::Type.type(:group).new(:name => 'bar')
1821
- Puppet::Type.type(:file).new(:name => Dir.pwd) # appropriate for OS
1822
- end
1823
-
1824
- before do
1825
- allow(Puppet.features).to receive(:root?).and_return(true)
1826
- # stubbed to false, as Windows catalogs don't add users / groups
1827
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
1828
-
1829
- @settings.define_settings :foo,
1830
- :mkusers => { :type => :boolean, :default => true, :desc => "e" },
1831
- :user => { :default => "suser", :desc => "doc" },
1832
- :group => { :default => "sgroup", :desc => "doc" }
1833
- @settings.define_settings :other, :otherdir => {:type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1834
-
1835
- @catalog = @settings.to_catalog
1836
- end
1837
-
1838
- it "should add each specified user and group to the catalog if :mkusers is a valid setting, is enabled, and we're running as root" do
1839
- expect(@catalog.resource(:user, "suser")).to be_instance_of(Puppet::Resource)
1840
- expect(@catalog.resource(:group, "sgroup")).to be_instance_of(Puppet::Resource)
1841
- end
1842
-
1843
- it "should only add users and groups to the catalog from specified sections" do
1844
- @settings.define_settings :yay, :yaydir => { :type => :directory, :default => "/yaydir", :desc => "a", :owner => "service", :group => "service"}
1845
- catalog = @settings.to_catalog(:other)
1846
- expect(catalog.resource(:user, "jane")).to be_nil
1847
- expect(catalog.resource(:group, "billy")).to be_nil
1848
- end
1849
-
1850
- it "should not add users or groups to the catalog if :mkusers not running as root" do
1851
- allow(Puppet.features).to receive(:root?).and_return(false)
1852
-
1853
- catalog = @settings.to_catalog
1854
- expect(catalog.resource(:user, "suser")).to be_nil
1855
- expect(catalog.resource(:group, "sgroup")).to be_nil
1856
- end
1857
-
1858
- it "should not add users or groups to the catalog if :mkusers is not a valid setting" do
1859
- allow(Puppet.features).to receive(:root?).and_return(true)
1860
- settings = Puppet::Settings.new
1861
- settings.define_settings :other, :otherdir => {:type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1862
-
1863
- catalog = settings.to_catalog
1864
- expect(catalog.resource(:user, "suser")).to be_nil
1865
- expect(catalog.resource(:group, "sgroup")).to be_nil
1866
- end
1867
-
1868
- it "should not add users or groups to the catalog if :mkusers is a valid setting but is disabled" do
1869
- @settings[:mkusers] = false
1870
- allow(@settings).to receive(:service_user_available?).and_return(false)
1871
- allow(@settings).to receive(:service_group_available?).and_return(false)
1872
-
1873
- catalog = @settings.to_catalog
1874
- expect(catalog.resource(:user, "suser")).to be_nil
1875
- expect(catalog.resource(:group, "sgroup")).to be_nil
1876
- end
1877
-
1878
- it "should not try to add users or groups to the catalog twice" do
1879
- @settings.define_settings :yay, :yaydir => {:type => :directory, :default => "/yaydir", :desc => "a", :owner => "service", :group => "service"}
1880
-
1881
- # This would fail if users/groups were added twice
1882
- expect { @settings.to_catalog }.not_to raise_error
1883
- end
1884
-
1885
- it "should set :ensure to :present on each created user and group" do
1886
- expect(@catalog.resource(:user, "suser")[:ensure]).to eq(:present)
1887
- expect(@catalog.resource(:group, "sgroup")[:ensure]).to eq(:present)
1888
- end
1889
-
1890
- it "should set each created user's :gid to the service group" do
1891
- expect(@settings.to_catalog.resource(:user, "suser")[:gid]).to eq("sgroup")
1892
- end
1893
-
1894
- it "should not attempt to manage the root user" do
1895
- allow(Puppet.features).to receive(:root?).and_return(true)
1896
- @settings.define_settings :foo, :foodir => {:type => :directory, :default => "/foodir", :desc => "a", :owner => "root", :group => "service"}
1897
-
1898
- expect(@settings.to_catalog.resource(:user, "root")).to be_nil
1899
- end
1900
- end
1901
- end
1902
-
1903
- it "should be able to be converted to a manifest" do
1904
- expect(Puppet::Settings.new).to respond_to(:to_manifest)
1905
- end
1906
-
1907
- describe "when being converted to a manifest" do
1908
- it "should produce a string with the code for each resource joined by two carriage returns" do
1909
- @settings = Puppet::Settings.new
1910
- @settings.define_settings :main,
1911
- :maindir => { :type => :directory, :default => "/maindir", :desc => "a"},
1912
- :seconddir => { :type => :directory, :default => "/seconddir", :desc => "a"}
1913
-
1914
- main = double('main_resource', :ref => "File[/maindir]")
1915
- expect(main).to receive(:to_manifest).and_return("maindir")
1916
- expect(main).to receive(:'[]').with(:alias).and_return(nil)
1917
- second = double('second_resource', :ref => "File[/seconddir]")
1918
- expect(second).to receive(:to_manifest).and_return("seconddir")
1919
- expect(second).to receive(:'[]').with(:alias).and_return(nil)
1920
-
1921
- expect(@settings.setting(:maindir)).to receive(:to_resource).and_return(main)
1922
- expect(@settings.setting(:seconddir)).to receive(:to_resource).and_return(second)
1923
-
1924
- expect(@settings.to_manifest.split("\n\n").sort).to eq(%w{maindir seconddir})
1925
- end
1926
- end
1927
-
1928
- describe "when using sections of the configuration to manage the local host" do
1929
- before do
1930
- @settings = Puppet::Settings.new
1931
- allow(@settings).to receive(:service_user_available?).and_return(true)
1932
- allow(@settings).to receive(:service_group_available?).and_return(true)
1933
- @settings.define_settings :main, :noop => { :default => false, :desc => "", :type => :boolean }
1934
- @settings.define_settings :main,
1935
- :maindir => { :type => :directory, :default => make_absolute("/maindir"), :desc => "a" },
1936
- :seconddir => { :type => :directory, :default => make_absolute("/seconddir"), :desc => "a"}
1937
- @settings.define_settings :main, :user => { :default => "suser", :desc => "doc" }, :group => { :default => "sgroup", :desc => "doc" }
1938
- @settings.define_settings :other, :otherdir => {:type => :directory, :default => make_absolute("/otherdir"), :desc => "a", :owner => "service", :group => "service", :mode => '0755'}
1939
- @settings.define_settings :third, :thirddir => { :type => :directory, :default => make_absolute("/thirddir"), :desc => "b"}
1940
- @settings.define_settings :files, :myfile => {:type => :file, :default => make_absolute("/myfile"), :desc => "a", :mode => '0755'}
1941
- end
1942
-
1943
- it "should create a catalog with the specified sections" do
1944
- expect(@settings).to receive(:to_catalog).with(:main, :other).and_return(Puppet::Resource::Catalog.new("foo"))
1945
- @settings.use(:main, :other)
1946
- end
1947
-
1948
- it "should canonicalize the sections" do
1949
- expect(@settings).to receive(:to_catalog).with(:main, :other).and_return(Puppet::Resource::Catalog.new("foo"))
1950
- @settings.use("main", "other")
1951
- end
1952
-
1953
- it "should ignore sections that have already been used" do
1954
- expect(@settings).to receive(:to_catalog).with(:main).and_return(Puppet::Resource::Catalog.new("foo"))
1955
- @settings.use(:main)
1956
- expect(@settings).to receive(:to_catalog).with(:other).and_return(Puppet::Resource::Catalog.new("foo"))
1957
- @settings.use(:main, :other)
1958
- end
1959
-
1960
- it "should convert the created catalog to a RAL catalog" do
1961
- @catalog = Puppet::Resource::Catalog.new("foo")
1962
- expect(@settings).to receive(:to_catalog).with(:main).and_return(@catalog)
1963
-
1964
- expect(@catalog).to receive(:to_ral).and_return(@catalog)
1965
- @settings.use(:main)
1966
- end
1967
-
1968
- it "should specify that it is not managing a host catalog" do
1969
- catalog = Puppet::Resource::Catalog.new("foo")
1970
- expect(catalog).to receive(:apply)
1971
- expect(@settings).to receive(:to_catalog).and_return(catalog)
1972
-
1973
- allow(catalog).to receive(:to_ral).and_return(catalog)
1974
-
1975
- expect(catalog).to receive(:host_config=).with(false)
1976
-
1977
- @settings.use(:main)
1978
- end
1979
-
1980
- it "should support a method for re-using all currently used sections" do
1981
- expect(@settings).to receive(:to_catalog).with(:main, :third).exactly(2).times.and_return(Puppet::Resource::Catalog.new("foo"))
1982
-
1983
- @settings.use(:main, :third)
1984
- @settings.reuse
1985
- end
1986
-
1987
- it "should fail with an appropriate message if any resources fail" do
1988
- @catalog = Puppet::Resource::Catalog.new("foo")
1989
- allow(@catalog).to receive(:to_ral).and_return(@catalog)
1990
- expect(@settings).to receive(:to_catalog).and_return(@catalog)
1991
-
1992
- @trans = double("transaction")
1993
- expect(@catalog).to receive(:apply).and_yield(@trans)
1994
-
1995
- expect(@trans).to receive(:any_failed?).and_return(true)
1996
-
1997
- resource = Puppet::Type.type(:notify).new(:title => 'failed')
1998
- status = Puppet::Resource::Status.new(resource)
1999
- event = Puppet::Transaction::Event.new(
2000
- :name => 'failure',
2001
- :status => 'failure',
2002
- :message => 'My failure')
2003
- status.add_event(event)
2004
-
2005
- report = Puppet::Transaction::Report.new('apply')
2006
- report.add_resource_status(status)
2007
-
2008
- expect(@trans).to receive(:report).and_return(report)
2009
-
2010
- expect(@settings).to receive(:raise).with(/My failure/)
2011
- @settings.use(:whatever)
2012
- end
2013
- end
2014
-
2015
- describe 'when settings_catalog is disabled' do
2016
- let(:settings) { Puppet::Settings.new }
2017
- before do
2018
- allow(Puppet).to receive(:[]).with(:settings_catalog).and_return(false)
2019
- end
2020
-
2021
- it 'does not compile and apply settings catalog' do
2022
- expect(settings).not_to receive(:to_catalog)
2023
- settings.use(:main)
2024
- end
2025
-
2026
- it 'logs a message that settings catalog is skipped' do
2027
- expect(Puppet).to receive(:debug).with('Skipping settings catalog for sections main')
2028
- settings.use(:main)
2029
- end
2030
- end
2031
-
2032
- describe "when dealing with printing configs" do
2033
- before do
2034
- @settings = Puppet::Settings.new
2035
- #these are the magic default values
2036
- allow(@settings).to receive(:value).with(:configprint).and_return("")
2037
- allow(@settings).to receive(:value).with(:genconfig).and_return(false)
2038
- allow(@settings).to receive(:value).with(:genmanifest).and_return(false)
2039
- allow(@settings).to receive(:value).with(:environment).and_return(nil)
2040
- end
2041
-
2042
- describe "when checking print_config?" do
2043
- it "should return false when the :configprint, :genconfig and :genmanifest are not set" do
2044
- expect(@settings.print_configs?).to be_falsey
2045
- end
2046
-
2047
- it "should return true when :configprint has a value" do
2048
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2049
- expect(@settings.print_configs?).to be_truthy
2050
- end
2051
-
2052
- it "should return true when :genconfig has a value" do
2053
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
2054
- expect(@settings.print_configs?).to be_truthy
2055
- end
2056
-
2057
- it "should return true when :genmanifest has a value" do
2058
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
2059
- expect(@settings.print_configs?).to be_truthy
2060
- end
2061
- end
2062
-
2063
- describe "when printing configs" do
2064
- describe "when :configprint has a value" do
2065
- it "should call print_config_options" do
2066
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2067
- expect(@settings).to receive(:print_config_options)
2068
- @settings.print_configs
2069
- end
2070
-
2071
- it "should get the value of the option using the environment" do
2072
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2073
- allow(@settings).to receive(:include?).with("something").and_return(true)
2074
- expect(@settings).to receive(:value).with(:environment).and_return("env")
2075
- expect(@settings).to receive(:value).with("something", "env").and_return("foo")
2076
- allow(@settings).to receive(:puts).with("foo")
2077
- @settings.print_configs
2078
- end
2079
-
2080
- it "should print the value of the option" do
2081
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2082
- allow(@settings).to receive(:include?).with("something").and_return(true)
2083
- allow(@settings).to receive(:value).with("something", nil).and_return("foo")
2084
- expect(@settings).to receive(:puts).with("foo")
2085
- @settings.print_configs
2086
- end
2087
-
2088
- it "should print the value pairs if there are multiple options" do
2089
- allow(@settings).to receive(:value).with(:configprint).and_return("bar,baz")
2090
- allow(@settings).to receive(:include?).with("bar").and_return(true)
2091
- allow(@settings).to receive(:include?).with("baz").and_return(true)
2092
- allow(@settings).to receive(:value).with("bar", nil).and_return("foo")
2093
- allow(@settings).to receive(:value).with("baz", nil).and_return("fud")
2094
- expect(@settings).to receive(:puts).with("bar = foo")
2095
- expect(@settings).to receive(:puts).with("baz = fud")
2096
- @settings.print_configs
2097
- end
2098
-
2099
- it "should return true after printing" do
2100
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2101
- allow(@settings).to receive(:include?).with("something").and_return(true)
2102
- allow(@settings).to receive(:value).with("something", nil).and_return("foo")
2103
- allow(@settings).to receive(:puts).with("foo")
2104
- expect(@settings.print_configs).to be_truthy
2105
- end
2106
-
2107
- it "should return false if a config param is not found" do
2108
- allow(@settings).to receive(:puts)
2109
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
2110
- allow(@settings).to receive(:include?).with("something").and_return(false)
2111
- expect(@settings.print_configs).to be_falsey
2112
- end
2113
- end
2114
-
2115
- describe "when genconfig is true" do
2116
- before do
2117
- allow(@settings).to receive(:puts)
2118
- end
2119
-
2120
- it "should call to_config" do
2121
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
2122
- expect(@settings).to receive(:to_config)
2123
- @settings.print_configs
2124
- end
2125
-
2126
- it "should return true from print_configs" do
2127
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
2128
- allow(@settings).to receive(:to_config)
2129
- expect(@settings.print_configs).to be_truthy
2130
- end
2131
- end
2132
-
2133
- describe "when genmanifest is true" do
2134
- before do
2135
- allow(@settings).to receive(:puts)
2136
- end
2137
-
2138
- it "should call to_config" do
2139
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
2140
- expect(@settings).to receive(:to_manifest)
2141
- @settings.print_configs
2142
- end
2143
-
2144
- it "should return true from print_configs" do
2145
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
2146
- allow(@settings).to receive(:to_manifest)
2147
- expect(@settings.print_configs).to be_truthy
2148
- end
2149
- end
2150
- end
2151
- end
2152
-
2153
- describe "when determining if the service user is available" do
2154
- let(:settings) do
2155
- settings = Puppet::Settings.new
2156
- settings.define_settings :main, :user => { :default => nil, :desc => "doc" }
2157
- settings
2158
- end
2159
-
2160
- def a_user_type_for(username)
2161
- user = double('user', 'suitable?': true, to_s: "User[#{username}]")
2162
- expect(Puppet::Type.type(:user)).to receive(:new).with(hash_including(name: username)).and_return(user)
2163
- user
2164
- end
2165
-
2166
- it "should return false if there is no user setting" do
2167
- expect(settings).not_to be_service_user_available
2168
- end
2169
-
2170
- it "should return false if the user provider says the user is missing" do
2171
- settings[:user] = "foo"
2172
-
2173
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(false)
2174
-
2175
- expect(settings).not_to be_service_user_available
2176
- end
2177
-
2178
- it "should return true if the user provider says the user is present" do
2179
- settings[:user] = "foo"
2180
-
2181
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(true)
2182
-
2183
- expect(settings).to be_service_user_available
2184
- end
2185
-
2186
- it "caches the result of determining if the user is present" do
2187
- settings[:user] = "foo"
2188
-
2189
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(true)
2190
- expect(settings).to be_service_user_available
2191
-
2192
- expect(settings).to be_service_user_available
2193
- end
2194
-
2195
- it "raises if the user is not suitable" do
2196
- settings[:user] = "foo"
2197
-
2198
- expect(a_user_type_for("foo")).to receive(:suitable?).and_return(false)
2199
-
2200
- expect {
2201
- settings.service_user_available?
2202
- }.to raise_error(Puppet::Error, /Cannot manage owner permissions, because the provider for 'User\[foo\]' is not functional/)
2203
- end
2204
- end
2205
-
2206
- describe "when determining if the service group is available" do
2207
- let(:settings) do
2208
- settings = Puppet::Settings.new
2209
- settings.define_settings :main, :group => { :default => nil, :desc => "doc" }
2210
- settings
2211
- end
2212
-
2213
- def a_group_type_for(groupname)
2214
- group = double('group', 'suitable?': true, to_s: "Group[#{groupname}]")
2215
- expect(Puppet::Type.type(:group)).to receive(:new).with(hash_including(name: groupname)).and_return(group)
2216
- group
2217
- end
2218
-
2219
- it "should return false if there is no group setting" do
2220
- expect(settings).not_to be_service_group_available
2221
- end
2222
-
2223
- it "should return false if the group provider says the group is missing" do
2224
- settings[:group] = "foo"
2225
-
2226
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(false)
2227
-
2228
- expect(settings).not_to be_service_group_available
2229
- end
2230
-
2231
- it "should return true if the group provider says the group is present" do
2232
- settings[:group] = "foo"
2233
-
2234
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(true)
2235
-
2236
- expect(settings).to be_service_group_available
2237
- end
2238
-
2239
- it "caches the result of determining if the group is present" do
2240
- settings[:group] = "foo"
2241
-
2242
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(true)
2243
- expect(settings).to be_service_group_available
2244
-
2245
- expect(settings).to be_service_group_available
2246
- end
2247
-
2248
- it "raises if the group is not suitable" do
2249
- settings[:group] = "foo"
2250
-
2251
- expect(a_group_type_for("foo")).to receive(:suitable?).and_return(false)
2252
-
2253
- expect {
2254
- settings.service_group_available?
2255
- }.to raise_error(Puppet::Error, /Cannot manage group permissions, because the provider for 'Group\[foo\]' is not functional/)
2256
- end
2257
- end
2258
-
2259
- describe "when dealing with command-line options" do
2260
- let(:settings) { Puppet::Settings.new }
2261
-
2262
- it "should get options from Puppet.settings.optparse_addargs" do
2263
- expect(settings).to receive(:optparse_addargs).and_return([])
2264
-
2265
- settings.send(:parse_global_options, [])
2266
- end
2267
-
2268
- it "should add options to OptionParser" do
2269
- allow(settings).to receive(:optparse_addargs).and_return([["--option","-o", "Funny Option", :NONE]])
2270
- expect(settings).to receive(:handlearg).with("--option", true)
2271
- settings.send(:parse_global_options, ["--option"])
2272
- end
2273
-
2274
- it "should not die if it sees an unrecognized option, because the app/face may handle it later" do
2275
- expect { settings.send(:parse_global_options, ["--topuppet", "value"]) } .to_not raise_error
2276
- end
2277
-
2278
- it "should not pass an unrecognized option to handleargs" do
2279
- expect(settings).not_to receive(:handlearg).with("--topuppet", "value")
2280
- expect { settings.send(:parse_global_options, ["--topuppet", "value"]) } .to_not raise_error
2281
- end
2282
-
2283
- it "should pass valid puppet settings options to handlearg even if they appear after an unrecognized option" do
2284
- allow(settings).to receive(:optparse_addargs).and_return([["--option","-o", "Funny Option", :NONE]])
2285
- expect(settings).to receive(:handlearg).with("--option", true)
2286
- settings.send(:parse_global_options, ["--invalidoption", "--option"])
2287
- end
2288
-
2289
- it "should transform boolean option to normal form" do
2290
- expect(Puppet::Settings.clean_opt("--[no-]option", true)).to eq(["--option", true])
2291
- end
2292
-
2293
- it "should transform boolean option to no- form" do
2294
- expect(Puppet::Settings.clean_opt("--[no-]option", false)).to eq(["--no-option", false])
2295
- end
2296
-
2297
- it "should set preferred run mode from --run_mode <foo> string without error" do
2298
- args = ["--run_mode", "server"]
2299
- expect(settings).not_to receive(:handlearg).with("--run_mode", "server")
2300
- expect { settings.send(:parse_global_options, args) } .to_not raise_error
2301
- expect(Puppet.settings.preferred_run_mode).to eq(:server)
2302
- expect(args.empty?).to eq(true)
2303
- end
2304
-
2305
- it "should set preferred run mode from --run_mode=<foo> string without error" do
2306
- args = ["--run_mode=server"]
2307
- expect(settings).not_to receive(:handlearg).with("--run_mode", "server")
2308
- expect { settings.send(:parse_global_options, args) }.to_not raise_error
2309
- expect(Puppet.settings.preferred_run_mode).to eq(:server)
2310
- expect(args.empty?).to eq(true)
2311
- end
2312
- end
2313
-
2314
- describe "default_certname" do
2315
- describe "using hostname and domain" do
2316
- before :each do
2317
- allow(Puppet::Settings).to receive(:hostname_fact).and_return("testhostname")
2318
- allow(Puppet::Settings).to receive(:domain_fact).and_return("domain.test.")
2319
- end
2320
-
2321
- it "should use both to generate fqdn" do
2322
- expect(Puppet::Settings.default_certname).to match(/testhostname\.domain\.test/)
2323
- end
2324
- it "should remove trailing dots from fqdn" do
2325
- expect(Puppet::Settings.default_certname).to eq('testhostname.domain.test')
2326
- end
2327
- end
2328
-
2329
- describe "using just hostname" do
2330
- before :each do
2331
- allow(Puppet::Settings).to receive(:hostname_fact).and_return("testhostname")
2332
- allow(Puppet::Settings).to receive(:domain_fact).and_return("")
2333
- end
2334
-
2335
- it "should use only hostname to generate fqdn" do
2336
- expect(Puppet::Settings.default_certname).to eq("testhostname")
2337
- end
2338
- it "should removing trailing dots from fqdn" do
2339
- expect(Puppet::Settings.default_certname).to eq("testhostname")
2340
- end
2341
- end
2342
- end
2343
- end