puppet 8.4.0-universal-darwin → 8.5.1-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 (1872) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +78 -61
  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 +18 -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/validator_factory_4_0.rb +2 -0
  399. data/lib/puppet/pops/validation.rb +15 -15
  400. data/lib/puppet/pops/visitor.rb +1 -1
  401. data/lib/puppet/property/ensure.rb +0 -1
  402. data/lib/puppet/property/keyvalue.rb +5 -6
  403. data/lib/puppet/property/list.rb +1 -1
  404. data/lib/puppet/property.rb +8 -10
  405. data/lib/puppet/provider/aix_object.rb +9 -9
  406. data/lib/puppet/provider/exec/posix.rb +1 -1
  407. data/lib/puppet/provider/exec.rb +3 -3
  408. data/lib/puppet/provider/file/windows.rb +3 -3
  409. data/lib/puppet/provider/group/groupadd.rb +2 -2
  410. data/lib/puppet/provider/group/pw.rb +0 -1
  411. data/lib/puppet/provider/group/windows_adsi.rb +3 -3
  412. data/lib/puppet/provider/ldap.rb +2 -3
  413. data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
  414. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  415. data/lib/puppet/provider/nameservice.rb +9 -10
  416. data/lib/puppet/provider/package/aix.rb +4 -4
  417. data/lib/puppet/provider/package/appdmg.rb +3 -3
  418. data/lib/puppet/provider/package/apple.rb +1 -1
  419. data/lib/puppet/provider/package/apt.rb +7 -3
  420. data/lib/puppet/provider/package/aptrpm.rb +6 -4
  421. data/lib/puppet/provider/package/blastwave.rb +3 -3
  422. data/lib/puppet/provider/package/dnf.rb +5 -0
  423. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  424. data/lib/puppet/provider/package/dpkg.rb +8 -8
  425. data/lib/puppet/provider/package/gem.rb +6 -7
  426. data/lib/puppet/provider/package/hpux.rb +2 -2
  427. data/lib/puppet/provider/package/nim.rb +4 -4
  428. data/lib/puppet/provider/package/openbsd.rb +8 -8
  429. data/lib/puppet/provider/package/opkg.rb +6 -6
  430. data/lib/puppet/provider/package/pacman.rb +2 -2
  431. data/lib/puppet/provider/package/pip.rb +8 -8
  432. data/lib/puppet/provider/package/pkg.rb +19 -19
  433. data/lib/puppet/provider/package/pkgdmg.rb +5 -5
  434. data/lib/puppet/provider/package/pkgin.rb +6 -6
  435. data/lib/puppet/provider/package/pkgng.rb +1 -1
  436. data/lib/puppet/provider/package/pkgutil.rb +11 -11
  437. data/lib/puppet/provider/package/portage.rb +3 -3
  438. data/lib/puppet/provider/package/portupgrade.rb +5 -7
  439. data/lib/puppet/provider/package/puppet_gem.rb +2 -2
  440. data/lib/puppet/provider/package/puppetserver_gem.rb +4 -4
  441. data/lib/puppet/provider/package/rpm.rb +9 -9
  442. data/lib/puppet/provider/package/sun.rb +2 -2
  443. data/lib/puppet/provider/package/tdnf.rb +6 -1
  444. data/lib/puppet/provider/package/windows/exe_package.rb +2 -2
  445. data/lib/puppet/provider/package/windows/package.rb +3 -3
  446. data/lib/puppet/provider/package/windows.rb +1 -1
  447. data/lib/puppet/provider/package/yum.rb +25 -14
  448. data/lib/puppet/provider/package/zypper.rb +7 -7
  449. data/lib/puppet/provider/package.rb +1 -1
  450. data/lib/puppet/provider/package_targetable.rb +2 -2
  451. data/lib/puppet/provider/parsedfile.rb +5 -7
  452. data/lib/puppet/provider/service/base.rb +0 -1
  453. data/lib/puppet/provider/service/daemontools.rb +10 -10
  454. data/lib/puppet/provider/service/debian.rb +2 -2
  455. data/lib/puppet/provider/service/freebsd.rb +15 -17
  456. data/lib/puppet/provider/service/init.rb +2 -3
  457. data/lib/puppet/provider/service/launchd.rb +3 -3
  458. data/lib/puppet/provider/service/openrc.rb +1 -1
  459. data/lib/puppet/provider/service/redhat.rb +2 -1
  460. data/lib/puppet/provider/service/runit.rb +2 -3
  461. data/lib/puppet/provider/service/service.rb +0 -1
  462. data/lib/puppet/provider/service/smf.rb +4 -4
  463. data/lib/puppet/provider/service/src.rb +3 -4
  464. data/lib/puppet/provider/service/systemd.rb +3 -2
  465. data/lib/puppet/provider/service/upstart.rb +6 -8
  466. data/lib/puppet/provider/service/windows.rb +15 -15
  467. data/lib/puppet/provider/user/aix.rb +14 -14
  468. data/lib/puppet/provider/user/directoryservice.rb +8 -8
  469. data/lib/puppet/provider/user/hpux.rb +9 -9
  470. data/lib/puppet/provider/user/ldap.rb +4 -4
  471. data/lib/puppet/provider/user/openbsd.rb +1 -1
  472. data/lib/puppet/provider/user/pw.rb +1 -2
  473. data/lib/puppet/provider/user/user_role_add.rb +9 -9
  474. data/lib/puppet/provider/user/useradd.rb +4 -4
  475. data/lib/puppet/provider/user/windows_adsi.rb +6 -6
  476. data/lib/puppet/provider.rb +2 -2
  477. data/lib/puppet/reference/configuration.rb +15 -14
  478. data/lib/puppet/reference/indirection.rb +14 -14
  479. data/lib/puppet/reference/providers.rb +2 -2
  480. data/lib/puppet/reference/type.rb +1 -1
  481. data/lib/puppet/relationship.rb +2 -2
  482. data/lib/puppet/reports/log.rb +0 -1
  483. data/lib/puppet/reports/store.rb +2 -2
  484. data/lib/puppet/resource/catalog.rb +26 -30
  485. data/lib/puppet/resource/status.rb +4 -3
  486. data/lib/puppet/resource/type.rb +10 -11
  487. data/lib/puppet/resource/type_collection.rb +5 -5
  488. data/lib/puppet/resource.rb +35 -30
  489. data/lib/puppet/scheduler/scheduler.rb +1 -1
  490. data/lib/puppet/scheduler.rb +1 -1
  491. data/lib/puppet/settings/base_setting.rb +2 -2
  492. data/lib/puppet/settings/boolean_setting.rb +1 -1
  493. data/lib/puppet/settings/config_file.rb +2 -2
  494. data/lib/puppet/settings/duration_setting.rb +2 -3
  495. data/lib/puppet/settings/environment_conf.rb +6 -4
  496. data/lib/puppet/settings/errors.rb +3 -3
  497. data/lib/puppet/settings/integer_setting.rb +1 -1
  498. data/lib/puppet/settings/priority_setting.rb +3 -4
  499. data/lib/puppet/settings/server_list_setting.rb +4 -4
  500. data/lib/puppet/settings/ttl_setting.rb +3 -4
  501. data/lib/puppet/settings/value_translator.rb +1 -1
  502. data/lib/puppet/settings.rb +39 -36
  503. data/lib/puppet/ssl/base.rb +2 -2
  504. data/lib/puppet/ssl/certificate.rb +2 -2
  505. data/lib/puppet/ssl/certificate_request.rb +10 -10
  506. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  507. data/lib/puppet/ssl/oids.rb +4 -4
  508. data/lib/puppet/ssl/ssl_provider.rb +8 -6
  509. data/lib/puppet/ssl/state_machine.rb +11 -11
  510. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  511. data/lib/puppet/syntax_checkers/epp.rb +2 -2
  512. data/lib/puppet/syntax_checkers/json.rb +2 -2
  513. data/lib/puppet/syntax_checkers/pp.rb +2 -2
  514. data/lib/puppet/syntax_checkers.rb +1 -1
  515. data/lib/puppet/test/test_helper.rb +10 -9
  516. data/lib/puppet/transaction/additional_resource_generator.rb +5 -5
  517. data/lib/puppet/transaction/event_manager.rb +2 -3
  518. data/lib/puppet/transaction/persistence.rb +1 -1
  519. data/lib/puppet/transaction/report.rb +14 -16
  520. data/lib/puppet/transaction/resource_harness.rb +2 -2
  521. data/lib/puppet/transaction.rb +11 -11
  522. data/lib/puppet/trusted_external.rb +1 -1
  523. data/lib/puppet/type/exec.rb +7 -11
  524. data/lib/puppet/type/file/checksum_value.rb +2 -2
  525. data/lib/puppet/type/file/content.rb +5 -5
  526. data/lib/puppet/type/file/ctime.rb +0 -1
  527. data/lib/puppet/type/file/data_sync.rb +2 -2
  528. data/lib/puppet/type/file/ensure.rb +6 -9
  529. data/lib/puppet/type/file/owner.rb +0 -1
  530. data/lib/puppet/type/file/selcontext.rb +0 -1
  531. data/lib/puppet/type/file/source.rb +2 -2
  532. data/lib/puppet/type/file/target.rb +2 -3
  533. data/lib/puppet/type/file/type.rb +0 -1
  534. data/lib/puppet/type/file.rb +22 -26
  535. data/lib/puppet/type/group.rb +2 -2
  536. data/lib/puppet/type/package.rb +8 -8
  537. data/lib/puppet/type/resources.rb +8 -8
  538. data/lib/puppet/type/schedule.rb +4 -4
  539. data/lib/puppet/type/service.rb +4 -4
  540. data/lib/puppet/type/tidy.rb +7 -7
  541. data/lib/puppet/type/user.rb +20 -19
  542. data/lib/puppet/type.rb +44 -49
  543. data/lib/puppet/util/at_fork/solaris.rb +4 -4
  544. data/lib/puppet/util/autoload.rb +2 -2
  545. data/lib/puppet/util/backups.rb +3 -3
  546. data/lib/puppet/util/checksums.rb +1 -1
  547. data/lib/puppet/util/classgen.rb +2 -3
  548. data/lib/puppet/util/colors.rb +33 -33
  549. data/lib/puppet/util/command_line/puppet_option_parser.rb +5 -4
  550. data/lib/puppet/util/command_line/trollop.rb +38 -34
  551. data/lib/puppet/util/command_line.rb +1 -1
  552. data/lib/puppet/util/diff.rb +4 -4
  553. data/lib/puppet/util/docs.rb +3 -3
  554. data/lib/puppet/util/errors.rb +2 -2
  555. data/lib/puppet/util/execution.rb +12 -11
  556. data/lib/puppet/util/feature.rb +6 -8
  557. data/lib/puppet/util/fileparsing.rb +9 -12
  558. data/lib/puppet/util/filetype.rb +3 -3
  559. data/lib/puppet/util/inifile.rb +1 -1
  560. data/lib/puppet/util/ldap/manager.rb +6 -7
  561. data/lib/puppet/util/libuser.rb +1 -1
  562. data/lib/puppet/util/log/destination.rb +0 -1
  563. data/lib/puppet/util/log/destinations.rb +2 -4
  564. data/lib/puppet/util/log.rb +7 -6
  565. data/lib/puppet/util/logging.rb +6 -7
  566. data/lib/puppet/util/metaid.rb +0 -1
  567. data/lib/puppet/util/metric.rb +3 -3
  568. data/lib/puppet/util/monkey_patches.rb +1 -1
  569. data/lib/puppet/util/multi_match.rb +4 -4
  570. data/lib/puppet/util/network_device/base.rb +1 -1
  571. data/lib/puppet/util/network_device/config.rb +2 -2
  572. data/lib/puppet/util/package/version/pip.rb +2 -2
  573. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  574. data/lib/puppet/util/package/version/range.rb +5 -5
  575. data/lib/puppet/util/package.rb +1 -1
  576. data/lib/puppet/util/pidlock.rb +1 -1
  577. data/lib/puppet/util/plist.rb +6 -5
  578. data/lib/puppet/util/posix.rb +3 -4
  579. data/lib/puppet/util/profiler/aggregate.rb +2 -3
  580. data/lib/puppet/util/profiler/logging.rb +1 -1
  581. data/lib/puppet/util/profiler/wall_clock.rb +2 -3
  582. data/lib/puppet/util/provider_features.rb +1 -2
  583. data/lib/puppet/util/rdoc/code_objects.rb +11 -10
  584. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -34
  585. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +17 -15
  586. data/lib/puppet/util/rdoc.rb +8 -8
  587. data/lib/puppet/util/reference.rb +2 -2
  588. data/lib/puppet/util/resource_template.rb +0 -1
  589. data/lib/puppet/util/retry_action.rb +2 -2
  590. data/lib/puppet/util/rpm_compare.rb +7 -7
  591. data/lib/puppet/util/rubygems.rb +0 -1
  592. data/lib/puppet/util/run_mode.rb +3 -3
  593. data/lib/puppet/util/selinux.rb +3 -3
  594. data/lib/puppet/util/storage.rb +1 -1
  595. data/lib/puppet/util/suidmanager.rb +13 -15
  596. data/lib/puppet/util/symbolic_file_mode.rb +8 -7
  597. data/lib/puppet/util/tagging.rb +2 -2
  598. data/lib/puppet/util/user_attr.rb +1 -1
  599. data/lib/puppet/util/watched_file.rb +2 -1
  600. data/lib/puppet/util/watcher/periodic_watcher.rb +0 -1
  601. data/lib/puppet/util/windows/access_control_list.rb +5 -4
  602. data/lib/puppet/util/windows/adsi.rb +14 -14
  603. data/lib/puppet/util/windows/com.rb +2 -2
  604. data/lib/puppet/util/windows/daemon.rb +8 -8
  605. data/lib/puppet/util/windows/eventlog.rb +4 -4
  606. data/lib/puppet/util/windows/file.rb +16 -12
  607. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  608. data/lib/puppet/util/windows/principal.rb +8 -6
  609. data/lib/puppet/util/windows/process.rb +28 -22
  610. data/lib/puppet/util/windows/registry.rb +47 -14
  611. data/lib/puppet/util/windows/root_certs.rb +1 -1
  612. data/lib/puppet/util/windows/security.rb +20 -18
  613. data/lib/puppet/util/windows/service.rb +4 -4
  614. data/lib/puppet/util/windows/sid.rb +8 -7
  615. data/lib/puppet/util/windows/user.rb +4 -2
  616. data/lib/puppet/util/windows.rb +1 -1
  617. data/lib/puppet/util.rb +14 -16
  618. data/lib/puppet/version.rb +1 -1
  619. data/lib/puppet/x509/cert_provider.rb +12 -12
  620. data/lib/puppet.rb +8 -7
  621. data/locales/puppet.pot +2008 -2004
  622. data/man/man5/puppet.conf.5 +2 -2
  623. data/man/man8/puppet-agent.8 +1 -1
  624. data/man/man8/puppet-apply.8 +1 -1
  625. data/man/man8/puppet-catalog.8 +1 -1
  626. data/man/man8/puppet-config.8 +1 -1
  627. data/man/man8/puppet-describe.8 +1 -1
  628. data/man/man8/puppet-device.8 +1 -1
  629. data/man/man8/puppet-doc.8 +1 -1
  630. data/man/man8/puppet-epp.8 +1 -1
  631. data/man/man8/puppet-facts.8 +1 -1
  632. data/man/man8/puppet-filebucket.8 +1 -1
  633. data/man/man8/puppet-generate.8 +1 -1
  634. data/man/man8/puppet-help.8 +1 -1
  635. data/man/man8/puppet-lookup.8 +1 -1
  636. data/man/man8/puppet-module.8 +1 -1
  637. data/man/man8/puppet-node.8 +1 -1
  638. data/man/man8/puppet-parser.8 +1 -1
  639. data/man/man8/puppet-plugin.8 +1 -1
  640. data/man/man8/puppet-report.8 +1 -1
  641. data/man/man8/puppet-resource.8 +1 -1
  642. data/man/man8/puppet-script.8 +1 -1
  643. data/man/man8/puppet-ssl.8 +1 -1
  644. data/man/man8/puppet.8 +2 -2
  645. data/tasks/generate_cert_fixtures.rake +1 -0
  646. metadata +3 -2455
  647. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  648. data/spec/fixtures/hiera.yaml +0 -9
  649. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  650. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  651. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  652. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  653. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  654. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  655. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  656. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  657. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  658. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  659. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  660. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  661. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  662. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  663. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  664. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  665. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  666. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  667. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  668. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  669. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  670. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  671. data/spec/fixtures/java.tgz +0 -0
  672. data/spec/fixtures/manifests/site.pp +0 -0
  673. data/spec/fixtures/module.tar.gz +0 -0
  674. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  675. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  676. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  677. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  678. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  679. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  680. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  681. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  682. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  683. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  684. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  685. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  686. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  687. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  688. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  689. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  690. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  691. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  692. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  693. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  694. data/spec/fixtures/ssl/127.0.0.1.pem +0 -70
  695. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  696. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  697. data/spec/fixtures/ssl/ca.pem +0 -81
  698. data/spec/fixtures/ssl/crl.pem +0 -40
  699. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  700. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  701. data/spec/fixtures/ssl/ec-key.pem +0 -18
  702. data/spec/fixtures/ssl/ec.pem +0 -50
  703. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  704. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  705. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  706. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  707. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  708. data/spec/fixtures/ssl/intermediate.pem +0 -81
  709. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  710. data/spec/fixtures/ssl/oid-key.pem +0 -117
  711. data/spec/fixtures/ssl/oid.pem +0 -70
  712. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  713. data/spec/fixtures/ssl/pluto.pem +0 -67
  714. data/spec/fixtures/ssl/renewed.pem +0 -67
  715. data/spec/fixtures/ssl/request-key.pem +0 -117
  716. data/spec/fixtures/ssl/request.pem +0 -62
  717. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  718. data/spec/fixtures/ssl/revoked.pem +0 -67
  719. data/spec/fixtures/ssl/signed-key.pem +0 -117
  720. data/spec/fixtures/ssl/signed.pem +0 -67
  721. data/spec/fixtures/ssl/tampered-cert.pem +0 -67
  722. data/spec/fixtures/ssl/tampered-csr.pem +0 -62
  723. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  724. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  725. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -70
  726. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  727. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  728. data/spec/fixtures/stdlib.tgz +0 -0
  729. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  730. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  731. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  732. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  733. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  734. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  735. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  736. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  737. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  738. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  739. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  740. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  741. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  742. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  743. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  744. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  745. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  746. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  747. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  748. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  749. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  750. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  751. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  752. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  753. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  754. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  755. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  756. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  757. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  758. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  759. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  760. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  761. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  762. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  763. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  764. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  765. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  766. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  767. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  768. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  769. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  770. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  771. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  772. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  773. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  774. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  775. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  776. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  777. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  778. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  779. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  780. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  781. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  782. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  783. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  784. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  785. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  786. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  787. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  788. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  789. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  790. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  791. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  792. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  793. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  794. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  795. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  796. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  797. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  798. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  799. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  800. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  801. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  802. data/spec/fixtures/unit/forge/bacula.json +0 -76
  803. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  804. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  805. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  806. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  807. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  808. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  809. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  810. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  811. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  812. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  813. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  814. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  815. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  816. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  817. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  818. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  819. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  820. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  821. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  822. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  823. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  824. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  825. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  826. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  827. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  828. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  829. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  830. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  831. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  832. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  833. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  834. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  835. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  836. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  837. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  838. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  839. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  840. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  841. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  842. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  843. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  844. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  845. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  846. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  847. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  848. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  849. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  850. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  851. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  852. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  853. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  854. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  855. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  856. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  857. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  858. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  859. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  860. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  861. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  862. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  863. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  864. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  865. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  866. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  867. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  868. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  869. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  870. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  871. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  872. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  873. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  874. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  875. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  876. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  877. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  878. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  879. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  880. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  881. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  882. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  883. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  884. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  885. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  886. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  887. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  888. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  889. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  890. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  891. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  892. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  893. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  894. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  895. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  896. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  897. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  898. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  899. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  900. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  901. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  902. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  903. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  904. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  905. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  906. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  907. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  908. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  909. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  910. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  911. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  912. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  913. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  914. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  915. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  916. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  917. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  918. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  919. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  920. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  921. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  922. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  923. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  924. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  925. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  926. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  927. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  928. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  929. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  930. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  931. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  932. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  933. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  934. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  935. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  936. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  937. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  938. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  939. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  940. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  941. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  942. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  943. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  944. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  945. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  946. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  947. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  948. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  949. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  950. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  951. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  952. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  953. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  954. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  955. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  956. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  957. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  958. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  959. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  960. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  961. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  962. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  963. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  964. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  965. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  966. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  967. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  968. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  969. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  970. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  971. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  972. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  973. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  974. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  975. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  976. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  977. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  978. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  979. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  980. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  981. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  982. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  983. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  984. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  985. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  986. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  987. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  988. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  989. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  990. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  991. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  992. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  993. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  994. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  995. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  996. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  997. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  998. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  999. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1000. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1001. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1002. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1003. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1004. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1005. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1006. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1007. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1008. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1009. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1010. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1011. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1012. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1013. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1014. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1015. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1016. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  1017. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  1018. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  1019. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  1020. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1021. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1022. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1023. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1024. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1025. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1026. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1027. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1028. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1029. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1030. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1031. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  1032. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  1033. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1034. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1035. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1036. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1037. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1038. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1039. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1040. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  1041. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1042. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  1043. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  1044. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  1045. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1046. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1047. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1048. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1049. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1050. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1051. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1052. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1053. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1054. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1055. 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
  1056. 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
  1057. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  1058. 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
  1059. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  1060. 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
  1061. 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
  1062. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1063. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1064. data/spec/integration/agent/logging_spec.rb +0 -179
  1065. data/spec/integration/application/agent_spec.rb +0 -1067
  1066. data/spec/integration/application/apply_spec.rb +0 -781
  1067. data/spec/integration/application/doc_spec.rb +0 -24
  1068. data/spec/integration/application/filebucket_spec.rb +0 -255
  1069. data/spec/integration/application/help_spec.rb +0 -44
  1070. data/spec/integration/application/lookup_spec.rb +0 -275
  1071. data/spec/integration/application/module_spec.rb +0 -230
  1072. data/spec/integration/application/plugin_spec.rb +0 -145
  1073. data/spec/integration/application/resource_spec.rb +0 -68
  1074. data/spec/integration/application/ssl_spec.rb +0 -20
  1075. data/spec/integration/configurer_spec.rb +0 -166
  1076. data/spec/integration/data_binding_spec.rb +0 -278
  1077. data/spec/integration/defaults_spec.rb +0 -279
  1078. data/spec/integration/directory_environments_spec.rb +0 -67
  1079. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1080. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1081. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  1082. data/spec/integration/environments/settings_spec.rb +0 -128
  1083. data/spec/integration/http/client_spec.rb +0 -229
  1084. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  1085. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  1086. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  1087. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  1088. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  1089. data/spec/integration/l10n/compiler_spec.rb +0 -37
  1090. data/spec/integration/network/formats_spec.rb +0 -90
  1091. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1092. data/spec/integration/network/http_pool_spec.rb +0 -275
  1093. data/spec/integration/node/environment_spec.rb +0 -170
  1094. data/spec/integration/node/facts_spec.rb +0 -40
  1095. data/spec/integration/node_spec.rb +0 -77
  1096. data/spec/integration/parser/catalog_spec.rb +0 -68
  1097. data/spec/integration/parser/class_spec.rb +0 -33
  1098. data/spec/integration/parser/collection_spec.rb +0 -362
  1099. data/spec/integration/parser/compiler_spec.rb +0 -1221
  1100. data/spec/integration/parser/conditionals_spec.rb +0 -95
  1101. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1102. data/spec/integration/parser/environment_spec.rb +0 -47
  1103. data/spec/integration/parser/node_spec.rb +0 -163
  1104. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1105. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  1106. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1107. data/spec/integration/parser/scope_spec.rb +0 -735
  1108. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1109. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1110. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1111. data/spec/integration/resource/catalog_spec.rb +0 -47
  1112. data/spec/integration/resource/type_collection_spec.rb +0 -88
  1113. data/spec/integration/transaction/report_spec.rb +0 -706
  1114. data/spec/integration/transaction_spec.rb +0 -553
  1115. data/spec/integration/type/exec_spec.rb +0 -114
  1116. data/spec/integration/type/file_spec.rb +0 -2012
  1117. data/spec/integration/type/notify_spec.rb +0 -46
  1118. data/spec/integration/type/package_spec.rb +0 -200
  1119. data/spec/integration/type/tidy_spec.rb +0 -45
  1120. data/spec/integration/type_spec.rb +0 -30
  1121. data/spec/integration/util/autoload_spec.rb +0 -104
  1122. data/spec/integration/util/execution_spec.rb +0 -104
  1123. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  1124. data/spec/integration/util/settings_spec.rb +0 -115
  1125. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  1126. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  1127. data/spec/integration/util/windows/principal_spec.rb +0 -279
  1128. data/spec/integration/util/windows/process_spec.rb +0 -96
  1129. data/spec/integration/util/windows/registry_spec.rb +0 -334
  1130. data/spec/integration/util/windows/security_spec.rb +0 -1010
  1131. data/spec/integration/util/windows/user_spec.rb +0 -226
  1132. data/spec/integration/util_spec.rb +0 -104
  1133. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1134. data/spec/lib/matchers/include_in_order.rb +0 -20
  1135. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1136. data/spec/lib/matchers/json.rb +0 -132
  1137. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1138. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1139. data/spec/lib/matchers/resource.rb +0 -74
  1140. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1141. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1142. data/spec/lib/puppet/face/basetest.rb +0 -51
  1143. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1144. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1145. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1146. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1147. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1148. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1149. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1150. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1151. data/spec/lib/puppet/test_ca.rb +0 -157
  1152. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1153. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1154. data/spec/lib/puppet_spec/files.rb +0 -107
  1155. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  1156. data/spec/lib/puppet_spec/handler.rb +0 -53
  1157. data/spec/lib/puppet_spec/https.rb +0 -95
  1158. data/spec/lib/puppet_spec/language.rb +0 -75
  1159. data/spec/lib/puppet_spec/matchers.rb +0 -68
  1160. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1161. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1162. data/spec/lib/puppet_spec/modules.rb +0 -82
  1163. data/spec/lib/puppet_spec/network.rb +0 -127
  1164. data/spec/lib/puppet_spec/pops.rb +0 -29
  1165. data/spec/lib/puppet_spec/puppetserver.rb +0 -180
  1166. data/spec/lib/puppet_spec/scope.rb +0 -13
  1167. data/spec/lib/puppet_spec/settings.rb +0 -39
  1168. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1169. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1170. data/spec/lib/puppet_spec/verbose.rb +0 -20
  1171. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1172. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1173. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  1174. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  1175. data/spec/shared_behaviours/file_serving.rb +0 -73
  1176. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  1177. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  1178. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1179. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1180. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1181. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1182. data/spec/shared_contexts/checksum.rb +0 -65
  1183. data/spec/shared_contexts/digests.rb +0 -100
  1184. data/spec/shared_contexts/https.rb +0 -29
  1185. data/spec/shared_contexts/l10n.rb +0 -32
  1186. data/spec/shared_contexts/provider.rb +0 -16
  1187. data/spec/shared_contexts/types_setup.rb +0 -204
  1188. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  1189. data/spec/spec_helper.rb +0 -240
  1190. data/spec/unit/agent/disabler_spec.rb +0 -63
  1191. data/spec/unit/agent/locker_spec.rb +0 -99
  1192. data/spec/unit/agent_spec.rb +0 -411
  1193. data/spec/unit/application/agent_spec.rb +0 -640
  1194. data/spec/unit/application/apply_spec.rb +0 -559
  1195. data/spec/unit/application/config_spec.rb +0 -232
  1196. data/spec/unit/application/describe_spec.rb +0 -135
  1197. data/spec/unit/application/device_spec.rb +0 -616
  1198. data/spec/unit/application/doc_spec.rb +0 -333
  1199. data/spec/unit/application/face_base_spec.rb +0 -454
  1200. data/spec/unit/application/facts_spec.rb +0 -139
  1201. data/spec/unit/application/filebucket_spec.rb +0 -319
  1202. data/spec/unit/application/indirection_base_spec.rb +0 -50
  1203. data/spec/unit/application/lookup_spec.rb +0 -698
  1204. data/spec/unit/application/resource_spec.rb +0 -229
  1205. data/spec/unit/application/ssl_spec.rb +0 -507
  1206. data/spec/unit/application_spec.rb +0 -730
  1207. data/spec/unit/certificate_factory_spec.rb +0 -170
  1208. data/spec/unit/concurrent/lock_spec.rb +0 -29
  1209. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  1210. data/spec/unit/configurer/downloader_spec.rb +0 -252
  1211. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  1212. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  1213. data/spec/unit/configurer_spec.rb +0 -1488
  1214. data/spec/unit/confine/exists_spec.rb +0 -82
  1215. data/spec/unit/confine/false_spec.rb +0 -78
  1216. data/spec/unit/confine/feature_spec.rb +0 -59
  1217. data/spec/unit/confine/true_spec.rb +0 -78
  1218. data/spec/unit/confine/variable_spec.rb +0 -105
  1219. data/spec/unit/confine_collection_spec.rb +0 -132
  1220. data/spec/unit/confine_spec.rb +0 -99
  1221. data/spec/unit/confiner_spec.rb +0 -61
  1222. data/spec/unit/context/trusted_information_spec.rb +0 -213
  1223. data/spec/unit/context_spec.rb +0 -217
  1224. data/spec/unit/daemon_spec.rb +0 -176
  1225. data/spec/unit/data_binding_spec.rb +0 -11
  1226. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  1227. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -362
  1228. data/spec/unit/datatypes_spec.rb +0 -352
  1229. data/spec/unit/defaults_spec.rb +0 -182
  1230. data/spec/unit/environments_spec.rb +0 -1186
  1231. data/spec/unit/etc_spec.rb +0 -465
  1232. data/spec/unit/external/pson_spec.rb +0 -58
  1233. data/spec/unit/face/config_spec.rb +0 -402
  1234. data/spec/unit/face/epp_face_spec.rb +0 -385
  1235. data/spec/unit/face/facts_spec.rb +0 -78
  1236. data/spec/unit/face/generate_spec.rb +0 -293
  1237. data/spec/unit/face/help_spec.rb +0 -208
  1238. data/spec/unit/face/module/install_spec.rb +0 -40
  1239. data/spec/unit/face/module/list_spec.rb +0 -256
  1240. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  1241. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1242. data/spec/unit/face/node_spec.rb +0 -129
  1243. data/spec/unit/face/parser_spec.rb +0 -310
  1244. data/spec/unit/face/plugin_spec.rb +0 -158
  1245. data/spec/unit/face_spec.rb +0 -1
  1246. data/spec/unit/facter_impl_spec.rb +0 -31
  1247. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  1248. data/spec/unit/file_bucket/file_spec.rb +0 -58
  1249. data/spec/unit/file_serving/base_spec.rb +0 -164
  1250. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  1251. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  1252. data/spec/unit/file_serving/content_spec.rb +0 -98
  1253. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  1254. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  1255. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1256. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  1257. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  1258. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  1259. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  1260. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  1261. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  1262. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  1263. data/spec/unit/file_serving/mount_spec.rb +0 -30
  1264. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  1265. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  1266. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  1267. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  1268. data/spec/unit/file_system_spec.rb +0 -1198
  1269. data/spec/unit/forge/errors_spec.rb +0 -80
  1270. data/spec/unit/forge/forge_spec.rb +0 -69
  1271. data/spec/unit/forge/module_release_spec.rb +0 -331
  1272. data/spec/unit/forge/repository_spec.rb +0 -154
  1273. data/spec/unit/forge_spec.rb +0 -210
  1274. data/spec/unit/functions/abs_spec.rb +0 -70
  1275. data/spec/unit/functions/all_spec.rb +0 -97
  1276. data/spec/unit/functions/annotate_spec.rb +0 -175
  1277. data/spec/unit/functions/any_spec.rb +0 -109
  1278. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1279. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1280. data/spec/unit/functions/break_spec.rb +0 -207
  1281. data/spec/unit/functions/call_spec.rb +0 -131
  1282. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1283. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1284. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1285. data/spec/unit/functions/chomp_spec.rb +0 -46
  1286. data/spec/unit/functions/chop_spec.rb +0 -38
  1287. data/spec/unit/functions/compare_spec.rb +0 -147
  1288. data/spec/unit/functions/contain_spec.rb +0 -297
  1289. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1290. data/spec/unit/functions/defined_spec.rb +0 -288
  1291. data/spec/unit/functions/dig_spec.rb +0 -58
  1292. data/spec/unit/functions/downcase_spec.rb +0 -34
  1293. data/spec/unit/functions/each_spec.rb +0 -107
  1294. data/spec/unit/functions/empty_spec.rb +0 -87
  1295. data/spec/unit/functions/epp_spec.rb +0 -178
  1296. data/spec/unit/functions/filter_spec.rb +0 -145
  1297. data/spec/unit/functions/find_file_spec.rb +0 -69
  1298. data/spec/unit/functions/find_template_spec.rb +0 -69
  1299. data/spec/unit/functions/flatten_spec.rb +0 -31
  1300. data/spec/unit/functions/floor_spec.rb +0 -65
  1301. data/spec/unit/functions/get_spec.rb +0 -135
  1302. data/spec/unit/functions/getvar_spec.rb +0 -121
  1303. data/spec/unit/functions/group_by_spec.rb +0 -40
  1304. data/spec/unit/functions/hiera_spec.rb +0 -495
  1305. data/spec/unit/functions/include_spec.rb +0 -186
  1306. data/spec/unit/functions/index_spec.rb +0 -184
  1307. data/spec/unit/functions/inline_epp_spec.rb +0 -120
  1308. data/spec/unit/functions/join_spec.rb +0 -33
  1309. data/spec/unit/functions/keys_spec.rb +0 -31
  1310. data/spec/unit/functions/length_spec.rb +0 -50
  1311. data/spec/unit/functions/lest_spec.rb +0 -34
  1312. data/spec/unit/functions/logging_spec.rb +0 -62
  1313. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  1314. data/spec/unit/functions/lookup_spec.rb +0 -3415
  1315. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1316. data/spec/unit/functions/map_spec.rb +0 -163
  1317. data/spec/unit/functions/match_spec.rb +0 -74
  1318. data/spec/unit/functions/max_spec.rb +0 -158
  1319. data/spec/unit/functions/min_spec.rb +0 -158
  1320. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1321. data/spec/unit/functions/new_spec.rb +0 -776
  1322. data/spec/unit/functions/next_spec.rb +0 -93
  1323. data/spec/unit/functions/partition_spec.rb +0 -40
  1324. data/spec/unit/functions/reduce_spec.rb +0 -85
  1325. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1326. data/spec/unit/functions/require_spec.rb +0 -82
  1327. data/spec/unit/functions/return_spec.rb +0 -109
  1328. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1329. data/spec/unit/functions/round_spec.rb +0 -41
  1330. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1331. data/spec/unit/functions/scanf_spec.rb +0 -32
  1332. data/spec/unit/functions/shared.rb +0 -94
  1333. data/spec/unit/functions/size_spec.rb +0 -50
  1334. data/spec/unit/functions/slice_spec.rb +0 -136
  1335. data/spec/unit/functions/sort_spec.rb +0 -79
  1336. data/spec/unit/functions/split_spec.rb +0 -59
  1337. data/spec/unit/functions/step_spec.rb +0 -113
  1338. data/spec/unit/functions/strftime_spec.rb +0 -152
  1339. data/spec/unit/functions/strip_spec.rb +0 -30
  1340. data/spec/unit/functions/then_spec.rb +0 -40
  1341. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1342. data/spec/unit/functions/type_spec.rb +0 -35
  1343. data/spec/unit/functions/unique_spec.rb +0 -111
  1344. data/spec/unit/functions/unwrap_spec.rb +0 -37
  1345. data/spec/unit/functions/upcase_spec.rb +0 -34
  1346. data/spec/unit/functions/values_spec.rb +0 -30
  1347. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  1348. data/spec/unit/functions/with_spec.rb +0 -31
  1349. data/spec/unit/functions4_spec.rb +0 -1046
  1350. data/spec/unit/gettext/config_spec.rb +0 -156
  1351. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1352. data/spec/unit/graph/key_spec.rb +0 -41
  1353. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  1354. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  1355. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1356. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  1357. data/spec/unit/hiera/scope_spec.rb +0 -105
  1358. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1359. data/spec/unit/http/client_spec.rb +0 -937
  1360. data/spec/unit/http/dns_spec.rb +0 -281
  1361. data/spec/unit/http/external_client_spec.rb +0 -201
  1362. data/spec/unit/http/factory_spec.rb +0 -160
  1363. data/spec/unit/http/pool_entry_spec.rb +0 -49
  1364. data/spec/unit/http/pool_spec.rb +0 -401
  1365. data/spec/unit/http/proxy_spec.rb +0 -347
  1366. data/spec/unit/http/resolver_spec.rb +0 -133
  1367. data/spec/unit/http/response_spec.rb +0 -75
  1368. data/spec/unit/http/service/ca_spec.rb +0 -281
  1369. data/spec/unit/http/service/compiler_spec.rb +0 -746
  1370. data/spec/unit/http/service/file_server_spec.rb +0 -309
  1371. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  1372. data/spec/unit/http/service/report_spec.rb +0 -107
  1373. data/spec/unit/http/service_spec.rb +0 -137
  1374. data/spec/unit/http/session_spec.rb +0 -309
  1375. data/spec/unit/http/site_spec.rb +0 -96
  1376. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1238
  1377. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  1378. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  1379. data/spec/unit/indirector/catalog/rest_spec.rb +0 -91
  1380. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  1381. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  1382. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1383. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1384. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  1385. data/spec/unit/indirector/envelope_spec.rb +0 -32
  1386. data/spec/unit/indirector/exec_spec.rb +0 -63
  1387. data/spec/unit/indirector/face_spec.rb +0 -80
  1388. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  1389. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  1390. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  1391. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  1392. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  1393. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  1394. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  1395. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  1396. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  1397. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  1398. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  1399. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  1400. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  1401. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  1402. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  1403. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  1404. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  1405. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  1406. data/spec/unit/indirector/file_server_spec.rb +0 -288
  1407. data/spec/unit/indirector/hiera_spec.rb +0 -22
  1408. data/spec/unit/indirector/indirection_spec.rb +0 -916
  1409. data/spec/unit/indirector/json_spec.rb +0 -200
  1410. data/spec/unit/indirector/memory_spec.rb +0 -26
  1411. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  1412. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  1413. data/spec/unit/indirector/node/json_spec.rb +0 -33
  1414. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  1415. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  1416. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  1417. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  1418. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  1419. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  1420. data/spec/unit/indirector/none_spec.rb +0 -33
  1421. data/spec/unit/indirector/plain_spec.rb +0 -26
  1422. data/spec/unit/indirector/report/json_spec.rb +0 -72
  1423. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  1424. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  1425. data/spec/unit/indirector/report/rest_spec.rb +0 -58
  1426. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  1427. data/spec/unit/indirector/request_spec.rb +0 -295
  1428. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  1429. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  1430. data/spec/unit/indirector/rest_spec.rb +0 -149
  1431. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1432. data/spec/unit/indirector/yaml_spec.rb +0 -188
  1433. data/spec/unit/indirector_spec.rb +0 -148
  1434. data/spec/unit/info_service_spec.rb +0 -575
  1435. data/spec/unit/interface/action_builder_spec.rb +0 -216
  1436. data/spec/unit/interface/action_manager_spec.rb +0 -254
  1437. data/spec/unit/interface/action_spec.rb +0 -670
  1438. data/spec/unit/interface/documentation_spec.rb +0 -32
  1439. data/spec/unit/interface/face_collection_spec.rb +0 -219
  1440. data/spec/unit/interface/option_builder_spec.rb +0 -86
  1441. data/spec/unit/interface/option_spec.rb +0 -156
  1442. data/spec/unit/interface_spec.rb +0 -305
  1443. data/spec/unit/module_spec.rb +0 -985
  1444. data/spec/unit/module_tool/application_spec.rb +0 -25
  1445. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  1446. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  1447. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  1448. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  1449. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  1450. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  1451. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  1452. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  1453. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  1454. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  1455. data/spec/unit/module_tool/tar_spec.rb +0 -36
  1456. data/spec/unit/module_tool_spec.rb +0 -304
  1457. data/spec/unit/network/authconfig_spec.rb +0 -8
  1458. data/spec/unit/network/authorization_spec.rb +0 -8
  1459. data/spec/unit/network/format_handler_spec.rb +0 -93
  1460. data/spec/unit/network/format_spec.rb +0 -205
  1461. data/spec/unit/network/format_support_spec.rb +0 -199
  1462. data/spec/unit/network/formats_spec.rb +0 -584
  1463. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  1464. data/spec/unit/network/http/api/master_spec.rb +0 -38
  1465. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  1466. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  1467. data/spec/unit/network/http/api_spec.rb +0 -109
  1468. data/spec/unit/network/http/connection_spec.rb +0 -636
  1469. data/spec/unit/network/http/error_spec.rb +0 -30
  1470. data/spec/unit/network/http/handler_spec.rb +0 -164
  1471. data/spec/unit/network/http/request_spec.rb +0 -108
  1472. data/spec/unit/network/http/response_spec.rb +0 -106
  1473. data/spec/unit/network/http/route_spec.rb +0 -90
  1474. data/spec/unit/network/http_pool_spec.rb +0 -145
  1475. data/spec/unit/network/uri_spec.rb +0 -47
  1476. data/spec/unit/node/environment_spec.rb +0 -612
  1477. data/spec/unit/node/facts_spec.rb +0 -225
  1478. data/spec/unit/node_spec.rb +0 -434
  1479. data/spec/unit/other/selinux_spec.rb +0 -27
  1480. data/spec/unit/parameter/boolean_spec.rb +0 -35
  1481. data/spec/unit/parameter/package_options_spec.rb +0 -43
  1482. data/spec/unit/parameter/path_spec.rb +0 -23
  1483. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  1484. data/spec/unit/parameter/value_spec.rb +0 -82
  1485. data/spec/unit/parameter_spec.rb +0 -272
  1486. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  1487. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  1488. data/spec/unit/parser/compiler_spec.rb +0 -1020
  1489. data/spec/unit/parser/files_spec.rb +0 -101
  1490. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  1491. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  1492. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  1493. data/spec/unit/parser/functions/file_spec.rb +0 -99
  1494. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  1495. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  1496. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  1497. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  1498. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  1499. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  1500. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  1501. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  1502. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  1503. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  1504. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  1505. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  1506. data/spec/unit/parser/functions/split_spec.rb +0 -13
  1507. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  1508. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  1509. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  1510. data/spec/unit/parser/functions/template_spec.rb +0 -93
  1511. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  1512. data/spec/unit/parser/functions_spec.rb +0 -156
  1513. data/spec/unit/parser/relationship_spec.rb +0 -74
  1514. data/spec/unit/parser/resource/param_spec.rb +0 -32
  1515. data/spec/unit/parser/resource_spec.rb +0 -657
  1516. data/spec/unit/parser/scope_spec.rb +0 -698
  1517. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  1518. data/spec/unit/parser/type_loader_spec.rb +0 -202
  1519. data/spec/unit/plan_spec.rb +0 -65
  1520. data/spec/unit/pops/adaptable_spec.rb +0 -139
  1521. data/spec/unit/pops/benchmark_spec.rb +0 -123
  1522. data/spec/unit/pops/containment_spec.rb +0 -0
  1523. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  1524. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -317
  1525. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  1526. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  1527. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  1528. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  1529. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  1530. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1639
  1531. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  1532. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  1533. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  1534. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  1535. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  1536. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  1537. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  1538. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  1539. data/spec/unit/pops/factory_spec.rb +0 -309
  1540. data/spec/unit/pops/issues_spec.rb +0 -210
  1541. data/spec/unit/pops/label_provider_spec.rb +0 -46
  1542. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  1543. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  1544. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  1545. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  1546. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  1547. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  1548. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  1549. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  1550. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -389
  1551. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  1552. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  1553. data/spec/unit/pops/migration_spec.rb +0 -51
  1554. data/spec/unit/pops/model/model_spec.rb +0 -41
  1555. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  1556. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  1557. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  1558. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  1559. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  1560. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  1561. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  1562. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  1563. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  1564. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  1565. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  1566. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  1567. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  1568. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  1569. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  1570. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  1571. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  1572. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  1573. data/spec/unit/pops/pn_spec.rb +0 -147
  1574. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  1575. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  1576. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  1577. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  1578. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -649
  1579. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  1580. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  1581. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  1582. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  1583. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  1584. data/spec/unit/pops/types/error_spec.rb +0 -207
  1585. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  1586. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  1587. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  1588. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  1589. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  1590. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  1591. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  1592. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  1593. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  1594. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  1595. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  1596. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  1597. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  1598. data/spec/unit/pops/types/task_spec.rb +0 -411
  1599. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  1600. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  1601. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  1602. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  1603. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  1604. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  1605. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  1606. data/spec/unit/pops/types/types_spec.rb +0 -755
  1607. data/spec/unit/pops/utils_spec.rb +0 -70
  1608. data/spec/unit/pops/validation_spec.rb +0 -66
  1609. data/spec/unit/pops/validator/validator_spec.rb +0 -1029
  1610. data/spec/unit/pops/visitor_spec.rb +0 -93
  1611. data/spec/unit/property/boolean_spec.rb +0 -24
  1612. data/spec/unit/property/ensure_spec.rb +0 -11
  1613. data/spec/unit/property/keyvalue_spec.rb +0 -259
  1614. data/spec/unit/property/list_spec.rb +0 -172
  1615. data/spec/unit/property/ordered_list_spec.rb +0 -59
  1616. data/spec/unit/property_spec.rb +0 -563
  1617. data/spec/unit/provider/README.markdown +0 -4
  1618. data/spec/unit/provider/aix_object_spec.rb +0 -821
  1619. data/spec/unit/provider/command_spec.rb +0 -62
  1620. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  1621. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  1622. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  1623. data/spec/unit/provider/exec_spec.rb +0 -244
  1624. data/spec/unit/provider/file/posix_spec.rb +0 -230
  1625. data/spec/unit/provider/file/windows_spec.rb +0 -152
  1626. data/spec/unit/provider/group/aix_spec.rb +0 -91
  1627. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  1628. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  1629. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  1630. data/spec/unit/provider/group/pw_spec.rb +0 -78
  1631. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  1632. data/spec/unit/provider/ldap_spec.rb +0 -242
  1633. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  1634. data/spec/unit/provider/nameservice_spec.rb +0 -398
  1635. data/spec/unit/provider/package/aix_spec.rb +0 -158
  1636. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  1637. data/spec/unit/provider/package/apt_spec.rb +0 -302
  1638. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  1639. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  1640. data/spec/unit/provider/package/base_spec.rb +0 -19
  1641. data/spec/unit/provider/package/dnf_spec.rb +0 -62
  1642. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -276
  1643. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  1644. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  1645. data/spec/unit/provider/package/gem_spec.rb +0 -487
  1646. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  1647. data/spec/unit/provider/package/macports_spec.rb +0 -142
  1648. data/spec/unit/provider/package/nim_spec.rb +0 -267
  1649. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  1650. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  1651. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  1652. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  1653. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  1654. data/spec/unit/provider/package/pip_spec.rb +0 -504
  1655. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  1656. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  1657. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  1658. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  1659. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  1660. data/spec/unit/provider/package/portage_spec.rb +0 -226
  1661. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  1662. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  1663. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  1664. data/spec/unit/provider/package/sun_spec.rb +0 -112
  1665. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  1666. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  1667. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  1668. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  1669. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  1670. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  1671. data/spec/unit/provider/package/windows_spec.rb +0 -272
  1672. data/spec/unit/provider/package/yum_spec.rb +0 -512
  1673. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  1674. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1675. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  1676. data/spec/unit/provider/service/base_spec.rb +0 -109
  1677. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  1678. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  1679. data/spec/unit/provider/service/debian_spec.rb +0 -158
  1680. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  1681. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  1682. data/spec/unit/provider/service/init_spec.rb +0 -316
  1683. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  1684. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  1685. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  1686. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  1687. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  1688. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  1689. data/spec/unit/provider/service/runit_spec.rb +0 -164
  1690. data/spec/unit/provider/service/smf_spec.rb +0 -526
  1691. data/spec/unit/provider/service/src_spec.rb +0 -186
  1692. data/spec/unit/provider/service/systemd_spec.rb +0 -578
  1693. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  1694. data/spec/unit/provider/service/windows_spec.rb +0 -475
  1695. data/spec/unit/provider/user/aix_spec.rb +0 -320
  1696. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  1697. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  1698. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  1699. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  1700. data/spec/unit/provider/user/pw_spec.rb +0 -252
  1701. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  1702. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  1703. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  1704. data/spec/unit/provider_spec.rb +0 -904
  1705. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  1706. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  1707. data/spec/unit/puppet_pal_spec.rb +0 -3
  1708. data/spec/unit/puppet_spec.rb +0 -127
  1709. data/spec/unit/relationship_spec.rb +0 -202
  1710. data/spec/unit/reports/http_spec.rb +0 -119
  1711. data/spec/unit/reports/store_spec.rb +0 -69
  1712. data/spec/unit/reports_spec.rb +0 -68
  1713. data/spec/unit/resource/catalog_spec.rb +0 -1160
  1714. data/spec/unit/resource/status_spec.rb +0 -216
  1715. data/spec/unit/resource/type_collection_spec.rb +0 -332
  1716. data/spec/unit/resource/type_spec.rb +0 -876
  1717. data/spec/unit/resource_spec.rb +0 -1189
  1718. data/spec/unit/scheduler/job_spec.rb +0 -78
  1719. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  1720. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  1721. data/spec/unit/settings/array_setting_spec.rb +0 -39
  1722. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  1723. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  1724. data/spec/unit/settings/config_file_spec.rb +0 -147
  1725. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  1726. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  1727. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  1728. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  1729. data/spec/unit/settings/file_setting_spec.rb +0 -344
  1730. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  1731. data/spec/unit/settings/ini_file_spec.rb +0 -550
  1732. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  1733. data/spec/unit/settings/path_setting_spec.rb +0 -29
  1734. data/spec/unit/settings/port_setting_spec.rb +0 -31
  1735. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  1736. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1737. data/spec/unit/settings/string_setting_spec.rb +0 -74
  1738. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  1739. data/spec/unit/settings/value_translator_spec.rb +0 -75
  1740. data/spec/unit/settings_spec.rb +0 -2343
  1741. data/spec/unit/ssl/base_spec.rb +0 -125
  1742. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  1743. data/spec/unit/ssl/certificate_request_spec.rb +0 -373
  1744. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  1745. data/spec/unit/ssl/certificate_spec.rb +0 -183
  1746. data/spec/unit/ssl/digest_spec.rb +0 -34
  1747. data/spec/unit/ssl/oids_spec.rb +0 -73
  1748. data/spec/unit/ssl/ssl_provider_spec.rb +0 -657
  1749. data/spec/unit/ssl/state_machine_spec.rb +0 -1117
  1750. data/spec/unit/ssl/verifier_spec.rb +0 -102
  1751. data/spec/unit/task_spec.rb +0 -345
  1752. data/spec/unit/test/test_helper_spec.rb +0 -17
  1753. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  1754. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  1755. data/spec/unit/transaction/event_spec.rb +0 -198
  1756. data/spec/unit/transaction/persistence_spec.rb +0 -276
  1757. data/spec/unit/transaction/report_spec.rb +0 -772
  1758. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  1759. data/spec/unit/transaction_spec.rb +0 -1037
  1760. data/spec/unit/type/README.markdown +0 -4
  1761. data/spec/unit/type/component_spec.rb +0 -52
  1762. data/spec/unit/type/exec_spec.rb +0 -937
  1763. data/spec/unit/type/file/checksum_spec.rb +0 -104
  1764. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  1765. data/spec/unit/type/file/content_spec.rb +0 -440
  1766. data/spec/unit/type/file/ctime_spec.rb +0 -33
  1767. data/spec/unit/type/file/ensure_spec.rb +0 -121
  1768. data/spec/unit/type/file/group_spec.rb +0 -65
  1769. data/spec/unit/type/file/mode_spec.rb +0 -220
  1770. data/spec/unit/type/file/mtime_spec.rb +0 -33
  1771. data/spec/unit/type/file/owner_spec.rb +0 -63
  1772. data/spec/unit/type/file/selinux_spec.rb +0 -86
  1773. data/spec/unit/type/file/source_spec.rb +0 -730
  1774. data/spec/unit/type/file/type_spec.rb +0 -18
  1775. data/spec/unit/type/file_spec.rb +0 -1746
  1776. data/spec/unit/type/filebucket_spec.rb +0 -104
  1777. data/spec/unit/type/group_spec.rb +0 -105
  1778. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  1779. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  1780. data/spec/unit/type/package_spec.rb +0 -396
  1781. data/spec/unit/type/resources_spec.rb +0 -362
  1782. data/spec/unit/type/schedule_spec.rb +0 -621
  1783. data/spec/unit/type/service_spec.rb +0 -458
  1784. data/spec/unit/type/stage_spec.rb +0 -7
  1785. data/spec/unit/type/tidy_spec.rb +0 -493
  1786. data/spec/unit/type/user_spec.rb +0 -553
  1787. data/spec/unit/type/whit_spec.rb +0 -9
  1788. data/spec/unit/type_spec.rb +0 -1473
  1789. data/spec/unit/util/at_fork_spec.rb +0 -150
  1790. data/spec/unit/util/autoload_spec.rb +0 -330
  1791. data/spec/unit/util/backups_spec.rb +0 -130
  1792. data/spec/unit/util/character_encoding_spec.rb +0 -186
  1793. data/spec/unit/util/checksums_spec.rb +0 -223
  1794. data/spec/unit/util/colors_spec.rb +0 -44
  1795. data/spec/unit/util/command_line_spec.rb +0 -200
  1796. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  1797. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  1798. data/spec/unit/util/diff_spec.rb +0 -46
  1799. data/spec/unit/util/docs_spec.rb +0 -100
  1800. data/spec/unit/util/errors_spec.rb +0 -36
  1801. data/spec/unit/util/execution_spec.rb +0 -943
  1802. data/spec/unit/util/execution_stub_spec.rb +0 -38
  1803. data/spec/unit/util/feature_spec.rb +0 -129
  1804. data/spec/unit/util/filetype_spec.rb +0 -223
  1805. data/spec/unit/util/inifile_spec.rb +0 -510
  1806. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  1807. data/spec/unit/util/json_spec.rb +0 -126
  1808. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  1809. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  1810. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  1811. data/spec/unit/util/lockfile_spec.rb +0 -117
  1812. data/spec/unit/util/log/destinations_spec.rb +0 -258
  1813. data/spec/unit/util/log_spec.rb +0 -479
  1814. data/spec/unit/util/logging_spec.rb +0 -618
  1815. data/spec/unit/util/metric_spec.rb +0 -89
  1816. data/spec/unit/util/monkey_patches_spec.rb +0 -161
  1817. data/spec/unit/util/multi_match_spec.rb +0 -38
  1818. data/spec/unit/util/network_device/config_spec.rb +0 -91
  1819. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  1820. data/spec/unit/util/network_device_spec.rb +0 -43
  1821. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  1822. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  1823. data/spec/unit/util/package/version/range_spec.rb +0 -175
  1824. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  1825. data/spec/unit/util/package_spec.rb +0 -19
  1826. data/spec/unit/util/pidlock_spec.rb +0 -333
  1827. data/spec/unit/util/plist_spec.rb +0 -168
  1828. data/spec/unit/util/posix_spec.rb +0 -630
  1829. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  1830. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  1831. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  1832. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  1833. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  1834. data/spec/unit/util/profiler_spec.rb +0 -47
  1835. data/spec/unit/util/rdoc_spec.rb +0 -55
  1836. data/spec/unit/util/reference_spec.rb +0 -38
  1837. data/spec/unit/util/resource_template_spec.rb +0 -57
  1838. data/spec/unit/util/retry_action_spec.rb +0 -84
  1839. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  1840. data/spec/unit/util/rubygems_spec.rb +0 -47
  1841. data/spec/unit/util/run_mode_spec.rb +0 -185
  1842. data/spec/unit/util/selinux_spec.rb +0 -422
  1843. data/spec/unit/util/skip_tags_spec.rb +0 -14
  1844. data/spec/unit/util/splayer_spec.rb +0 -44
  1845. data/spec/unit/util/storage_spec.rb +0 -330
  1846. data/spec/unit/util/suidmanager_spec.rb +0 -278
  1847. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  1848. data/spec/unit/util/tag_set_spec.rb +0 -52
  1849. data/spec/unit/util/tagging_spec.rb +0 -246
  1850. data/spec/unit/util/terminal_spec.rb +0 -41
  1851. data/spec/unit/util/user_attr_spec.rb +0 -45
  1852. data/spec/unit/util/warnings_spec.rb +0 -45
  1853. data/spec/unit/util/watched_file_spec.rb +0 -52
  1854. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  1855. data/spec/unit/util/watcher_spec.rb +0 -86
  1856. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  1857. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  1858. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  1859. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  1860. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  1861. data/spec/unit/util/windows/file_spec.rb +0 -88
  1862. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  1863. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  1864. data/spec/unit/util/windows/service_spec.rb +0 -677
  1865. data/spec/unit/util/windows/sid_spec.rb +0 -338
  1866. data/spec/unit/util/windows/string_spec.rb +0 -55
  1867. data/spec/unit/util/windows_spec.rb +0 -23
  1868. data/spec/unit/util/yaml_spec.rb +0 -171
  1869. data/spec/unit/util_spec.rb +0 -960
  1870. data/spec/unit/version_spec.rb +0 -61
  1871. data/spec/unit/x509/cert_provider_spec.rb +0 -663
  1872. 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