puppet 5.5.22 → 6.0.0

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

Potentially problematic release.


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

Files changed (1407) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +46 -72
  3. data/Gemfile.lock +86 -102
  4. data/MAINTAINERS +47 -0
  5. data/Rakefile +15 -19
  6. data/ext/build_defaults.yaml +0 -1
  7. data/ext/cert_inspector +3 -3
  8. data/ext/debian/copyright +0 -22
  9. data/ext/project_data.yaml +8 -10
  10. data/ext/puppet-test +2 -2
  11. data/ext/redhat/puppet.spec.erb +0 -4
  12. data/ext/regexp_nodes/regexp_nodes.rb +4 -4
  13. data/ext/solaris/smf/puppet.xml +0 -2
  14. data/ext/solaris/smf/svc-puppetd +1 -8
  15. data/ext/solaris/smf/svc-puppetmasterd +1 -8
  16. data/ext/windows/eventlog/Rakefile +32 -0
  17. data/ext/windows/eventlog/puppetres.dll +0 -0
  18. data/ext/windows/eventlog/puppetres.mc +18 -0
  19. data/ext/windows/service/daemon.rb +8 -54
  20. data/install.rb +24 -6
  21. data/lib/hiera/scope.rb +0 -7
  22. data/lib/puppet.rb +10 -21
  23. data/lib/puppet/agent.rb +13 -5
  24. data/lib/puppet/application.rb +10 -8
  25. data/lib/puppet/application/agent.rb +3 -21
  26. data/lib/puppet/application/apply.rb +22 -12
  27. data/lib/puppet/application/cert.rb +25 -180
  28. data/lib/puppet/application/describe.rb +9 -3
  29. data/lib/puppet/application/device.rb +41 -74
  30. data/lib/puppet/application/doc.rb +5 -3
  31. data/lib/puppet/application/filebucket.rb +1 -23
  32. data/lib/puppet/application/lookup.rb +2 -2
  33. data/lib/puppet/application/resource.rb +4 -4
  34. data/lib/puppet/application/script.rb +3 -3
  35. data/lib/puppet/application/ssl.rb +133 -0
  36. data/lib/puppet/application_support.rb +1 -2
  37. data/lib/puppet/configurer.rb +62 -127
  38. data/lib/puppet/configurer/downloader.rb +17 -34
  39. data/lib/puppet/configurer/fact_handler.rb +5 -1
  40. data/lib/puppet/configurer/plugin_handler.rb +2 -3
  41. data/lib/puppet/confine/false.rb +1 -7
  42. data/lib/puppet/confine/true.rb +1 -7
  43. data/lib/puppet/daemon.rb +2 -2
  44. data/lib/puppet/datatypes.rb +1 -1
  45. data/lib/puppet/defaults.rb +126 -286
  46. data/lib/puppet/environments.rb +2 -7
  47. data/lib/puppet/error.rb +14 -10
  48. data/lib/puppet/etc.rb +4 -25
  49. data/lib/puppet/external/dot.rb +23 -17
  50. data/lib/puppet/face/config.rb +50 -12
  51. data/lib/puppet/face/epp.rb +2 -2
  52. data/lib/puppet/face/facts.rb +1 -1
  53. data/lib/puppet/face/help.rb +21 -7
  54. data/lib/puppet/face/help/global.erb +2 -2
  55. data/lib/puppet/face/module/build.rb +4 -59
  56. data/lib/puppet/face/module/generate.rb +5 -247
  57. data/lib/puppet/face/module/install.rb +0 -4
  58. data/lib/puppet/face/module/list.rb +5 -10
  59. data/lib/puppet/face/module/search.rb +2 -2
  60. data/lib/puppet/face/module/uninstall.rb +1 -5
  61. data/lib/puppet/face/module/upgrade.rb +1 -5
  62. data/lib/puppet/face/node/clean.rb +14 -10
  63. data/lib/puppet/face/plugin.rb +2 -9
  64. data/lib/puppet/feature/base.rb +7 -26
  65. data/lib/puppet/feature/eventlog.rb +1 -1
  66. data/lib/puppet/file_bucket/dipper.rb +1 -1
  67. data/lib/puppet/file_serving/base.rb +7 -7
  68. data/lib/puppet/file_serving/fileset.rb +2 -2
  69. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  70. data/lib/puppet/file_serving/metadata.rb +4 -3
  71. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  72. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  73. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  74. data/lib/puppet/file_system.rb +8 -0
  75. data/lib/puppet/file_system/memory_file.rb +1 -1
  76. data/lib/puppet/file_system/posix.rb +2 -3
  77. data/lib/puppet/file_system/uniquefile.rb +0 -4
  78. data/lib/puppet/forge.rb +8 -12
  79. data/lib/puppet/functions.rb +138 -0
  80. data/lib/puppet/functions/abs.rb +61 -0
  81. data/lib/puppet/functions/call.rb +38 -2
  82. data/lib/puppet/functions/camelcase.rb +62 -0
  83. data/lib/puppet/functions/capitalize.rb +61 -0
  84. data/lib/puppet/functions/ceiling.rb +37 -0
  85. data/lib/puppet/functions/chomp.rb +57 -0
  86. data/lib/puppet/functions/chop.rb +67 -0
  87. data/lib/puppet/functions/compare.rb +125 -0
  88. data/lib/puppet/functions/convert_to.rb +3 -2
  89. data/lib/puppet/functions/dig.rb +21 -1
  90. data/lib/puppet/functions/downcase.rb +89 -0
  91. data/lib/puppet/functions/epp.rb +4 -4
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +4 -5
  93. data/lib/puppet/functions/filter.rb +7 -6
  94. data/lib/puppet/functions/floor.rb +37 -0
  95. data/lib/puppet/functions/get.rb +150 -0
  96. data/lib/puppet/functions/getvar.rb +87 -0
  97. data/lib/puppet/functions/inline_epp.rb +5 -5
  98. data/lib/puppet/functions/lstrip.rb +58 -0
  99. data/lib/puppet/functions/max.rb +183 -0
  100. data/lib/puppet/functions/min.rb +182 -0
  101. data/lib/puppet/functions/new.rb +3 -8
  102. data/lib/puppet/functions/reduce.rb +4 -2
  103. data/lib/puppet/functions/reverse_each.rb +1 -1
  104. data/lib/puppet/functions/round.rb +24 -0
  105. data/lib/puppet/functions/rstrip.rb +58 -0
  106. data/lib/puppet/functions/size.rb +15 -0
  107. data/lib/puppet/functions/sort.rb +74 -0
  108. data/lib/puppet/functions/step.rb +1 -1
  109. data/lib/puppet/functions/strip.rb +58 -0
  110. data/lib/puppet/functions/upcase.rb +89 -0
  111. data/lib/puppet/functions/yaml_data.rb +4 -5
  112. data/lib/puppet/gettext/config.rb +1 -1
  113. data/lib/puppet/gettext/module_translations.rb +1 -1
  114. data/lib/puppet/graph.rb +0 -2
  115. data/lib/puppet/graph/rb_tree_map.rb +2 -2
  116. data/lib/puppet/graph/simple_graph.rb +10 -7
  117. data/lib/puppet/indirector/catalog/compiler.rb +0 -8
  118. data/lib/puppet/indirector/catalog/json.rb +14 -3
  119. data/lib/puppet/indirector/catalog/yaml.rb +0 -16
  120. data/lib/puppet/indirector/certificate/file.rb +0 -1
  121. data/lib/puppet/indirector/facts/yaml.rb +4 -2
  122. data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
  123. data/lib/puppet/indirector/hiera.rb +0 -6
  124. data/lib/puppet/indirector/indirection.rb +8 -12
  125. data/lib/puppet/indirector/key/file.rb +1 -6
  126. data/lib/puppet/indirector/node/exec.rb +1 -3
  127. data/lib/puppet/indirector/node/yaml.rb +0 -6
  128. data/lib/puppet/indirector/request.rb +20 -27
  129. data/lib/puppet/indirector/resource/ral.rb +3 -1
  130. data/lib/puppet/indirector/resource/validator.rb +1 -1
  131. data/lib/puppet/indirector/rest.rb +7 -65
  132. data/lib/puppet/indirector/ssl_file.rb +3 -44
  133. data/lib/puppet/indirector/terminus.rb +1 -1
  134. data/lib/puppet/indirector/yaml.rb +4 -4
  135. data/lib/puppet/info_service/task_information_service.rb +7 -3
  136. data/lib/puppet/interface.rb +2 -3
  137. data/lib/puppet/interface/action.rb +2 -5
  138. data/lib/puppet/interface/face_collection.rb +3 -1
  139. data/lib/puppet/loaders.rb +2 -0
  140. data/lib/puppet/metatype/manager.rb +3 -5
  141. data/lib/puppet/module.rb +5 -31
  142. data/lib/puppet/module/task.rb +208 -30
  143. data/lib/puppet/module_tool.rb +2 -5
  144. data/lib/puppet/module_tool/applications.rb +0 -1
  145. data/lib/puppet/module_tool/applications/application.rb +1 -1
  146. data/lib/puppet/module_tool/applications/installer.rb +7 -8
  147. data/lib/puppet/module_tool/applications/uninstaller.rb +4 -5
  148. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  149. data/lib/puppet/module_tool/applications/upgrader.rb +5 -6
  150. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  151. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  152. data/lib/puppet/module_tool/metadata.rb +1 -2
  153. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  154. data/lib/puppet/module_tool/tar/mini.rb +2 -12
  155. data/lib/puppet/network/authconfig.rb +0 -13
  156. data/lib/puppet/network/format_support.rb +13 -8
  157. data/lib/puppet/network/formats.rb +93 -2
  158. data/lib/puppet/network/http.rb +0 -2
  159. data/lib/puppet/network/http/api.rb +1 -10
  160. data/lib/puppet/network/http/api/indirected_routes.rb +22 -16
  161. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -3
  162. data/lib/puppet/network/http/connection.rb +14 -57
  163. data/lib/puppet/network/http/factory.rb +13 -7
  164. data/lib/puppet/network/http/handler.rb +59 -27
  165. data/lib/puppet/network/http/pool.rb +1 -7
  166. data/lib/puppet/network/http/site.rb +1 -1
  167. data/lib/puppet/network/resolver.rb +140 -67
  168. data/lib/puppet/node.rb +1 -2
  169. data/lib/puppet/node/environment.rb +5 -30
  170. data/lib/puppet/node/facts.rb +11 -1
  171. data/lib/puppet/parameter.rb +4 -7
  172. data/lib/puppet/parser/ast.rb +5 -9
  173. data/lib/puppet/parser/ast/branch.rb +3 -3
  174. data/lib/puppet/parser/ast/leaf.rb +5 -0
  175. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  176. data/lib/puppet/parser/catalog_compiler.rb +32 -0
  177. data/lib/puppet/parser/compiler.rb +2 -3
  178. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -2
  179. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -2
  180. data/lib/puppet/parser/environment_compiler.rb +0 -3
  181. data/lib/puppet/parser/functions.rb +48 -18
  182. data/lib/puppet/parser/functions/epp.rb +3 -3
  183. data/lib/puppet/parser/functions/filter.rb +1 -1
  184. data/lib/puppet/parser/functions/generate.rb +1 -1
  185. data/lib/puppet/parser/functions/inline_epp.rb +5 -5
  186. data/lib/puppet/parser/resource.rb +2 -4
  187. data/lib/puppet/parser/resource/param.rb +12 -11
  188. data/lib/puppet/parser/scope.rb +6 -8
  189. data/lib/puppet/parser/script_compiler.rb +7 -2
  190. data/lib/puppet/pops.rb +1 -0
  191. data/lib/puppet/pops/adaptable.rb +13 -7
  192. data/lib/puppet/pops/adapters.rb +18 -8
  193. data/lib/puppet/pops/evaluator/access_operator.rb +2 -2
  194. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +4 -4
  195. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
  196. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
  197. data/lib/puppet/pops/evaluator/compare_operator.rb +3 -1
  198. data/lib/puppet/pops/evaluator/deferred_resolver.rb +127 -0
  199. data/lib/puppet/pops/evaluator/evaluator_impl.rb +17 -2
  200. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -3
  201. data/lib/puppet/pops/evaluator/runtime3_converter.rb +23 -4
  202. data/lib/puppet/pops/evaluator/runtime3_support.rb +7 -8
  203. data/lib/puppet/pops/functions/dispatch.rb +6 -0
  204. data/lib/puppet/pops/issues.rb +9 -10
  205. data/lib/puppet/pops/loader/loader.rb +1 -1
  206. data/lib/puppet/pops/loader/loader_paths.rb +5 -3
  207. data/lib/puppet/pops/loader/module_loaders.rb +47 -21
  208. data/lib/puppet/pops/loader/null_loader.rb +60 -0
  209. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +54 -0
  210. data/lib/puppet/pops/loader/static_loader.rb +0 -36
  211. data/lib/puppet/pops/loader/task_instantiator.rb +72 -44
  212. data/lib/puppet/pops/loaders.rb +21 -33
  213. data/lib/puppet/pops/lookup/hiera_config.rb +1 -2
  214. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  215. data/lib/puppet/pops/merge_strategy.rb +18 -22
  216. data/lib/puppet/pops/model/ast.pp +16 -0
  217. data/lib/puppet/pops/model/ast.rb +94 -0
  218. data/lib/puppet/pops/model/factory.rb +17 -38
  219. data/lib/puppet/pops/model/model_label_provider.rb +8 -1
  220. data/lib/puppet/pops/parser/egrammar.ra +14 -3
  221. data/lib/puppet/pops/parser/eparser.rb +1537 -1492
  222. data/lib/puppet/pops/parser/epp_support.rb +6 -2
  223. data/lib/puppet/pops/parser/heredoc_support.rb +8 -17
  224. data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
  225. data/lib/puppet/pops/parser/lexer2.rb +2 -7
  226. data/lib/puppet/pops/parser/locator.rb +87 -107
  227. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  228. data/lib/puppet/pops/parser/pn_parser.rb +16 -17
  229. data/lib/puppet/pops/pcore.rb +19 -8
  230. data/lib/puppet/pops/puppet_stack.rb +48 -51
  231. data/lib/puppet/pops/resource/resource_type_impl.rb +0 -2
  232. data/lib/puppet/pops/serialization.rb +3 -2
  233. data/lib/puppet/pops/serialization/from_data_converter.rb +4 -3
  234. data/lib/puppet/pops/serialization/to_data_converter.rb +3 -3
  235. data/lib/puppet/pops/serialization/to_stringified_converter.rb +226 -0
  236. data/lib/puppet/pops/types/iterable.rb +8 -34
  237. data/lib/puppet/pops/types/p_binary_type.rb +1 -2
  238. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  239. data/lib/puppet/pops/types/p_object_type.rb +3 -0
  240. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  241. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  242. data/lib/puppet/pops/types/p_type_set_type.rb +0 -4
  243. data/lib/puppet/pops/types/string_converter.rb +12 -21
  244. data/lib/puppet/pops/types/type_calculator.rb +0 -24
  245. data/lib/puppet/pops/types/type_factory.rb +17 -0
  246. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  247. data/lib/puppet/pops/types/types.rb +7 -32
  248. data/lib/puppet/pops/validation/checker4_0.rb +23 -33
  249. data/lib/puppet/pops/validation/tasks_checker.rb +47 -6
  250. data/lib/puppet/pops/validation/validator_factory_4_0.rb +7 -10
  251. data/lib/puppet/property.rb +1 -1
  252. data/lib/puppet/property/ensure.rb +1 -1
  253. data/lib/puppet/provider.rb +14 -2
  254. data/lib/puppet/provider/exec.rb +58 -59
  255. data/lib/puppet/provider/file/posix.rb +0 -5
  256. data/lib/puppet/provider/file/windows.rb +2 -50
  257. data/lib/puppet/provider/group/aix.rb +2 -18
  258. data/lib/puppet/provider/group/groupadd.rb +19 -19
  259. data/lib/puppet/provider/group/windows_adsi.rb +4 -11
  260. data/lib/puppet/provider/nameservice.rb +28 -11
  261. data/lib/puppet/provider/nameservice/directoryservice.rb +1 -1
  262. data/lib/puppet/provider/nameservice/pw.rb +2 -2
  263. data/lib/puppet/provider/package.rb +0 -2
  264. data/lib/puppet/provider/package/aix.rb +2 -17
  265. data/lib/puppet/provider/package/apt.rb +3 -14
  266. data/lib/puppet/provider/package/dnf.rb +3 -3
  267. data/lib/puppet/provider/package/dpkg.rb +7 -18
  268. data/lib/puppet/provider/package/fink.rb +3 -20
  269. data/lib/puppet/provider/package/gem.rb +43 -105
  270. data/lib/puppet/provider/package/openbsd.rb +2 -14
  271. data/lib/puppet/provider/package/pip.rb +108 -160
  272. data/lib/puppet/provider/package/pip3.rb +1 -1
  273. data/lib/puppet/provider/package/pkg.rb +5 -18
  274. data/lib/puppet/provider/package/pkgdmg.rb +1 -1
  275. data/lib/puppet/provider/package/pkgng.rb +4 -16
  276. data/lib/puppet/provider/package/portage.rb +6 -6
  277. data/lib/puppet/provider/package/puppet_gem.rb +2 -7
  278. data/lib/puppet/provider/package/rpm.rb +33 -82
  279. data/lib/puppet/provider/package/windows.rb +2 -6
  280. data/lib/puppet/provider/package/windows/exe_package.rb +10 -16
  281. data/lib/puppet/provider/package/windows/msi_package.rb +0 -8
  282. data/lib/puppet/provider/package/windows/package.rb +2 -10
  283. data/lib/puppet/provider/package/yum.rb +25 -37
  284. data/lib/puppet/provider/package/zypper.rb +0 -1
  285. data/lib/puppet/provider/parsedfile.rb +5 -26
  286. data/lib/puppet/provider/service/base.rb +1 -1
  287. data/lib/puppet/provider/service/daemontools.rb +9 -9
  288. data/lib/puppet/provider/service/debian.rb +1 -0
  289. data/lib/puppet/provider/service/launchd.rb +8 -39
  290. data/lib/puppet/provider/service/openbsd.rb +1 -1
  291. data/lib/puppet/provider/service/rcng.rb +2 -2
  292. data/lib/puppet/provider/service/runit.rb +8 -2
  293. data/lib/puppet/provider/service/smf.rb +0 -54
  294. data/lib/puppet/provider/service/systemd.rb +24 -35
  295. data/lib/puppet/provider/service/upstart.rb +1 -3
  296. data/lib/puppet/provider/service/windows.rb +3 -23
  297. data/lib/puppet/provider/user/aix.rb +2 -48
  298. data/lib/puppet/provider/user/directoryservice.rb +8 -45
  299. data/lib/puppet/provider/user/hpux.rb +1 -1
  300. data/lib/puppet/provider/user/pw.rb +3 -12
  301. data/lib/puppet/provider/user/user_role_add.rb +1 -5
  302. data/lib/puppet/provider/user/useradd.rb +44 -74
  303. data/lib/puppet/provider/user/windows_adsi.rb +0 -7
  304. data/lib/puppet/reference/indirection.rb +2 -2
  305. data/lib/puppet/reference/metaparameter.rb +3 -1
  306. data/lib/puppet/reference/providers.rb +1 -1
  307. data/lib/puppet/reference/type.rb +9 -3
  308. data/lib/puppet/reports.rb +3 -3
  309. data/lib/puppet/resource.rb +22 -22
  310. data/lib/puppet/resource/catalog.rb +8 -14
  311. data/lib/puppet/resource/type.rb +1 -10
  312. data/lib/puppet/rest/client.rb +83 -0
  313. data/lib/puppet/rest/errors.rb +14 -0
  314. data/lib/puppet/rest/response.rb +34 -0
  315. data/lib/puppet/rest/route.rb +84 -0
  316. data/lib/puppet/rest/routes.rb +154 -0
  317. data/lib/puppet/rest/ssl_context.rb +13 -0
  318. data/lib/puppet/settings.rb +9 -54
  319. data/lib/puppet/settings/config_file.rb +1 -2
  320. data/lib/puppet/settings/environment_conf.rb +0 -1
  321. data/lib/puppet/settings/file_setting.rb +1 -1
  322. data/lib/puppet/settings/server_list_setting.rb +0 -9
  323. data/lib/puppet/ssl.rb +0 -1
  324. data/lib/puppet/ssl/base.rb +1 -9
  325. data/lib/puppet/ssl/certificate.rb +7 -4
  326. data/lib/puppet/ssl/certificate_request.rb +6 -14
  327. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  328. data/lib/puppet/ssl/host.rb +400 -174
  329. data/lib/puppet/ssl/key.rb +1 -5
  330. data/lib/puppet/ssl/oids.rb +3 -3
  331. data/lib/puppet/ssl/validator/default_validator.rb +33 -49
  332. data/lib/puppet/test/test_helper.rb +12 -18
  333. data/lib/puppet/transaction.rb +7 -12
  334. data/lib/puppet/transaction/event.rb +37 -14
  335. data/lib/puppet/transaction/event_manager.rb +3 -11
  336. data/lib/puppet/transaction/persistence.rb +1 -1
  337. data/lib/puppet/transaction/report.rb +1 -1
  338. data/lib/puppet/transaction/resource_harness.rb +2 -5
  339. data/lib/puppet/type.rb +7 -10
  340. data/lib/puppet/type/exec.rb +16 -50
  341. data/lib/puppet/type/file.rb +7 -16
  342. data/lib/puppet/type/file/content.rb +2 -3
  343. data/lib/puppet/type/file/data_sync.rb +1 -5
  344. data/lib/puppet/type/file/mode.rb +2 -7
  345. data/lib/puppet/type/file/source.rb +2 -1
  346. data/lib/puppet/type/filebucket.rb +8 -12
  347. data/lib/puppet/type/group.rb +3 -33
  348. data/lib/puppet/type/notify.rb +2 -3
  349. data/lib/puppet/type/package.rb +18 -154
  350. data/lib/puppet/type/resources.rb +2 -12
  351. data/lib/puppet/type/schedule.rb +34 -96
  352. data/lib/puppet/type/service.rb +10 -9
  353. data/lib/puppet/type/tidy.rb +1 -1
  354. data/lib/puppet/type/user.rb +30 -14
  355. data/lib/puppet/util.rb +28 -52
  356. data/lib/puppet/util/autoload.rb +62 -56
  357. data/lib/puppet/util/character_encoding.rb +0 -22
  358. data/lib/puppet/util/classgen.rb +0 -6
  359. data/lib/puppet/util/command_line.rb +4 -7
  360. data/lib/puppet/util/command_line/trollop.rb +1 -1
  361. data/lib/puppet/util/connection.rb +74 -0
  362. data/lib/puppet/util/execution.rb +7 -22
  363. data/lib/puppet/util/feature.rb +63 -41
  364. data/lib/puppet/util/fileparsing.rb +27 -5
  365. data/lib/puppet/util/filetype.rb +8 -56
  366. data/lib/puppet/util/http_proxy.rb +18 -27
  367. data/lib/puppet/util/instance_loader.rb +3 -21
  368. data/lib/puppet/util/json.rb +0 -8
  369. data/lib/puppet/util/ldap/connection.rb +7 -7
  370. data/lib/puppet/util/log.rb +3 -8
  371. data/lib/puppet/util/log/destinations.rb +13 -5
  372. data/lib/puppet/util/logging.rb +19 -31
  373. data/lib/puppet/util/metric.rb +2 -2
  374. data/lib/puppet/util/monkey_patches.rb +1 -1
  375. data/lib/puppet/util/network_device/base.rb +1 -1
  376. data/lib/puppet/util/pidlock.rb +3 -23
  377. data/lib/puppet/util/platform.rb +3 -0
  378. data/lib/puppet/util/plist.rb +0 -6
  379. data/lib/puppet/util/posix.rb +0 -15
  380. data/lib/puppet/util/provider_features.rb +6 -7
  381. data/lib/puppet/util/rdoc.rb +2 -2
  382. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  383. data/lib/puppet/util/reference.rb +8 -7
  384. data/lib/puppet/util/resource_template.rb +1 -1
  385. data/lib/puppet/util/rubygems.rb +1 -13
  386. data/lib/puppet/util/run_mode.rb +1 -1
  387. data/lib/puppet/util/selinux.rb +3 -9
  388. data/lib/puppet/util/ssl.rb +40 -1
  389. data/lib/puppet/util/storage.rb +1 -13
  390. data/lib/puppet/util/suidmanager.rb +7 -5
  391. data/lib/puppet/util/tag_set.rb +1 -1
  392. data/lib/puppet/util/tagging.rb +1 -1
  393. data/lib/puppet/util/windows.rb +15 -0
  394. data/lib/puppet/util/windows/adsi.rb +7 -116
  395. data/lib/puppet/util/windows/api_types.rb +33 -46
  396. data/lib/puppet/util/windows/eventlog.rb +6 -1
  397. data/lib/puppet/util/windows/principal.rb +6 -8
  398. data/lib/puppet/util/windows/process.rb +3 -94
  399. data/lib/puppet/util/windows/registry.rb +14 -46
  400. data/lib/puppet/util/windows/security.rb +2 -40
  401. data/lib/puppet/util/windows/service.rb +72 -431
  402. data/lib/puppet/util/windows/sid.rb +3 -4
  403. data/lib/puppet/util/windows/user.rb +9 -17
  404. data/lib/puppet/util/yaml.rb +41 -5
  405. data/lib/puppet/vendor.rb +1 -1
  406. data/lib/puppet/version.rb +1 -1
  407. data/lib/puppet_pal.rb +246 -23
  408. data/locales/ja/puppet.po +11128 -0
  409. data/locales/puppet.pot +1321 -2527
  410. data/man/man5/puppet.conf.5 +31 -191
  411. data/man/man8/puppet-agent.8 +2 -2
  412. data/man/man8/puppet-apply.8 +1 -1
  413. data/man/man8/puppet-catalog.8 +1 -1
  414. data/man/man8/puppet-config.8 +3 -3
  415. data/man/man8/puppet-describe.8 +1 -1
  416. data/man/man8/puppet-device.8 +19 -23
  417. data/man/man8/puppet-doc.8 +1 -1
  418. data/man/man8/puppet-epp.8 +1 -1
  419. data/man/man8/puppet-facts.8 +1 -1
  420. data/man/man8/puppet-filebucket.8 +2 -21
  421. data/man/man8/puppet-generate.8 +1 -1
  422. data/man/man8/puppet-help.8 +1 -1
  423. data/man/man8/puppet-key.8 +1 -7
  424. data/man/man8/puppet-lookup.8 +1 -1
  425. data/man/man8/puppet-man.8 +1 -1
  426. data/man/man8/puppet-module.8 +10 -100
  427. data/man/man8/puppet-node.8 +4 -7
  428. data/man/man8/puppet-parser.8 +1 -1
  429. data/man/man8/puppet-plugin.8 +1 -1
  430. data/man/man8/puppet-report.8 +1 -1
  431. data/man/man8/puppet-resource.8 +1 -1
  432. data/man/man8/puppet-script.8 +1 -1
  433. data/man/man8/puppet-ssl.8 +28 -0
  434. data/man/man8/puppet-status.8 +1 -1
  435. data/man/man8/puppet.8 +12 -3
  436. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +22 -0
  437. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +18 -0
  438. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +7 -0
  439. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -6
  440. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -1
  441. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -2
  442. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -9
  443. data/spec/integration/agent/logging_spec.rb +9 -7
  444. data/spec/integration/application/apply_spec.rb +31 -26
  445. data/spec/integration/application/doc_spec.rb +2 -1
  446. data/spec/integration/application/lookup_spec.rb +5 -5
  447. data/spec/integration/configurer_spec.rb +8 -76
  448. data/spec/integration/data_binding_spec.rb +1 -1
  449. data/spec/integration/defaults_spec.rb +13 -16
  450. data/spec/integration/directory_environments_spec.rb +1 -1
  451. data/spec/integration/faces/config_spec.rb +4 -3
  452. data/spec/integration/faces/documentation_spec.rb +1 -0
  453. data/spec/integration/faces/plugin_spec.rb +49 -29
  454. data/spec/integration/file_bucket/file_spec.rb +4 -19
  455. data/spec/integration/file_serving/content_spec.rb +1 -0
  456. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  457. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  458. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  459. data/spec/integration/file_system/uniquefile_spec.rb +26 -29
  460. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  461. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  462. data/spec/integration/indirector/facts/facter_spec.rb +8 -22
  463. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  464. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  465. data/spec/integration/network/authconfig_spec.rb +24 -23
  466. data/spec/integration/network/formats_spec.rb +1 -0
  467. data/spec/integration/network/http/api/indirected_routes_spec.rb +6 -34
  468. data/spec/integration/node/environment_spec.rb +2 -1
  469. data/spec/integration/node/facts_spec.rb +10 -9
  470. data/spec/integration/node_spec.rb +7 -10
  471. data/spec/integration/parser/catalog_spec.rb +8 -6
  472. data/spec/integration/parser/collection_spec.rb +9 -4
  473. data/spec/integration/parser/compiler_spec.rb +7 -25
  474. data/spec/integration/parser/scope_spec.rb +1 -1
  475. data/spec/integration/parser/undef_param_spec.rb +1 -1
  476. data/spec/integration/provider/service/init_spec.rb +9 -6
  477. data/spec/integration/provider/service/systemd_spec.rb +14 -11
  478. data/spec/integration/provider/service/windows_spec.rb +11 -8
  479. data/spec/integration/reference/providers_spec.rb +7 -0
  480. data/spec/integration/reports_spec.rb +2 -1
  481. data/spec/integration/resource/catalog_spec.rb +17 -14
  482. data/spec/integration/resource/type_collection_spec.rb +5 -4
  483. data/spec/integration/ssl/certificate_request_spec.rb +1 -2
  484. data/spec/integration/ssl/host_spec.rb +17 -24
  485. data/spec/integration/ssl/key_spec.rb +7 -2
  486. data/spec/integration/test/test_helper_spec.rb +32 -0
  487. data/spec/integration/transaction/report_spec.rb +14 -9
  488. data/spec/integration/type/exec_spec.rb +2 -1
  489. data/spec/integration/type/file_spec.rb +38 -46
  490. data/spec/integration/type/package_spec.rb +25 -21
  491. data/spec/integration/type/tidy_spec.rb +2 -1
  492. data/spec/integration/type_spec.rb +1 -0
  493. data/spec/integration/util/autoload_spec.rb +11 -7
  494. data/spec/integration/util/execution_spec.rb +5 -32
  495. data/spec/integration/util/rdoc/parser_spec.rb +14 -23
  496. data/spec/integration/util/settings_spec.rb +2 -1
  497. data/spec/integration/util/windows/adsi_spec.rb +8 -11
  498. data/spec/integration/util/windows/principal_spec.rb +2 -1
  499. data/spec/integration/util/windows/process_spec.rb +9 -7
  500. data/spec/integration/util/windows/registry_spec.rb +46 -127
  501. data/spec/integration/util/windows/security_spec.rb +15 -16
  502. data/spec/integration/util/windows/user_spec.rb +29 -66
  503. data/spec/integration/util_spec.rb +10 -7
  504. data/spec/lib/matchers/json.rb +12 -18
  505. data/{lib/puppet/ssl → spec/lib/puppet}/certificate_factory.rb +5 -6
  506. data/spec/lib/puppet/test_ca.rb +109 -0
  507. data/spec/lib/puppet_spec/compiler.rb +28 -1
  508. data/spec/lib/puppet_spec/files.rb +29 -23
  509. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  510. data/spec/lib/puppet_spec/modules.rb +11 -1
  511. data/spec/lib/puppet_spec/scope.rb +2 -1
  512. data/spec/lib/puppet_spec/ssl.rb +265 -0
  513. data/spec/lib/puppet_spec/validators.rb +37 -0
  514. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  515. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  516. data/spec/shared_behaviours/file_serving.rb +8 -6
  517. data/spec/shared_behaviours/file_serving_model.rb +5 -22
  518. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  519. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  520. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  521. data/spec/shared_behaviours/path_parameters.rb +1 -1
  522. data/spec/shared_contexts/types_setup.rb +0 -2
  523. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  524. data/spec/spec_helper.rb +1 -15
  525. data/spec/unit/agent/disabler_spec.rb +5 -4
  526. data/spec/unit/agent/locker_spec.rb +13 -12
  527. data/spec/unit/agent_spec.rb +102 -105
  528. data/spec/unit/application/agent_spec.rb +95 -114
  529. data/spec/unit/application/apply_spec.rb +92 -119
  530. data/spec/unit/application/config_spec.rb +1 -0
  531. data/spec/unit/application/describe_spec.rb +7 -6
  532. data/spec/unit/application/device_spec.rb +180 -181
  533. data/spec/unit/application/doc_spec.rb +46 -44
  534. data/spec/unit/application/face_base_spec.rb +62 -61
  535. data/spec/unit/application/facts_spec.rb +4 -3
  536. data/spec/unit/application/filebucket_spec.rb +74 -66
  537. data/spec/unit/application/indirection_base_spec.rb +6 -8
  538. data/spec/unit/application/lookup_spec.rb +44 -37
  539. data/spec/unit/application/resource_spec.rb +48 -42
  540. data/spec/unit/application/ssl_spec.rb +322 -0
  541. data/spec/unit/application_spec.rb +108 -90
  542. data/spec/unit/capability_spec.rb +15 -16
  543. data/spec/unit/{ssl/certificate_factory_spec.rb → certificate_factory_spec.rb} +13 -20
  544. data/spec/unit/configurer/downloader_spec.rb +22 -31
  545. data/spec/unit/configurer/fact_handler_spec.rb +7 -2
  546. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  547. data/spec/unit/configurer_spec.rb +475 -520
  548. data/spec/unit/confine/exists_spec.rb +15 -17
  549. data/spec/unit/confine/false_spec.rb +6 -32
  550. data/spec/unit/confine/feature_spec.rb +5 -7
  551. data/spec/unit/confine/true_spec.rb +6 -32
  552. data/spec/unit/confine/variable_spec.rb +15 -14
  553. data/spec/unit/confine_collection_spec.rb +29 -28
  554. data/spec/unit/confine_spec.rb +14 -13
  555. data/spec/unit/confiner_spec.rb +11 -10
  556. data/spec/unit/context/trusted_information_spec.rb +4 -3
  557. data/spec/unit/daemon_spec.rb +38 -35
  558. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  559. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  560. data/spec/unit/datatypes_spec.rb +4 -3
  561. data/spec/unit/defaults_spec.rb +61 -32
  562. data/spec/unit/environments_spec.rb +7 -7
  563. data/spec/unit/etc_spec.rb +29 -52
  564. data/spec/unit/external/pson_spec.rb +1 -0
  565. data/spec/unit/face/catalog_spec.rb +1 -0
  566. data/spec/unit/face/config_spec.rb +35 -31
  567. data/spec/unit/face/epp_face_spec.rb +4 -3
  568. data/spec/unit/face/facts_spec.rb +6 -14
  569. data/spec/unit/face/generate_spec.rb +5 -4
  570. data/spec/unit/face/help_spec.rb +8 -7
  571. data/spec/unit/face/key_spec.rb +1 -0
  572. data/spec/unit/face/man_spec.rb +2 -1
  573. data/spec/unit/face/module/install_spec.rb +5 -3
  574. data/spec/unit/face/module/list_spec.rb +12 -62
  575. data/spec/unit/face/module/search_spec.rb +9 -11
  576. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  577. data/spec/unit/face/node_spec.rb +30 -52
  578. data/spec/unit/face/parser_spec.rb +3 -3
  579. data/spec/unit/face/plugin_spec.rb +9 -44
  580. data/spec/unit/face/status_spec.rb +1 -0
  581. data/spec/unit/file_bucket/dipper_spec.rb +24 -28
  582. data/spec/unit/file_bucket/file_spec.rb +2 -0
  583. data/spec/unit/file_serving/base_spec.rb +18 -20
  584. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  585. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  586. data/spec/unit/file_serving/content_spec.rb +11 -10
  587. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  588. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  589. data/spec/unit/file_serving/metadata_spec.rb +40 -40
  590. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  591. data/spec/unit/file_serving/mount/locales_spec.rb +26 -25
  592. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  593. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +26 -25
  594. data/spec/unit/file_serving/mount/plugins_spec.rb +26 -25
  595. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  596. data/spec/unit/file_serving/mount_spec.rb +1 -0
  597. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  598. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  599. data/spec/unit/file_system/path_pattern_spec.rb +1 -1
  600. data/spec/unit/file_system/uniquefile_spec.rb +6 -17
  601. data/spec/unit/file_system_spec.rb +9 -6
  602. data/spec/unit/forge/errors_spec.rb +1 -1
  603. data/spec/unit/forge/forge_spec.rb +16 -15
  604. data/spec/unit/forge/module_release_spec.rb +18 -18
  605. data/spec/unit/forge/repository_spec.rb +30 -27
  606. data/spec/unit/forge_spec.rb +11 -15
  607. data/spec/unit/functions/abs_spec.rb +70 -0
  608. data/spec/unit/functions/binary_file_spec.rb +3 -3
  609. data/spec/unit/functions/call_spec.rb +59 -5
  610. data/spec/unit/functions/camelcase_spec.rb +34 -0
  611. data/spec/unit/functions/capitalize_spec.rb +34 -0
  612. data/spec/unit/functions/ceiling_spec.rb +65 -0
  613. data/spec/unit/functions/chomp_spec.rb +46 -0
  614. data/spec/unit/functions/chop_spec.rb +38 -0
  615. data/spec/unit/functions/compare_spec.rb +147 -0
  616. data/spec/unit/functions/contain_spec.rb +2 -0
  617. data/spec/unit/functions/convert_to_spec.rb +3 -0
  618. data/spec/unit/functions/defined_spec.rb +1 -0
  619. data/spec/unit/functions/downcase_spec.rb +34 -0
  620. data/spec/unit/functions/epp_spec.rb +2 -2
  621. data/spec/unit/functions/filter_spec.rb +4 -4
  622. data/spec/unit/functions/find_file_spec.rb +7 -7
  623. data/spec/unit/functions/floor_spec.rb +65 -0
  624. data/spec/unit/functions/get_spec.rb +135 -0
  625. data/spec/unit/functions/getvar_spec.rb +121 -0
  626. data/spec/unit/functions/hiera_spec.rb +14 -48
  627. data/spec/unit/functions/include_spec.rb +4 -0
  628. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  629. data/spec/unit/functions/lookup_spec.rb +37 -62
  630. data/spec/unit/functions/lstrip_spec.rb +30 -0
  631. data/spec/unit/functions/match_spec.rb +3 -4
  632. data/spec/unit/functions/max_spec.rb +129 -0
  633. data/spec/unit/functions/min_spec.rb +129 -0
  634. data/spec/unit/functions/module_directory_spec.rb +12 -12
  635. data/spec/unit/functions/new_spec.rb +0 -15
  636. data/spec/unit/functions/regsubst_spec.rb +3 -4
  637. data/spec/unit/functions/require_spec.rb +3 -0
  638. data/spec/unit/functions/round_spec.rb +41 -0
  639. data/spec/unit/functions/rstrip_spec.rb +30 -0
  640. data/spec/unit/functions/shared.rb +8 -5
  641. data/spec/unit/functions/size_spec.rb +50 -0
  642. data/spec/unit/functions/sort_spec.rb +79 -0
  643. data/spec/unit/functions/split_spec.rb +3 -4
  644. data/spec/unit/functions/strip_spec.rb +30 -0
  645. data/spec/unit/functions/upcase_spec.rb +34 -0
  646. data/spec/unit/functions/versioncmp_spec.rb +4 -4
  647. data/spec/unit/functions4_spec.rb +78 -51
  648. data/spec/unit/gettext/config_spec.rb +4 -4
  649. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  650. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  651. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  652. data/spec/unit/graph/simple_graph_spec.rb +52 -11
  653. data/spec/unit/hiera/scope_spec.rb +0 -7
  654. data/spec/unit/hiera_puppet_spec.rb +20 -20
  655. data/spec/unit/indirector/catalog/compiler_spec.rb +166 -183
  656. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  657. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  658. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  659. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  660. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  661. data/spec/unit/indirector/certificate/file_spec.rb +1 -8
  662. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  663. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  664. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  665. data/spec/unit/indirector/direct_file_server_spec.rb +49 -57
  666. data/spec/unit/indirector/envelope_spec.rb +2 -1
  667. data/spec/unit/indirector/exec_spec.rb +31 -26
  668. data/spec/unit/indirector/face_spec.rb +9 -9
  669. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  670. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  671. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  672. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  673. data/spec/unit/indirector/facts/yaml_spec.rb +90 -77
  674. data/spec/unit/indirector/file_bucket_file/file_spec.rb +13 -9
  675. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  676. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  677. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  678. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  679. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  680. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  681. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  682. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  683. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  684. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  685. data/spec/unit/indirector/file_server_spec.rb +145 -145
  686. data/spec/unit/indirector/indirection_spec.rb +226 -249
  687. data/spec/unit/indirector/json_spec.rb +9 -7
  688. data/spec/unit/indirector/key/file_spec.rb +22 -38
  689. data/spec/unit/indirector/memory_spec.rb +7 -6
  690. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  691. data/spec/unit/indirector/node/exec_spec.rb +43 -22
  692. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  693. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  694. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  695. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  696. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  697. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  698. data/spec/unit/indirector/none_spec.rb +5 -5
  699. data/spec/unit/indirector/plain_spec.rb +8 -7
  700. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  701. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  702. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  703. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  704. data/spec/unit/indirector/request_spec.rb +18 -15
  705. data/spec/unit/indirector/resource/ral_spec.rb +55 -47
  706. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  707. data/spec/unit/indirector/rest_spec.rb +110 -113
  708. data/spec/unit/indirector/ssl_file_spec.rb +100 -119
  709. data/spec/unit/indirector/status/local_spec.rb +1 -0
  710. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  711. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  712. data/spec/unit/indirector/terminus_spec.rb +30 -32
  713. data/spec/unit/indirector/yaml_spec.rb +90 -68
  714. data/spec/unit/indirector_spec.rb +2 -1
  715. data/spec/unit/info_service_spec.rb +144 -10
  716. data/spec/unit/interface/action_builder_spec.rb +1 -0
  717. data/spec/unit/interface/action_manager_spec.rb +1 -0
  718. data/spec/unit/interface/action_spec.rb +3 -2
  719. data/spec/unit/interface/documentation_spec.rb +1 -0
  720. data/spec/unit/interface/face_collection_spec.rb +12 -19
  721. data/spec/unit/interface_spec.rb +3 -3
  722. data/spec/unit/man_spec.rb +4 -3
  723. data/spec/unit/module_spec.rb +52 -102
  724. data/spec/unit/module_tool/applications/installer_spec.rb +13 -12
  725. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  726. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  727. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  728. data/spec/unit/module_tool/applications/upgrader_spec.rb +6 -6
  729. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  730. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  731. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  732. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  733. data/spec/unit/module_tool/tar_spec.rb +13 -12
  734. data/spec/unit/module_tool_spec.rb +12 -29
  735. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  736. data/spec/unit/network/authconfig_spec.rb +18 -17
  737. data/spec/unit/network/authorization_spec.rb +5 -4
  738. data/spec/unit/network/authstore_spec.rb +1 -0
  739. data/spec/unit/network/format_handler_spec.rb +1 -0
  740. data/spec/unit/network/format_spec.rb +10 -9
  741. data/spec/unit/network/format_support_spec.rb +29 -28
  742. data/spec/unit/network/formats_spec.rb +31 -4
  743. data/spec/unit/network/http/api/indirected_routes_spec.rb +41 -51
  744. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +7 -9
  745. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -2
  746. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  747. data/spec/unit/network/http/api_spec.rb +2 -26
  748. data/spec/unit/network/http/compression_spec.rb +28 -24
  749. data/spec/unit/network/http/connection_spec.rb +122 -72
  750. data/spec/unit/network/http/factory_spec.rb +11 -40
  751. data/spec/unit/network/http/handler_spec.rb +18 -9
  752. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  753. data/spec/unit/network/http/pool_spec.rb +29 -60
  754. data/spec/unit/network/http/request_spec.rb +2 -0
  755. data/spec/unit/network/http/response_spec.rb +13 -11
  756. data/spec/unit/network/http/route_spec.rb +1 -0
  757. data/spec/unit/network/http/session_spec.rb +2 -1
  758. data/spec/unit/network/http/site_spec.rb +1 -0
  759. data/spec/unit/network/http_pool_spec.rb +9 -18
  760. data/spec/unit/network/http_spec.rb +1 -0
  761. data/spec/unit/network/resolver_spec.rb +104 -28
  762. data/spec/unit/network/rights_spec.rb +53 -52
  763. data/spec/unit/node/environment_spec.rb +17 -18
  764. data/spec/unit/node/facts_spec.rb +21 -6
  765. data/spec/unit/node_spec.rb +23 -17
  766. data/spec/unit/other/selinux_spec.rb +1 -71
  767. data/spec/unit/parameter/boolean_spec.rb +2 -1
  768. data/spec/unit/parameter/package_options_spec.rb +2 -1
  769. data/spec/unit/parameter/path_spec.rb +1 -0
  770. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  771. data/spec/unit/parameter/value_spec.rb +1 -0
  772. data/spec/unit/parameter_spec.rb +9 -9
  773. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  774. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  775. data/spec/unit/parser/compiler_spec.rb +96 -84
  776. data/spec/unit/parser/environment_compiler_spec.rb +16 -23
  777. data/spec/unit/parser/files_spec.rb +1 -0
  778. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  779. data/spec/unit/parser/functions/digest_spec.rb +1 -4
  780. data/spec/unit/parser/functions/fail_spec.rb +2 -5
  781. data/spec/unit/parser/functions/file_spec.rb +14 -17
  782. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  783. data/spec/unit/parser/functions/generate_spec.rb +37 -38
  784. data/spec/unit/parser/functions/inline_template_spec.rb +1 -4
  785. data/spec/unit/parser/functions/regsubst_spec.rb +1 -4
  786. data/spec/unit/parser/functions/scanf_spec.rb +1 -4
  787. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  788. data/spec/unit/parser/functions/split_spec.rb +1 -4
  789. data/spec/unit/parser/functions/sprintf_spec.rb +1 -4
  790. data/spec/unit/parser/functions/tag_spec.rb +2 -5
  791. data/spec/unit/parser/functions/tagged_spec.rb +3 -6
  792. data/spec/unit/parser/functions/template_spec.rb +13 -17
  793. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -5
  794. data/spec/unit/parser/functions_spec.rb +29 -3
  795. data/spec/unit/parser/relationship_spec.rb +1 -0
  796. data/spec/unit/parser/resource/param_spec.rb +1 -1
  797. data/spec/unit/parser/resource_spec.rb +42 -42
  798. data/spec/unit/parser/scope_spec.rb +35 -39
  799. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  800. data/spec/unit/parser/type_loader_spec.rb +19 -17
  801. data/spec/unit/pops/adaptable_spec.rb +1 -0
  802. data/spec/unit/pops/benchmark_spec.rb +1 -0
  803. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  804. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +11 -0
  805. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  806. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  807. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  808. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  809. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +78 -18
  810. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  811. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +5 -4
  812. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  813. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  814. data/spec/unit/pops/factory_spec.rb +4 -3
  815. data/spec/unit/pops/issues_spec.rb +20 -19
  816. data/spec/unit/pops/loaders/dependency_loader_spec.rb +2 -2
  817. data/spec/unit/pops/loaders/loader_spec.rb +12 -36
  818. data/spec/unit/pops/loaders/loaders_spec.rb +57 -54
  819. data/spec/unit/pops/loaders/module_loaders_spec.rb +35 -3
  820. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -36
  821. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  822. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  823. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  824. data/spec/unit/pops/migration_spec.rb +5 -3
  825. data/spec/unit/pops/model/model_spec.rb +1 -0
  826. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -0
  827. data/spec/unit/pops/parser/lexer2_spec.rb +60 -21
  828. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  829. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  830. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  831. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  832. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  833. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  834. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  835. data/spec/unit/pops/parser/parse_heredoc_spec.rb +12 -124
  836. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  837. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  838. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  839. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  840. data/spec/unit/pops/pn_spec.rb +1 -0
  841. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  842. data/spec/unit/pops/serialization/serialization_spec.rb +7 -5
  843. data/spec/unit/pops/serialization/to_from_hr_spec.rb +29 -4
  844. data/spec/unit/pops/serialization/to_stringified_spec.rb +157 -0
  845. data/spec/unit/pops/types/deferred_spec.rb +87 -0
  846. data/spec/unit/pops/types/p_object_type_spec.rb +20 -0
  847. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -22
  848. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -19
  849. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  850. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  851. data/spec/unit/pops/types/string_converter_spec.rb +11 -22
  852. data/spec/unit/pops/types/task_spec.rb +148 -16
  853. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  854. data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
  855. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  856. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  857. data/spec/unit/pops/types/types_spec.rb +12 -6
  858. data/spec/unit/pops/validator/validator_spec.rb +162 -82
  859. data/spec/unit/pops/visitor_spec.rb +1 -0
  860. data/spec/unit/property/boolean_spec.rb +1 -1
  861. data/spec/unit/property/ensure_spec.rb +1 -0
  862. data/spec/unit/property/keyvalue_spec.rb +34 -32
  863. data/spec/unit/property/list_spec.rb +27 -26
  864. data/spec/unit/property/ordered_list_spec.rb +14 -10
  865. data/spec/unit/property_spec.rb +53 -43
  866. data/spec/unit/provider/aix_object_spec.rb +45 -47
  867. data/spec/unit/provider/command_spec.rb +9 -9
  868. data/spec/unit/provider/exec/posix_spec.rb +9 -8
  869. data/spec/unit/provider/exec/shell_spec.rb +3 -1
  870. data/spec/unit/provider/exec/windows_spec.rb +6 -4
  871. data/spec/unit/provider/exec_spec.rb +1 -209
  872. data/spec/unit/provider/file/posix_spec.rb +24 -22
  873. data/spec/unit/provider/file/windows_spec.rb +19 -17
  874. data/spec/unit/provider/group/aix_spec.rb +7 -22
  875. data/spec/unit/provider/group/groupadd_spec.rb +27 -60
  876. data/spec/unit/provider/group/ldap_spec.rb +36 -33
  877. data/spec/unit/provider/group/pw_spec.rb +18 -15
  878. data/spec/unit/provider/group/windows_adsi_spec.rb +80 -128
  879. data/spec/unit/provider/ldap_spec.rb +62 -61
  880. data/spec/unit/provider/nameservice/directoryservice_spec.rb +109 -102
  881. data/spec/unit/provider/nameservice_spec.rb +41 -39
  882. data/spec/unit/provider/package/aix_spec.rb +22 -48
  883. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  884. data/spec/unit/provider/package/apt_spec.rb +35 -60
  885. data/spec/unit/provider/package/aptitude_spec.rb +7 -7
  886. data/spec/unit/provider/package/aptrpm_spec.rb +13 -8
  887. data/spec/unit/provider/package/base_spec.rb +4 -4
  888. data/spec/unit/provider/package/dnf_spec.rb +23 -34
  889. data/spec/unit/provider/package/dpkg_spec.rb +72 -114
  890. data/spec/unit/provider/package/freebsd_spec.rb +18 -15
  891. data/spec/unit/provider/package/gem_spec.rb +86 -163
  892. data/spec/unit/provider/package/hpux_spec.rb +18 -15
  893. data/spec/unit/provider/package/macports_spec.rb +54 -56
  894. data/spec/unit/provider/package/nim_spec.rb +49 -33
  895. data/spec/unit/provider/package/openbsd_spec.rb +49 -60
  896. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  897. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  898. data/spec/unit/provider/package/pip3_spec.rb +6 -20
  899. data/spec/unit/provider/package/pip_spec.rb +129 -185
  900. data/spec/unit/provider/package/pkg_spec.rb +119 -129
  901. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  902. data/spec/unit/provider/package/pkgin_spec.rb +23 -20
  903. data/spec/unit/provider/package/pkgng_spec.rb +35 -67
  904. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  905. data/spec/unit/provider/package/portage_spec.rb +76 -72
  906. data/spec/unit/provider/package/puppet_gem_spec.rb +21 -45
  907. data/spec/unit/provider/package/rpm_spec.rb +79 -291
  908. data/spec/unit/provider/package/sun_spec.rb +18 -16
  909. data/spec/unit/provider/package/tdnf_spec.rb +12 -9
  910. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  911. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  912. data/spec/unit/provider/package/windows/exe_package_spec.rb +18 -15
  913. data/spec/unit/provider/package/windows/msi_package_spec.rb +23 -20
  914. data/spec/unit/provider/package/windows/package_spec.rb +43 -38
  915. data/spec/unit/provider/package/windows_spec.rb +36 -51
  916. data/spec/unit/provider/package/yum_spec.rb +24 -128
  917. data/spec/unit/provider/package/zypper_spec.rb +106 -117
  918. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  919. data/spec/unit/provider/service/base_spec.rb +6 -5
  920. data/spec/unit/provider/service/bsd_spec.rb +54 -47
  921. data/spec/unit/provider/service/daemontools_spec.rb +53 -70
  922. data/spec/unit/provider/service/debian_spec.rb +58 -46
  923. data/spec/unit/provider/service/freebsd_spec.rb +23 -20
  924. data/spec/unit/provider/service/gentoo_spec.rb +81 -74
  925. data/spec/unit/provider/service/init_spec.rb +66 -65
  926. data/spec/unit/provider/service/launchd_spec.rb +114 -181
  927. data/spec/unit/provider/service/openbsd_spec.rb +94 -87
  928. data/spec/unit/provider/service/openrc_spec.rb +74 -70
  929. data/spec/unit/provider/service/openwrt_spec.rb +38 -30
  930. data/spec/unit/provider/service/rcng_spec.rb +24 -19
  931. data/spec/unit/provider/service/redhat_spec.rb +60 -60
  932. data/spec/unit/provider/service/runit_spec.rb +44 -61
  933. data/spec/unit/provider/service/smf_spec.rb +74 -143
  934. data/spec/unit/provider/service/src_spec.rb +69 -60
  935. data/spec/unit/provider/service/systemd_spec.rb +160 -222
  936. data/spec/unit/provider/service/upstart_spec.rb +99 -83
  937. data/spec/unit/provider/service/windows_spec.rb +42 -84
  938. data/spec/unit/provider/user/aix_spec.rb +24 -65
  939. data/spec/unit/provider/user/directoryservice_spec.rb +114 -187
  940. data/spec/unit/provider/user/hpux_spec.rb +21 -17
  941. data/spec/unit/provider/user/ldap_spec.rb +83 -80
  942. data/spec/unit/provider/user/openbsd_spec.rb +12 -11
  943. data/spec/unit/provider/user/pw_spec.rb +44 -80
  944. data/spec/unit/provider/user/user_role_add_spec.rb +94 -94
  945. data/spec/unit/provider/user/useradd_spec.rb +100 -208
  946. data/spec/unit/provider/user/windows_adsi_spec.rb +63 -62
  947. data/spec/unit/provider_spec.rb +189 -41
  948. data/spec/unit/puppet_pal_2pec.rb +26 -12
  949. data/spec/unit/puppet_pal_catalog_spec.rb +801 -0
  950. data/spec/unit/puppet_pal_spec.rb +2 -8
  951. data/spec/unit/puppet_spec.rb +7 -27
  952. data/spec/unit/relationship_spec.rb +1 -0
  953. data/spec/unit/reports/http_spec.rb +23 -21
  954. data/spec/unit/reports/store_spec.rb +4 -3
  955. data/spec/unit/reports_spec.rb +14 -12
  956. data/spec/unit/resource/capability_finder_spec.rb +26 -29
  957. data/spec/unit/resource/catalog_spec.rb +77 -81
  958. data/spec/unit/resource/status_spec.rb +8 -6
  959. data/spec/unit/resource/type_collection_spec.rb +18 -17
  960. data/spec/unit/resource/type_spec.rb +35 -34
  961. data/spec/unit/resource_spec.rb +79 -67
  962. data/spec/unit/rest/client_spec.rb +135 -0
  963. data/spec/unit/rest/route_spec.rb +132 -0
  964. data/spec/unit/scheduler/job_spec.rb +1 -0
  965. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  966. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  967. data/spec/unit/settings/array_setting_spec.rb +1 -1
  968. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  969. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  970. data/spec/unit/settings/config_file_spec.rb +10 -0
  971. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  972. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  973. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  974. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  975. data/spec/unit/settings/file_setting_spec.rb +50 -46
  976. data/spec/unit/settings/ini_file_spec.rb +2 -4
  977. data/spec/unit/settings/path_setting_spec.rb +3 -2
  978. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  979. data/spec/unit/settings/string_setting_spec.rb +15 -14
  980. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  981. data/spec/unit/settings/value_translator_spec.rb +1 -0
  982. data/spec/unit/settings_spec.rb +226 -253
  983. data/spec/unit/ssl/base_spec.rb +15 -14
  984. data/spec/unit/ssl/certificate_request_attributes_spec.rb +22 -8
  985. data/spec/unit/ssl/certificate_request_spec.rb +63 -92
  986. data/spec/unit/ssl/certificate_spec.rb +29 -37
  987. data/spec/unit/ssl/digest_spec.rb +1 -0
  988. data/spec/unit/ssl/host_spec.rb +305 -685
  989. data/spec/unit/ssl/key_spec.rb +34 -46
  990. data/spec/unit/ssl/validator_spec.rb +70 -203
  991. data/spec/unit/task_spec.rb +172 -26
  992. data/spec/unit/transaction/additional_resource_generator_spec.rb +68 -67
  993. data/spec/unit/transaction/event_manager_spec.rb +84 -95
  994. data/spec/unit/transaction/event_spec.rb +15 -16
  995. data/spec/unit/transaction/persistence_spec.rb +18 -17
  996. data/spec/unit/transaction/report_spec.rb +24 -18
  997. data/spec/unit/transaction/resource_harness_spec.rb +33 -72
  998. data/spec/unit/transaction_spec.rb +106 -176
  999. data/spec/unit/type/component_spec.rb +1 -0
  1000. data/spec/unit/type/exec_spec.rb +66 -120
  1001. data/spec/unit/type/file/checksum_spec.rb +11 -10
  1002. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  1003. data/spec/unit/type/file/content_spec.rb +62 -65
  1004. data/spec/unit/type/file/ctime_spec.rb +1 -0
  1005. data/spec/unit/type/file/ensure_spec.rb +13 -12
  1006. data/spec/unit/type/file/group_spec.rb +7 -5
  1007. data/spec/unit/type/file/mode_spec.rb +6 -4
  1008. data/spec/unit/type/file/mtime_spec.rb +1 -0
  1009. data/spec/unit/type/file/owner_spec.rb +8 -6
  1010. data/spec/unit/type/file/selinux_spec.rb +19 -17
  1011. data/spec/unit/type/file/source_spec.rb +110 -113
  1012. data/spec/unit/type/file/type_spec.rb +1 -0
  1013. data/spec/unit/type/file_spec.rb +190 -204
  1014. data/spec/unit/type/filebucket_spec.rb +10 -11
  1015. data/spec/unit/type/group_spec.rb +9 -15
  1016. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  1017. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  1018. data/spec/unit/type/package_spec.rb +64 -61
  1019. data/spec/unit/type/resources_spec.rb +101 -103
  1020. data/spec/unit/type/schedule_spec.rb +28 -28
  1021. data/spec/unit/type/service_spec.rb +85 -76
  1022. data/spec/unit/type/stage_spec.rb +1 -0
  1023. data/spec/unit/type/tidy_spec.rb +63 -62
  1024. data/spec/unit/type/user_spec.rb +26 -147
  1025. data/spec/unit/type/whit_spec.rb +1 -0
  1026. data/spec/unit/type_spec.rb +164 -125
  1027. data/spec/unit/util/at_fork_spec.rb +19 -18
  1028. data/spec/unit/util/autoload_spec.rb +122 -93
  1029. data/spec/unit/util/backups_spec.rb +35 -34
  1030. data/spec/unit/util/character_encoding_spec.rb +5 -48
  1031. data/spec/unit/util/checksums_spec.rb +39 -38
  1032. data/spec/unit/util/colors_spec.rb +2 -1
  1033. data/spec/unit/util/command_line_spec.rb +20 -40
  1034. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  1035. data/spec/unit/util/diff_spec.rb +8 -7
  1036. data/spec/unit/util/errors_spec.rb +1 -0
  1037. data/spec/unit/util/execution_spec.rb +167 -285
  1038. data/spec/unit/util/execution_stub_spec.rb +3 -2
  1039. data/spec/unit/util/feature_spec.rb +46 -28
  1040. data/spec/unit/util/filetype_spec.rb +53 -61
  1041. data/spec/unit/util/http_proxy_spec.rb +13 -133
  1042. data/spec/unit/util/inifile_spec.rb +31 -26
  1043. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  1044. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  1045. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  1046. data/spec/unit/util/ldap/manager_spec.rb +102 -118
  1047. data/spec/unit/util/lockfile_spec.rb +2 -1
  1048. data/spec/unit/util/log/destinations_spec.rb +40 -23
  1049. data/spec/unit/util/log_spec.rb +146 -48
  1050. data/spec/unit/util/logging_spec.rb +114 -252
  1051. data/spec/unit/util/metric_spec.rb +1 -0
  1052. data/spec/unit/util/monkey_patches_spec.rb +12 -24
  1053. data/spec/unit/util/multi_match_spec.rb +1 -0
  1054. data/spec/unit/util/network_device/config_spec.rb +1 -0
  1055. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  1056. data/spec/unit/util/network_device_spec.rb +9 -7
  1057. data/spec/unit/util/package_spec.rb +1 -0
  1058. data/spec/unit/util/pidlock_spec.rb +14 -86
  1059. data/spec/unit/util/plist_spec.rb +33 -60
  1060. data/spec/unit/util/posix_spec.rb +47 -78
  1061. data/spec/unit/util/profiler/object_counts_spec.rb +2 -1
  1062. data/spec/unit/util/rdoc_spec.rb +10 -9
  1063. data/spec/unit/util/reference_spec.rb +1 -0
  1064. data/spec/unit/util/resource_template_spec.rb +20 -20
  1065. data/spec/unit/util/retry_action_spec.rb +8 -7
  1066. data/spec/unit/util/rubygems_spec.rb +7 -41
  1067. data/spec/unit/util/run_mode_spec.rb +11 -10
  1068. data/spec/unit/util/selinux_spec.rb +73 -84
  1069. data/spec/unit/util/splayer_spec.rb +9 -8
  1070. data/spec/unit/util/ssl_spec.rb +1 -0
  1071. data/spec/unit/util/storage_spec.rb +17 -111
  1072. data/spec/unit/util/suidmanager_spec.rb +58 -47
  1073. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  1074. data/spec/unit/util/tag_set_spec.rb +9 -1
  1075. data/spec/unit/util/tagging_spec.rb +12 -0
  1076. data/spec/unit/util/terminal_spec.rb +10 -9
  1077. data/spec/unit/util/user_attr_spec.rb +2 -1
  1078. data/spec/unit/util/warnings_spec.rb +4 -3
  1079. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  1080. data/spec/unit/util/watcher_spec.rb +21 -51
  1081. data/spec/unit/util/windows/access_control_entry_spec.rb +2 -1
  1082. data/spec/unit/util/windows/access_control_list_spec.rb +2 -1
  1083. data/spec/unit/util/windows/adsi_spec.rb +134 -278
  1084. data/spec/unit/util/windows/api_types_spec.rb +42 -105
  1085. data/spec/unit/util/windows/eventlog_spec.rb +13 -10
  1086. data/spec/unit/util/windows/file_spec.rb +1 -0
  1087. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  1088. data/spec/unit/util/windows/security_descriptor_spec.rb +3 -1
  1089. data/spec/unit/util/windows/service_spec.rb +180 -432
  1090. data/spec/unit/util/windows/sid_spec.rb +17 -15
  1091. data/spec/unit/util/windows/string_spec.rb +2 -1
  1092. data/spec/unit/util/yaml_spec.rb +162 -28
  1093. data/spec/unit/util_spec.rb +74 -119
  1094. data/spec/unit/version_spec.rb +6 -6
  1095. data/tasks/benchmark.rake +5 -1
  1096. data/tasks/ci.rake +0 -5
  1097. data/tasks/manpages.rake +9 -2
  1098. data/tasks/parser.rake +11 -3
  1099. metadata +156 -473
  1100. data/CODEOWNERS +0 -30
  1101. data/ext/rack/config.ru +0 -44
  1102. data/ext/rack/example-passenger-vhost.conf +0 -57
  1103. data/lib/puppet/application/ca.rb +0 -11
  1104. data/lib/puppet/application/certificate.rb +0 -17
  1105. data/lib/puppet/application/certificate_request.rb +0 -7
  1106. data/lib/puppet/application/certificate_revocation_list.rb +0 -7
  1107. data/lib/puppet/application/master.rb +0 -319
  1108. data/lib/puppet/confine/boolean.rb +0 -45
  1109. data/lib/puppet/external/nagios.rb +0 -46
  1110. data/lib/puppet/external/nagios/base.rb +0 -472
  1111. data/lib/puppet/external/nagios/grammar.ry +0 -248
  1112. data/lib/puppet/external/nagios/makefile +0 -9
  1113. data/lib/puppet/external/nagios/parser.rb +0 -400
  1114. data/lib/puppet/face/ca.rb +0 -266
  1115. data/lib/puppet/face/certificate.rb +0 -167
  1116. data/lib/puppet/face/certificate_request.rb +0 -56
  1117. data/lib/puppet/face/certificate_revocation_list.rb +0 -56
  1118. data/lib/puppet/feature/rack.rb +0 -19
  1119. data/lib/puppet/graph/random_prioritizer.rb +0 -16
  1120. data/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
  1121. data/lib/puppet/indirector/certificate/ca.rb +0 -9
  1122. data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  1123. data/lib/puppet/indirector/certificate_request/ca.rb +0 -22
  1124. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  1125. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
  1126. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  1127. data/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
  1128. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -22
  1129. data/lib/puppet/indirector/certificate_status.rb +0 -4
  1130. data/lib/puppet/indirector/certificate_status/file.rb +0 -91
  1131. data/lib/puppet/indirector/certificate_status/rest.rb +0 -11
  1132. data/lib/puppet/indirector/key/ca.rb +0 -16
  1133. data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  1134. data/lib/puppet/indirector/ldap.rb +0 -86
  1135. data/lib/puppet/indirector/node/ldap.rb +0 -275
  1136. data/lib/puppet/indirector/node/write_only_yaml.rb +0 -39
  1137. data/lib/puppet/module_tool/applications/builder.rb +0 -152
  1138. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +0 -18
  1139. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +0 -89
  1140. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -32
  1141. data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +0 -12
  1142. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +0 -48
  1143. data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +0 -1
  1144. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -6
  1145. data/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
  1146. data/lib/puppet/network/http/api/ca.rb +0 -2
  1147. data/lib/puppet/network/http/api/ca/v1.rb +0 -11
  1148. data/lib/puppet/network/http/rack.rb +0 -33
  1149. data/lib/puppet/network/http/rack/rest.rb +0 -162
  1150. data/lib/puppet/network/http/webrick.rb +0 -124
  1151. data/lib/puppet/network/http/webrick/rest.rb +0 -114
  1152. data/lib/puppet/network/server.rb +0 -39
  1153. data/lib/puppet/provider/augeas/augeas.rb +0 -767
  1154. data/lib/puppet/provider/cisco.rb +0 -9
  1155. data/lib/puppet/provider/computer/computer.rb +0 -20
  1156. data/lib/puppet/provider/cron/crontab.rb +0 -297
  1157. data/lib/puppet/provider/host/parsed.rb +0 -46
  1158. data/lib/puppet/provider/interface/cisco.rb +0 -27
  1159. data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
  1160. data/lib/puppet/provider/mailalias/aliases.rb +0 -50
  1161. data/lib/puppet/provider/maillist/mailman.rb +0 -108
  1162. data/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
  1163. data/lib/puppet/provider/mount.rb +0 -76
  1164. data/lib/puppet/provider/mount/parsed.rb +0 -285
  1165. data/lib/puppet/provider/naginator.rb +0 -63
  1166. data/lib/puppet/provider/package/dnfmodule.rb +0 -141
  1167. data/lib/puppet/provider/package_targetable.rb +0 -69
  1168. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
  1169. data/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
  1170. data/lib/puppet/provider/selmodule/semodule.rb +0 -157
  1171. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
  1172. data/lib/puppet/provider/sshkey/parsed.rb +0 -50
  1173. data/lib/puppet/provider/vlan/cisco.rb +0 -28
  1174. data/lib/puppet/provider/yumrepo/inifile.rb +0 -315
  1175. data/lib/puppet/provider/zfs/zfs.rb +0 -108
  1176. data/lib/puppet/provider/zone/solaris.rb +0 -364
  1177. data/lib/puppet/provider/zpool/zpool.rb +0 -125
  1178. data/lib/puppet/ssl/certificate_authority.rb +0 -554
  1179. data/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
  1180. data/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
  1181. data/lib/puppet/ssl/certificate_revocation_list.rb +0 -111
  1182. data/lib/puppet/ssl/configuration.rb +0 -61
  1183. data/lib/puppet/ssl/inventory.rb +0 -55
  1184. data/lib/puppet/type/augeas.rb +0 -211
  1185. data/lib/puppet/type/computer.rb +0 -66
  1186. data/lib/puppet/type/cron.rb +0 -480
  1187. data/lib/puppet/type/host.rb +0 -95
  1188. data/lib/puppet/type/interface.rb +0 -121
  1189. data/lib/puppet/type/k5login.rb +0 -165
  1190. data/lib/puppet/type/macauthorization.rb +0 -167
  1191. data/lib/puppet/type/mailalias.rb +0 -46
  1192. data/lib/puppet/type/maillist.rb +0 -62
  1193. data/lib/puppet/type/mcx.rb +0 -98
  1194. data/lib/puppet/type/mount.rb +0 -314
  1195. data/lib/puppet/type/nagios_command.rb +0 -3
  1196. data/lib/puppet/type/nagios_contact.rb +0 -3
  1197. data/lib/puppet/type/nagios_contactgroup.rb +0 -3
  1198. data/lib/puppet/type/nagios_host.rb +0 -3
  1199. data/lib/puppet/type/nagios_hostdependency.rb +0 -3
  1200. data/lib/puppet/type/nagios_hostescalation.rb +0 -3
  1201. data/lib/puppet/type/nagios_hostextinfo.rb +0 -3
  1202. data/lib/puppet/type/nagios_hostgroup.rb +0 -3
  1203. data/lib/puppet/type/nagios_service.rb +0 -3
  1204. data/lib/puppet/type/nagios_servicedependency.rb +0 -3
  1205. data/lib/puppet/type/nagios_serviceescalation.rb +0 -3
  1206. data/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
  1207. data/lib/puppet/type/nagios_servicegroup.rb +0 -3
  1208. data/lib/puppet/type/nagios_timeperiod.rb +0 -3
  1209. data/lib/puppet/type/router.rb +0 -17
  1210. data/lib/puppet/type/scheduled_task.rb +0 -183
  1211. data/lib/puppet/type/selboolean.rb +0 -40
  1212. data/lib/puppet/type/selmodule.rb +0 -58
  1213. data/lib/puppet/type/ssh_authorized_key.rb +0 -143
  1214. data/lib/puppet/type/sshkey.rb +0 -83
  1215. data/lib/puppet/type/vlan.rb +0 -26
  1216. data/lib/puppet/type/yumrepo.rb +0 -430
  1217. data/lib/puppet/type/zfs.rb +0 -154
  1218. data/lib/puppet/type/zone.rb +0 -382
  1219. data/lib/puppet/type/zpool.rb +0 -91
  1220. data/lib/puppet/util/methodhelper.rb +0 -32
  1221. data/lib/puppet/util/nagios_maker.rb +0 -85
  1222. data/lib/puppet/util/network_device/cisco.rb +0 -4
  1223. data/lib/puppet/util/network_device/cisco/device.rb +0 -285
  1224. data/lib/puppet/util/network_device/cisco/facts.rb +0 -72
  1225. data/lib/puppet/util/network_device/cisco/interface.rb +0 -94
  1226. data/lib/puppet/util/network_device/ipcalc.rb +0 -68
  1227. data/lib/puppet/util/network_device/transport/ssh.rb +0 -126
  1228. data/lib/puppet/util/network_device/transport/telnet.rb +0 -47
  1229. data/lib/puppet/util/windows/taskscheduler.rb +0 -1267
  1230. data/lib/puppet/vendor/load_semantic.rb +0 -1
  1231. data/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
  1232. data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
  1233. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -11
  1234. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
  1235. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
  1236. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
  1237. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
  1238. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
  1239. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
  1240. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
  1241. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
  1242. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
  1243. data/lib/puppet/vendor/semantic_puppet/locales/config.yaml +0 -21
  1244. data/man/man8/puppet-ca.8 +0 -196
  1245. data/man/man8/puppet-cert.8 +0 -118
  1246. data/man/man8/puppet-certificate.8 +0 -240
  1247. data/man/man8/puppet-certificate_request.8 +0 -161
  1248. data/man/man8/puppet-certificate_revocation_list.8 +0 -139
  1249. data/man/man8/puppet-master.8 +0 -85
  1250. data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +0 -19
  1251. data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +0 -18
  1252. data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +0 -15
  1253. data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +0 -4
  1254. data/spec/fixtures/integration/provider/cron/crontab/modify_entry +0 -13
  1255. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +0 -15
  1256. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +0 -6
  1257. data/spec/fixtures/integration/provider/cron/crontab/purged +0 -8
  1258. data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +0 -12
  1259. data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +0 -14
  1260. data/spec/fixtures/integration/provider/cron/crontab/unspecialized +0 -15
  1261. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +0 -32
  1262. data/spec/fixtures/integration/provider/sshkey/sample +0 -21
  1263. data/spec/fixtures/unit/provider/augeas/augeas/augeas/lenses/test.aug +0 -13
  1264. data/spec/fixtures/unit/provider/augeas/augeas/etc/fstab +0 -10
  1265. data/spec/fixtures/unit/provider/augeas/augeas/etc/hosts +0 -6
  1266. data/spec/fixtures/unit/provider/augeas/augeas/etc/test +0 -3
  1267. data/spec/fixtures/unit/provider/augeas/augeas/test.aug +0 -13
  1268. data/spec/fixtures/unit/provider/host/parsed/valid_hosts +0 -19
  1269. data/spec/fixtures/unit/provider/mount/mount-output.aix.txt +0 -7
  1270. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +0 -152
  1271. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +0 -11
  1272. data/spec/fixtures/unit/provider/mount/parsed/darwin.mount +0 -6
  1273. data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +0 -9
  1274. data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +0 -4
  1275. data/spec/fixtures/unit/provider/mount/parsed/hpux.mount +0 -17
  1276. data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +0 -12
  1277. data/spec/fixtures/unit/provider/mount/parsed/linux.mount +0 -6
  1278. data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +0 -10
  1279. data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +0 -9
  1280. data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +0 -5
  1281. data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +0 -5
  1282. data/spec/fixtures/unit/provider/mount/parsed/solaris.fstab +0 -11
  1283. data/spec/fixtures/unit/provider/mount/parsed/solaris.mount +0 -6
  1284. data/spec/fixtures/unit/provider/naginator/define_empty_param +0 -6
  1285. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1286. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1287. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1288. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1289. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys +0 -7
  1290. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 +0 -3
  1291. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 +0 -1
  1292. data/spec/fixtures/unit/provider/sshkey/parsed/sample +0 -21
  1293. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +0 -8
  1294. data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +0 -2
  1295. data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +0 -2
  1296. data/spec/integration/faces/ca_spec.rb +0 -353
  1297. data/spec/integration/indirector/node/ldap_spec.rb +0 -13
  1298. data/spec/integration/network/http_pool_spec.rb +0 -120
  1299. data/spec/integration/provider/cron/crontab_spec.rb +0 -240
  1300. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1301. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -9
  1302. data/spec/integration/provider/mount_spec.rb +0 -163
  1303. data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -217
  1304. data/spec/integration/provider/sshkey_spec.rb +0 -153
  1305. data/spec/integration/provider/yumrepo_spec.rb +0 -126
  1306. data/spec/integration/ssl/autosign_spec.rb +0 -145
  1307. data/spec/integration/ssl/certificate_authority_spec.rb +0 -161
  1308. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -33
  1309. data/spec/integration/transaction_spec.rb +0 -553
  1310. data/spec/integration/type/nagios_spec.rb +0 -69
  1311. data/spec/integration/type/notify_spec.rb +0 -46
  1312. data/spec/integration/type/user_spec.rb +0 -63
  1313. data/spec/lib/puppet_spec/https.rb +0 -166
  1314. data/spec/unit/application/cert_spec.rb +0 -272
  1315. data/spec/unit/application/certificate_spec.rb +0 -21
  1316. data/spec/unit/application/master_spec.rb +0 -414
  1317. data/spec/unit/face/ca_spec.rb +0 -9
  1318. data/spec/unit/face/certificate_request_spec.rb +0 -9
  1319. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -9
  1320. data/spec/unit/face/certificate_spec.rb +0 -228
  1321. data/spec/unit/face/module/build_spec.rb +0 -69
  1322. data/spec/unit/graph/title_hash_prioritizer_spec.rb +0 -50
  1323. data/spec/unit/indirector/certificate/ca_spec.rb +0 -21
  1324. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -32
  1325. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -56
  1326. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -32
  1327. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -15
  1328. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -32
  1329. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -16
  1330. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -33
  1331. data/spec/unit/indirector/certificate_status/file_spec.rb +0 -190
  1332. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -17
  1333. data/spec/unit/indirector/code_spec.rb +0 -30
  1334. data/spec/unit/indirector/key/ca_spec.rb +0 -22
  1335. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -32
  1336. data/spec/unit/indirector/ldap_spec.rb +0 -151
  1337. data/spec/unit/indirector/node/ldap_spec.rb +0 -463
  1338. data/spec/unit/indirector/node/write_only_yaml_spec.rb +0 -11
  1339. data/spec/unit/module_tool/applications/builder_spec.rb +0 -439
  1340. data/spec/unit/network/http/api/ca/v1_spec.rb +0 -26
  1341. data/spec/unit/network/http/rack/rest_spec.rb +0 -322
  1342. data/spec/unit/network/http/rack_spec.rb +0 -42
  1343. data/spec/unit/network/http/webrick/rest_spec.rb +0 -230
  1344. data/spec/unit/network/http/webrick_spec.rb +0 -277
  1345. data/spec/unit/network/server_spec.rb +0 -94
  1346. data/spec/unit/provider/augeas/augeas_spec.rb +0 -1096
  1347. data/spec/unit/provider/cisco_spec.rb +0 -14
  1348. data/spec/unit/provider/cron/crontab_spec.rb +0 -206
  1349. data/spec/unit/provider/cron/parsed_spec.rb +0 -355
  1350. data/spec/unit/provider/host/parsed_spec.rb +0 -219
  1351. data/spec/unit/provider/interface/cisco_spec.rb +0 -53
  1352. data/spec/unit/provider/macauthorization_spec.rb +0 -134
  1353. data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -190
  1354. data/spec/unit/provider/mount/parsed_spec.rb +0 -318
  1355. data/spec/unit/provider/mount_spec.rb +0 -169
  1356. data/spec/unit/provider/naginator_spec.rb +0 -78
  1357. data/spec/unit/provider/network_device_spec.rb +0 -152
  1358. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -247
  1359. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1360. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +0 -2050
  1361. data/spec/unit/provider/selboolean_spec.rb +0 -34
  1362. data/spec/unit/provider/selmodule-example.pp +0 -0
  1363. data/spec/unit/provider/selmodule_spec.rb +0 -154
  1364. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -259
  1365. data/spec/unit/provider/sshkey/parsed_spec.rb +0 -92
  1366. data/spec/unit/provider/vlan/cisco_spec.rb +0 -53
  1367. data/spec/unit/provider/yumrepo/inifile_spec.rb +0 -413
  1368. data/spec/unit/provider/zfs/zfs_spec.rb +0 -171
  1369. data/spec/unit/provider/zone/solaris_spec.rb +0 -261
  1370. data/spec/unit/provider/zpool/zpool_spec.rb +0 -250
  1371. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1372. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +0 -29
  1373. data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -563
  1374. data/spec/unit/ssl/certificate_authority_spec.rb +0 -1165
  1375. data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -196
  1376. data/spec/unit/ssl/configuration_spec.rb +0 -138
  1377. data/spec/unit/ssl/inventory_spec.rb +0 -155
  1378. data/spec/unit/test/test_helper_spec.rb +0 -17
  1379. data/spec/unit/type/augeas_spec.rb +0 -120
  1380. data/spec/unit/type/computer_spec.rb +0 -77
  1381. data/spec/unit/type/cron_spec.rb +0 -539
  1382. data/spec/unit/type/host_spec.rb +0 -680
  1383. data/spec/unit/type/interface_spec.rb +0 -128
  1384. data/spec/unit/type/k5login_spec.rb +0 -204
  1385. data/spec/unit/type/macauthorization_spec.rb +0 -111
  1386. data/spec/unit/type/mailalias_spec.rb +0 -48
  1387. data/spec/unit/type/maillist_spec.rb +0 -38
  1388. data/spec/unit/type/mcx_spec.rb +0 -75
  1389. data/spec/unit/type/mount_spec.rb +0 -622
  1390. data/spec/unit/type/nagios_spec.rb +0 -312
  1391. data/spec/unit/type/scheduled_task_spec.rb +0 -117
  1392. data/spec/unit/type/selboolean_spec.rb +0 -41
  1393. data/spec/unit/type/selmodule_spec.rb +0 -16
  1394. data/spec/unit/type/ssh_authorized_key_spec.rb +0 -228
  1395. data/spec/unit/type/sshkey_spec.rb +0 -75
  1396. data/spec/unit/type/vlan_spec.rb +0 -42
  1397. data/spec/unit/type/yumrepo_spec.rb +0 -476
  1398. data/spec/unit/type/zfs_spec.rb +0 -45
  1399. data/spec/unit/type/zone_spec.rb +0 -182
  1400. data/spec/unit/type/zpool_spec.rb +0 -108
  1401. data/spec/unit/util/nagios_maker_spec.rb +0 -121
  1402. data/spec/unit/util/network_device/cisco/device_spec.rb +0 -491
  1403. data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -63
  1404. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -97
  1405. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -61
  1406. data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -252
  1407. data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -90
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/settings'
@@ -18,13 +19,13 @@ describe Puppet::Settings::FileSetting do
18
19
  :service_group_available? => false
19
20
  }.merge(wanted_values)
20
21
 
21
- settings = double("settings")
22
+ settings = mock("settings")
22
23
 
23
- allow(settings).to receive(:[]).with(:user).and_return(real_values[:user])
24
- allow(settings).to receive(:[]).with(:group).and_return(real_values[:group])
25
- allow(settings).to receive(:[]).with(:mkusers).and_return(real_values[:mkusers])
26
- allow(settings).to receive(:service_user_available?).and_return(real_values[:service_user_available?])
27
- allow(settings).to receive(:service_group_available?).and_return(real_values[:service_group_available?])
24
+ settings.stubs(:[]).with(:user).returns real_values[:user]
25
+ settings.stubs(:[]).with(:group).returns real_values[:group]
26
+ settings.stubs(:[]).with(:mkusers).returns real_values[:mkusers]
27
+ settings.stubs(:service_user_available?).returns real_values[:service_user_available?]
28
+ settings.stubs(:service_group_available?).returns real_values[:service_group_available?]
28
29
 
29
30
  settings
30
31
  end
@@ -119,16 +120,16 @@ describe Puppet::Settings::FileSetting do
119
120
  end
120
121
 
121
122
  it "should be able to be converted into a resource" do
122
- expect(FileSetting.new(:settings => double("settings"), :desc => "eh")).to respond_to(:to_resource)
123
+ expect(FileSetting.new(:settings => mock("settings"), :desc => "eh")).to respond_to(:to_resource)
123
124
  end
124
125
 
125
126
  describe "when being converted to a resource" do
126
127
  before do
127
128
  @basepath = make_absolute("/somepath")
128
- @settings = double('settings')
129
+ @settings = mock 'settings'
129
130
  @file = Puppet::Settings::FileSetting.new(:settings => @settings, :desc => "eh", :name => :myfile, :section => "mysect")
130
- allow(@file).to receive(:create_files?).and_return(true)
131
- allow(@settings).to receive(:value).with(:myfile, nil, false).and_return(@basepath)
131
+ @file.stubs(:create_files?).returns true
132
+ @settings.stubs(:value).with(:myfile, nil, false).returns @basepath
132
133
  end
133
134
 
134
135
  it "should return :file as its type" do
@@ -136,29 +137,29 @@ describe Puppet::Settings::FileSetting do
136
137
  end
137
138
 
138
139
  it "should skip non-existent files if 'create_files' is not enabled" do
139
- expect(@file).to receive(:create_files?).and_return(false)
140
- expect(@file).to receive(:type).and_return(:file)
141
- expect(Puppet::FileSystem).to receive(:exist?).with(@basepath).and_return(false)
140
+ @file.expects(:create_files?).returns false
141
+ @file.expects(:type).returns :file
142
+ Puppet::FileSystem.expects(:exist?).with(@basepath).returns false
142
143
  expect(@file.to_resource).to be_nil
143
144
  end
144
145
 
145
146
  it "should manage existent files even if 'create_files' is not enabled" do
146
- expect(@file).to receive(:create_files?).and_return(false)
147
- expect(@file).to receive(:type).and_return(:file)
148
- allow(Puppet::FileSystem).to receive(:exist?)
149
- expect(Puppet::FileSystem).to receive(:exist?).with(@basepath).and_return(true)
147
+ @file.expects(:create_files?).returns false
148
+ @file.expects(:type).returns :file
149
+ Puppet::FileSystem.stubs(:exist?)
150
+ Puppet::FileSystem.expects(:exist?).with(@basepath).returns true
150
151
  expect(@file.to_resource).to be_instance_of(Puppet::Resource)
151
152
  end
152
153
 
153
154
  describe "on POSIX systems", :if => Puppet.features.posix? do
154
155
  it "should skip files in /dev" do
155
- allow(@settings).to receive(:value).with(:myfile, nil, false).and_return("/dev/file")
156
+ @settings.stubs(:value).with(:myfile, nil, false).returns "/dev/file"
156
157
  expect(@file.to_resource).to be_nil
157
158
  end
158
159
  end
159
160
 
160
161
  it "should skip files whose paths are not strings" do
161
- allow(@settings).to receive(:value).with(:myfile, nil, false).and_return(:foo)
162
+ @settings.stubs(:value).with(:myfile, nil, false).returns :foo
162
163
  expect(@file.to_resource).to be_nil
163
164
  end
164
165
 
@@ -168,14 +169,14 @@ describe Puppet::Settings::FileSetting do
168
169
  expect(resource.title).to eq(@basepath)
169
170
  end
170
171
 
171
- it "should have a working directory with a root directory not called dev", :if => Puppet.features.microsoft_windows? do
172
+ it "should have a working directory with a root directory not called dev", :if => Puppet::Util::Platform.windows? do
172
173
  # Although C:\Dev\.... is a valid path on Windows, some other code may regard it as a path to be ignored. e.g. /dev/null resolves to C:\dev\null on Windows.
173
174
  path = File.expand_path('somefile')
174
175
  expect(path).to_not match(/^[A-Z]:\/dev/i)
175
176
  end
176
177
 
177
178
  it "should fully qualified returned files if necessary (#795)" do
178
- allow(@settings).to receive(:value).with(:myfile, nil, false).and_return("myfile")
179
+ @settings.stubs(:value).with(:myfile, nil, false).returns "myfile"
179
180
  path = File.expand_path('myfile')
180
181
  expect(@file.to_resource.title).to eq(path)
181
182
  end
@@ -197,79 +198,82 @@ describe Puppet::Settings::FileSetting do
197
198
  it "should not set the mode on a the file if manage_internal_file_permissions is disabled" do
198
199
  Puppet[:manage_internal_file_permissions] = false
199
200
 
200
- allow(@file).to receive(:mode).and_return(0755)
201
+ @file.stubs(:mode).returns(0755)
201
202
 
202
203
  expect(@file.to_resource[:mode]).to eq(nil)
203
204
  end
204
205
 
205
206
  it "should set the owner if running as root and the owner is provided" do
206
207
  Puppet[:manage_internal_file_permissions] = true
207
- expect(Puppet.features).to receive(:root?).and_return(true)
208
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
208
+ Puppet.features.expects(:root?).returns true
209
+ Puppet::Util::Platform.stubs(:windows?).returns false
210
+ @file.stubs(:owner).returns "foo"
209
211
 
210
- allow(@file).to receive(:owner).and_return("foo")
211
212
  expect(@file.to_resource[:owner]).to eq("foo")
212
213
  end
213
214
 
214
215
  it "should not set the owner if manage_internal_file_permissions is disabled" do
215
216
  Puppet[:manage_internal_file_permissions] = false
216
- allow(Puppet.features).to receive(:root?).and_return(true)
217
- allow(@file).to receive(:owner).and_return("foo")
217
+ Puppet.features.stubs(:root?).returns true
218
+ @file.stubs(:owner).returns "foo"
218
219
 
219
220
  expect(@file.to_resource[:owner]).to eq(nil)
220
221
  end
221
222
 
222
223
  it "should set the group if running as root and the group is provided" do
223
224
  Puppet[:manage_internal_file_permissions] = true
224
- expect(Puppet.features).to receive(:root?).and_return(true)
225
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
225
+ Puppet.features.expects(:root?).returns true
226
+ Puppet::Util::Platform.stubs(:windows?).returns false
227
+ @file.stubs(:group).returns "foo"
226
228
 
227
- allow(@file).to receive(:group).and_return("foo")
228
229
  expect(@file.to_resource[:group]).to eq("foo")
229
230
  end
230
231
 
231
232
  it "should not set the group if manage_internal_file_permissions is disabled" do
232
233
  Puppet[:manage_internal_file_permissions] = false
233
- allow(Puppet.features).to receive(:root?).and_return(true)
234
- allow(@file).to receive(:group).and_return("foo")
234
+ Puppet.features.stubs(:root?).returns true
235
+ @file.stubs(:group).returns "foo"
235
236
 
236
237
  expect(@file.to_resource[:group]).to eq(nil)
237
238
  end
238
239
 
240
+
239
241
  it "should not set owner if not running as root" do
240
242
  Puppet[:manage_internal_file_permissions] = true
241
- expect(Puppet.features).to receive(:root?).and_return(false)
242
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
243
- allow(@file).to receive(:owner).and_return("foo")
243
+ Puppet.features.expects(:root?).returns false
244
+ Puppet::Util::Platform.stubs(:windows?).returns false
245
+ @file.stubs(:owner).returns "foo"
246
+
244
247
  expect(@file.to_resource[:owner]).to be_nil
245
248
  end
246
249
 
247
250
  it "should not set group if not running as root" do
248
251
  Puppet[:manage_internal_file_permissions] = true
249
- expect(Puppet.features).to receive(:root?).and_return(false)
250
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
251
- allow(@file).to receive(:group).and_return("foo")
252
+ Puppet.features.expects(:root?).returns false
253
+ Puppet::Util::Platform.stubs(:windows?).returns false
254
+ @file.stubs(:group).returns "foo"
255
+
252
256
  expect(@file.to_resource[:group]).to be_nil
253
257
  end
254
258
 
255
259
  describe "on Microsoft Windows systems" do
256
260
  before :each do
257
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(true)
261
+ Puppet::Util::Platform.stubs(:windows?).returns true
258
262
  end
259
263
 
260
264
  it "should not set owner" do
261
- allow(@file).to receive(:owner).and_return("foo")
265
+ @file.stubs(:owner).returns "foo"
262
266
  expect(@file.to_resource[:owner]).to be_nil
263
267
  end
264
268
 
265
269
  it "should not set group" do
266
- allow(@file).to receive(:group).and_return("foo")
270
+ @file.stubs(:group).returns "foo"
267
271
  expect(@file.to_resource[:group]).to be_nil
268
272
  end
269
273
  end
270
274
 
271
275
  it "should set :ensure to the file type" do
272
- expect(@file).to receive(:type).and_return(:directory)
276
+ @file.expects(:type).returns :directory
273
277
  expect(@file.to_resource[:ensure]).to eq(:directory)
274
278
  end
275
279
 
@@ -282,7 +286,7 @@ describe Puppet::Settings::FileSetting do
282
286
  end
283
287
 
284
288
  it "should tag the resource with the settings section" do
285
- expect(@file).to receive(:section).and_return("mysect")
289
+ @file.expects(:section).returns "mysect"
286
290
  expect(@file.to_resource).to be_tagged("mysect")
287
291
  end
288
292
 
@@ -301,18 +305,18 @@ describe Puppet::Settings::FileSetting do
301
305
 
302
306
  describe "#munge" do
303
307
  it 'does not expand the path of the special value :memory: so we can set dblocation to an in-memory database' do
304
- filesetting = FileSetting.new(:settings => double("settings"), :desc => "eh")
308
+ filesetting = FileSetting.new(:settings => mock("settings"), :desc => "eh")
305
309
  expect(filesetting.munge(':memory:')).to eq(':memory:')
306
310
  end
307
311
  end
308
312
 
309
- context "when opening", :unless => Puppet.features.microsoft_windows? do
313
+ context "when opening", :unless => Puppet::Util::Platform.windows? do
310
314
  let(:path) do
311
315
  tmpfile('file_setting_spec')
312
316
  end
313
317
 
314
318
  let(:setting) do
315
- settings = double("settings", :value => path)
319
+ settings = mock("settings", :value => path)
316
320
  FileSetting.new(:name => :mysetting, :desc => "creates a file", :settings => settings)
317
321
  end
318
322
 
@@ -154,7 +154,7 @@ name = value
154
154
  # this is the preceding comment
155
155
  [section]
156
156
  ascii = foo
157
- #{mixed_utf8} = bar
157
+ A\u06FF\u16A0\u{2070E} = bar
158
158
  # this is the trailing comment
159
159
  CONFIG
160
160
 
@@ -544,9 +544,7 @@ new = new value
544
544
  end
545
545
  end
546
546
 
547
-
548
547
  def a_config_file_containing(text)
549
- # set_encoding required for Ruby 1.9.3 as ASCII is the default
550
- StringIO.new(text).set_encoding(Encoding::UTF_8)
548
+ StringIO.new(text.encode(Encoding::UTF_8))
551
549
  end
552
550
  end
@@ -1,7 +1,8 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Settings::PathSetting do
4
- subject { described_class.new(:settings => double('settings'), :desc => "test") }
5
+ subject { described_class.new(:settings => mock('settings'), :desc => "test") }
5
6
 
6
7
  context "#munge" do
7
8
  it "should expand all path elements" do
@@ -15,7 +16,7 @@ describe Puppet::Settings::PathSetting do
15
16
  expect(subject.munge(nil)).to be_nil
16
17
  end
17
18
 
18
- context "on Windows", :if => Puppet.features.microsoft_windows? do
19
+ context "on Windows", :if => Puppet::Util::Platform.windows? do
19
20
  it "should convert \\ to /" do
20
21
  expect(subject.munge('C:\test\directory')).to eq('C:/test/directory')
21
22
  end
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/settings'
@@ -5,7 +6,7 @@ require 'puppet/settings/priority_setting'
5
6
  require 'puppet/util/platform'
6
7
 
7
8
  describe Puppet::Settings::PrioritySetting do
8
- let(:setting) { described_class.new(:settings => double('settings'), :desc => "test") }
9
+ let(:setting) { described_class.new(:settings => mock('settings'), :desc => "test") }
9
10
 
10
11
  it "is of type :priority" do
11
12
  expect(setting.type).to eq(:priority)
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/settings'
@@ -7,21 +8,21 @@ describe Puppet::Settings::StringSetting do
7
8
  StringSetting = Puppet::Settings::StringSetting
8
9
 
9
10
  before(:each) do
10
- @test_setting_name = :test_setting
11
+ @test_setting_name = :test_setting
11
12
  @test_setting_default = "my_crazy_default/$var"
12
13
  @application_setting = "application/$var"
13
- @application_defaults = { }
14
+ @application_defaults = { }
14
15
  Puppet::Settings::REQUIRED_APP_SETTINGS.each do |key|
15
16
  @application_defaults[key] = "foo"
16
17
  end
17
18
  @application_defaults[:run_mode] = :user
18
19
  @settings = Puppet::Settings.new
19
20
  @application_defaults.each { |k,v| @settings.define_settings :main, k => {:default=>"", :desc => "blah"} }
20
- @settings.define_settings :main, :var => { :default => "interpolate!",
21
- :type => :string,
21
+ @settings.define_settings :main, :var => { :default => "interpolate!",
22
+ :type => :string,
22
23
  :desc => "my var desc" },
23
- @test_setting_name => { :default => @test_setting_default,
24
- :type => :string,
24
+ @test_setting_name => { :default => @test_setting_default,
25
+ :type => :string,
25
26
  :desc => "my test desc" }
26
27
  @test_setting = @settings.setting(@test_setting_name)
27
28
  end
@@ -31,40 +32,40 @@ describe Puppet::Settings::StringSetting do
31
32
  it "should return the setting default" do
32
33
  expect(@test_setting.default).to eq(@test_setting_default)
33
34
  end
34
-
35
+
35
36
  it "should be uninterpolated" do
36
37
  expect(@test_setting.default).not_to match(/interpolate/)
37
38
  end
38
39
  end
39
-
40
+
40
41
  describe "checking application defaults first" do
41
42
  describe "if application defaults set" do
42
43
  before(:each) do
43
44
  @settings.initialize_app_defaults @application_defaults.merge @test_setting_name => @application_setting
44
45
  end
45
-
46
+
46
47
  it "should return the application-set default" do
47
48
  expect(@test_setting.default(true)).to eq(@application_setting)
48
49
  end
49
-
50
+
50
51
  it "should be uninterpolated" do
51
52
  expect(@test_setting.default(true)).not_to match(/interpolate/)
52
53
  end
53
-
54
+
54
55
  end
55
-
56
+
56
57
  describe "if application defaults not set" do
57
58
  it "should return the regular default" do
58
59
  expect(@test_setting.default(true)).to eq(@test_setting_default)
59
60
  end
60
-
61
+
61
62
  it "should be uninterpolated" do
62
63
  expect(@test_setting.default(true)).not_to match(/interpolate/)
63
64
  end
64
65
  end
65
66
  end
66
67
  end
67
-
68
+
68
69
  describe "#value" do
69
70
  it "should be interpolated" do
70
71
  expect(@test_setting.value).to match(/interpolate/)
@@ -1,7 +1,8 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Settings::TerminusSetting do
4
- let(:setting) { described_class.new(:settings => double('settings'), :desc => "test") }
5
+ let(:setting) { described_class.new(:settings => mock('settings'), :desc => "test") }
5
6
 
6
7
  describe "#munge" do
7
8
  it "converts strings to symbols" do
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby -S rspec
1
2
  require 'spec_helper'
2
3
  require 'puppet/settings/value_translator'
3
4
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'ostruct'
3
4
  require 'puppet/settings/errors'
@@ -290,36 +291,37 @@ describe Puppet::Settings do
290
291
  end
291
292
 
292
293
  it "should identify configured settings in memory" do
293
- expect(@settings.instance_variable_get(:@value_sets)[:memory]).to receive(:lookup).with(:myval).and_return('foo')
294
+ @settings.instance_variable_get(:@value_sets)[:memory].expects(:lookup).with(:myval).returns('foo')
294
295
  expect(@settings.set_by_config?(:myval)).to be_truthy
295
296
  end
296
297
 
297
298
  it "should identify configured settings from CLI" do
298
- expect(@settings.instance_variable_get(:@value_sets)[:cli]).to receive(:lookup).with(:myval).and_return('foo')
299
+ @settings.instance_variable_get(:@value_sets)[:cli].expects(:lookup).with(:myval).returns('foo')
299
300
  expect(@settings.set_by_config?(:myval)).to be_truthy
300
301
  end
301
302
 
302
303
  it "should not identify configured settings from environment by default" do
303
- expect(Puppet.lookup(:environments)).not_to receive(:get_conf).with(Puppet[:environment].to_sym)
304
+ Puppet.lookup(:environments).expects(:get_conf).with(Puppet[:environment].to_sym).never
304
305
  expect(@settings.set_by_config?(:manifest)).to be_falsey
305
306
  end
306
307
 
307
308
  it "should identify configured settings from environment by when an environment is specified" do
308
- foo = double('environment', :manifest => 'foo')
309
- expect(Puppet.lookup(:environments)).to receive(:get_conf).with(Puppet[:environment].to_sym).and_return(foo)
309
+ foo = mock('environment', :manifest => 'foo')
310
+ Puppet.lookup(:environments).expects(:get_conf).with(Puppet[:environment].to_sym).returns(foo)
310
311
  expect(@settings.set_by_config?(:manifest, Puppet[:environment])).to be_truthy
311
312
  end
312
313
 
313
314
  it "should identify configured settings from the preferred run mode" do
314
315
  user_config_text = "[#{@settings.preferred_run_mode}]\nmyval = foo"
316
+ seq = sequence "config_file_sequence"
315
317
 
316
- allow(Puppet.features).to receive(:root?).and_return(false)
317
- expect(Puppet::FileSystem).to receive(:exist?).
318
+ Puppet.features.stubs(:root?).returns(false)
319
+ Puppet::FileSystem.expects(:exist?).
318
320
  with(user_config_file_default_location).
319
- and_return(true).ordered
320
- expect(@settings).to receive(:read_file).
321
+ returns(true).in_sequence(seq)
322
+ @settings.expects(:read_file).
321
323
  with(user_config_file_default_location).
322
- and_return(user_config_text).ordered
324
+ returns(user_config_text).in_sequence(seq)
323
325
 
324
326
  @settings.send(:parse_config_files)
325
327
  expect(@settings.set_by_config?(:myval)).to be_truthy
@@ -327,14 +329,15 @@ describe Puppet::Settings do
327
329
 
328
330
  it "should identify configured settings from the specified run mode" do
329
331
  user_config_text = "[master]\nmyval = foo"
332
+ seq = sequence "config_file_sequence"
330
333
 
331
- allow(Puppet.features).to receive(:root?).and_return(false)
332
- expect(Puppet::FileSystem).to receive(:exist?).
334
+ Puppet.features.stubs(:root?).returns(false)
335
+ Puppet::FileSystem.expects(:exist?).
333
336
  with(user_config_file_default_location).
334
- and_return(true).ordered
335
- expect(@settings).to receive(:read_file).
337
+ returns(true).in_sequence(seq)
338
+ @settings.expects(:read_file).
336
339
  with(user_config_file_default_location).
337
- and_return(user_config_text).ordered
340
+ returns(user_config_text).in_sequence(seq)
338
341
 
339
342
  @settings.send(:parse_config_files)
340
343
  expect(@settings.set_by_config?(:myval, nil, :master)).to be_truthy
@@ -342,14 +345,15 @@ describe Puppet::Settings do
342
345
 
343
346
  it "should not identify configured settings from an unspecified run mode" do
344
347
  user_config_text = "[zaz]\nmyval = foo"
348
+ seq = sequence "config_file_sequence"
345
349
 
346
- allow(Puppet.features).to receive(:root?).and_return(false)
347
- expect(Puppet::FileSystem).to receive(:exist?).
350
+ Puppet.features.stubs(:root?).returns(false)
351
+ Puppet::FileSystem.expects(:exist?).
348
352
  with(user_config_file_default_location).
349
- and_return(true).ordered
350
- expect(@settings).to receive(:read_file).
353
+ returns(true).in_sequence(seq)
354
+ @settings.expects(:read_file).
351
355
  with(user_config_file_default_location).
352
- and_return(user_config_text).ordered
356
+ returns(user_config_text).in_sequence(seq)
353
357
 
354
358
  @settings.send(:parse_config_files)
355
359
  expect(@settings.set_by_config?(:myval)).to be_falsey
@@ -357,14 +361,15 @@ describe Puppet::Settings do
357
361
 
358
362
  it "should identify configured settings from the main section" do
359
363
  user_config_text = "[main]\nmyval = foo"
364
+ seq = sequence "config_file_sequence"
360
365
 
361
- allow(Puppet.features).to receive(:root?).and_return(false)
362
- expect(Puppet::FileSystem).to receive(:exist?).
366
+ Puppet.features.stubs(:root?).returns(false)
367
+ Puppet::FileSystem.expects(:exist?).
363
368
  with(user_config_file_default_location).
364
- and_return(true).ordered
365
- expect(@settings).to receive(:read_file).
369
+ returns(true).in_sequence(seq)
370
+ @settings.expects(:read_file).
366
371
  with(user_config_file_default_location).
367
- and_return(user_config_text).ordered
372
+ returns(user_config_text).in_sequence(seq)
368
373
 
369
374
  @settings.send(:parse_config_files)
370
375
  expect(@settings.set_by_config?(:myval)).to be_truthy
@@ -374,14 +379,14 @@ describe Puppet::Settings do
374
379
  @settings.define_settings :mysection,
375
380
  :one => { :default => "whah", :desc => "yay" },
376
381
  :two => { :default => "$one yay", :desc => "bah" }
377
- expect(@settings).to receive(:unsafe_flush_cache)
382
+ @settings.expects(:unsafe_flush_cache)
378
383
  expect(@settings[:two]).to eq("whah yay")
379
384
  @settings.handlearg("--one", "else")
380
385
  expect(@settings[:two]).to eq("else yay")
381
386
  end
382
387
 
383
388
  it "should clear the cache when the preferred_run_mode is changed" do
384
- expect(@settings).to receive(:flush_cache)
389
+ @settings.expects(:flush_cache)
385
390
  @settings.preferred_run_mode = :master
386
391
  end
387
392
 
@@ -392,7 +397,7 @@ describe Puppet::Settings do
392
397
  end
393
398
 
394
399
  it "should clear the list of used sections" do
395
- expect(@settings).to receive(:clearused)
400
+ @settings.expects(:clearused)
396
401
  @settings[:myval] = "yay"
397
402
  end
398
403
 
@@ -418,7 +423,7 @@ describe Puppet::Settings do
418
423
  end
419
424
 
420
425
  it "should call the hook when value written" do
421
- expect(@settings.setting(:hooker)).to receive(:handle).with("something").once
426
+ @settings.setting(:hooker).expects(:handle).with("something").once
422
427
  @settings[:hooker] = "something"
423
428
  end
424
429
  end
@@ -432,7 +437,7 @@ describe Puppet::Settings do
432
437
 
433
438
  describe "when nil" do
434
439
  it "should generate a warning" do
435
- expect(Puppet).to receive(:warning)
440
+ Puppet.expects(:warning)
436
441
  @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => nil, :hook => lambda { |v| hook_values << v }})
437
442
  end
438
443
  it "should use default" do
@@ -477,7 +482,7 @@ describe Puppet::Settings do
477
482
  app_defaults[:run_mode] = :user
478
483
  @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
479
484
 
480
- expect(@settings.setting(:hooker)).to receive(:handle).with("yay").once
485
+ @settings.setting(:hooker).expects(:handle).with("yay").once
481
486
 
482
487
  @settings.initialize_app_defaults app_defaults
483
488
  end
@@ -552,7 +557,7 @@ describe Puppet::Settings do
552
557
  :four => { :default => "$two $three FOUR", :desc => "d"},
553
558
  :five => { :default => nil, :desc => "e" },
554
559
  :code => { :default => "", :desc => "my code"}
555
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
560
+ Puppet::FileSystem.stubs(:exist?).returns true
556
561
  end
557
562
 
558
563
  it "should provide a mechanism for returning set values" do
@@ -609,7 +614,7 @@ describe Puppet::Settings do
609
614
 
610
615
  it "should not interpolate the value of the :code setting" do
611
616
  @code = @settings.setting(:code)
612
- expect(@code).not_to receive(:munge)
617
+ @code.expects(:munge).never
613
618
 
614
619
  expect(@settings[:code]).to eq("")
615
620
  end
@@ -633,7 +638,7 @@ describe Puppet::Settings do
633
638
  :config => { :type => :file, :default => "/my/file", :desc => "a" },
634
639
  :one => { :default => "ONE", :desc => "a" },
635
640
  :two => { :default => "TWO", :desc => "b" }
636
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
641
+ Puppet::FileSystem.stubs(:exist?).returns true
637
642
  @settings.preferred_run_mode = :agent
638
643
  end
639
644
 
@@ -643,7 +648,7 @@ describe Puppet::Settings do
643
648
 
644
649
  it "should return values set on the cli before values set in the configuration file" do
645
650
  text = "[main]\none = fileval\n"
646
- allow(@settings).to receive(:read_file).and_return(text)
651
+ @settings.stubs(:read_file).returns(text)
647
652
  @settings.handlearg("--one", "clival")
648
653
  @settings.send(:parse_config_files)
649
654
 
@@ -652,7 +657,7 @@ describe Puppet::Settings do
652
657
 
653
658
  it "should return values set in the mode-specific section before values set in the main section" do
654
659
  text = "[main]\none = mainval\n[agent]\none = modeval\n"
655
- allow(@settings).to receive(:read_file).and_return(text)
660
+ @settings.stubs(:read_file).returns(text)
656
661
  @settings.send(:parse_config_files)
657
662
 
658
663
  expect(@settings[:one]).to eq("modeval")
@@ -660,7 +665,7 @@ describe Puppet::Settings do
660
665
 
661
666
  it "should not return values outside of its search path" do
662
667
  text = "[other]\none = oval\n"
663
- allow(@settings).to receive(:read_file).and_return(text)
668
+ @settings.stubs(:read_file).returns(text)
664
669
  @settings.send(:parse_config_files)
665
670
  expect(@settings[:one]).to eq("ONE")
666
671
  end
@@ -679,9 +684,9 @@ describe Puppet::Settings do
679
684
 
680
685
  describe "when root" do
681
686
  it "should look for the main config file default location config settings haven't been overridden'" do
682
- allow(Puppet.features).to receive(:root?).and_return(true)
683
- expect(Puppet::FileSystem).to receive(:exist?).with(main_config_file_default_location).and_return(false)
684
- expect(Puppet::FileSystem).not_to receive(:exist?).with(user_config_file_default_location)
687
+ Puppet.features.stubs(:root?).returns(true)
688
+ Puppet::FileSystem.expects(:exist?).with(main_config_file_default_location).returns(false)
689
+ Puppet::FileSystem.expects(:exist?).with(user_config_file_default_location).never
685
690
 
686
691
  @settings.send(:parse_config_files)
687
692
  end
@@ -689,45 +694,10 @@ describe Puppet::Settings do
689
694
 
690
695
  describe "when not root" do
691
696
  it "should look for user config file default location if config settings haven't been overridden'" do
692
- allow(Puppet.features).to receive(:root?).and_return(false)
697
+ Puppet.features.stubs(:root?).returns(false)
693
698
 
694
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(false)
695
-
696
- @settings.send(:parse_config_files)
697
- end
698
- end
699
-
700
- describe "when the file exists" do
701
- it "fails if the file is not readable" do
702
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
703
- expect(@settings).to receive(:read_file).and_raise('Permission denied')
704
-
705
- expect{ @settings.send(:parse_config_files) }.to raise_error(RuntimeError, /Could not load #{user_config_file_default_location}: Permission denied/)
706
- end
707
-
708
- it "does not fail if the file is not readable and when `require_config` is false" do
709
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
710
- expect(@settings).to receive(:read_file).and_raise('Permission denied')
711
-
712
- expect(@settings).not_to receive(:parse_config)
713
- expect(Puppet).to receive(:log_exception)
714
-
715
- expect{ @settings.send(:parse_config_files, false) }.not_to raise_error
716
- end
717
-
718
- it "reads the file if it is readable" do
719
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(true)
720
- expect(@settings).to receive(:read_file).and_return('server = host.string')
721
- expect(@settings).to receive(:parse_config)
722
-
723
- @settings.send(:parse_config_files)
724
- end
725
- end
726
-
727
- describe "when the file does not exist" do
728
- it "does not attempt to parse the config file" do
729
- expect(Puppet::FileSystem).to receive(:exist?).with(user_config_file_default_location).and_return(false)
730
- expect(@settings).not_to receive(:parse_config)
699
+ seq = sequence "load config files"
700
+ Puppet::FileSystem.expects(:exist?).with(user_config_file_default_location).returns(false).in_sequence(seq)
731
701
 
732
702
  @settings.send(:parse_config_files)
733
703
  end
@@ -737,8 +707,8 @@ describe Puppet::Settings do
737
707
  describe "when parsing its configuration" do
738
708
  before do
739
709
  @settings = Puppet::Settings.new
740
- allow(@settings).to receive(:service_user_available?).and_return(true)
741
- allow(@settings).to receive(:service_group_available?).and_return(true)
710
+ @settings.stubs(:service_user_available?).returns true
711
+ @settings.stubs(:service_group_available?).returns true
742
712
  @file = make_absolute("/some/file")
743
713
  @userconfig = make_absolute("/test/userconfigfile")
744
714
  @settings.define_settings :section, :user => { :default => "suser", :desc => "doc" }, :group => { :default => "sgroup", :desc => "doc" }
@@ -747,9 +717,9 @@ describe Puppet::Settings do
747
717
  :one => { :default => "ONE", :desc => "a" },
748
718
  :two => { :default => "$one TWO", :desc => "b" },
749
719
  :three => { :default => "$one $two THREE", :desc => "c" }
750
- allow(@settings).to receive(:user_config_file).and_return(@userconfig)
751
- allow(Puppet::FileSystem).to receive(:exist?).with(@file).and_return(true)
752
- allow(Puppet::FileSystem).to receive(:exist?).with(@userconfig).and_return(false)
720
+ @settings.stubs(:user_config_file).returns(@userconfig)
721
+ Puppet::FileSystem.stubs(:exist?).with(@file).returns true
722
+ Puppet::FileSystem.stubs(:exist?).with(@userconfig).returns false
753
723
  end
754
724
 
755
725
  it "should not ignore the report setting" do
@@ -761,27 +731,27 @@ describe Puppet::Settings do
761
731
  [puppetd]
762
732
  report=true
763
733
  CONF
764
- expect(Puppet::FileSystem).to receive(:exist?).with(myfile).and_return(true)
765
- expect(@settings).to receive(:read_file).and_return(text)
734
+ Puppet::FileSystem.expects(:exist?).with(myfile).returns(true)
735
+ @settings.expects(:read_file).returns(text)
766
736
  @settings.send(:parse_config_files)
767
737
  expect(@settings[:report]).to be_truthy
768
738
  end
769
739
 
770
740
  it "should use its current ':config' value for the file to parse" do
771
- myfile = make_absolute("/my/file")
741
+ myfile = make_absolute("/my/file") # do not stub expand_path here, as this leads to a stack overflow, when mocha tries to use it
772
742
  @settings[:config] = myfile
773
743
 
774
- expect(Puppet::FileSystem).to receive(:exist?).with(myfile).and_return(true)
744
+ Puppet::FileSystem.expects(:exist?).with(myfile).returns(true)
775
745
 
776
- expect(Puppet::FileSystem).to receive(:read).with(myfile, :encoding => 'utf-8').and_return("[main]")
746
+ Puppet::FileSystem.expects(:read).with(myfile, :encoding => 'utf-8').returns "[main]"
777
747
 
778
748
  @settings.send(:parse_config_files)
779
749
  end
780
750
 
781
751
  it "should not try to parse non-existent files" do
782
- expect(Puppet::FileSystem).to receive(:exist?).with(@file).and_return(false)
752
+ Puppet::FileSystem.expects(:exist?).with(@file).returns false
783
753
 
784
- expect(File).not_to receive(:read).with(@file)
754
+ File.expects(:read).with(@file).never
785
755
 
786
756
  @settings.send(:parse_config_files)
787
757
  end
@@ -790,7 +760,7 @@ describe Puppet::Settings do
790
760
  text = "[main]
791
761
  one = fileval
792
762
  "
793
- expect(@settings).to receive(:read_file).and_return(text)
763
+ @settings.expects(:read_file).returns(text)
794
764
  @settings.send(:parse_config_files)
795
765
  expect(@settings[:one]).to eq("fileval")
796
766
  end
@@ -798,7 +768,7 @@ describe Puppet::Settings do
798
768
  #484 - this should probably be in the regression area
799
769
  it "should not throw an exception on unknown parameters" do
800
770
  text = "[main]\nnosuchparam = mval\n"
801
- expect(@settings).to receive(:read_file).and_return(text)
771
+ @settings.expects(:read_file).returns(text)
802
772
  expect { @settings.send(:parse_config_files) }.not_to raise_error
803
773
  end
804
774
 
@@ -807,7 +777,7 @@ describe Puppet::Settings do
807
777
  one = true
808
778
  two = false
809
779
  "
810
- expect(@settings).to receive(:read_file).and_return(text)
780
+ @settings.expects(:read_file).returns(text)
811
781
  @settings.send(:parse_config_files)
812
782
  expect(@settings[:one]).to eq(true)
813
783
  expect(@settings[:two]).to eq(false)
@@ -817,7 +787,7 @@ describe Puppet::Settings do
817
787
  text = "[main]
818
788
  one = 65
819
789
  "
820
- expect(@settings).to receive(:read_file).and_return(text)
790
+ @settings.expects(:read_file).returns(text)
821
791
  @settings.send(:parse_config_files)
822
792
  expect(@settings[:one]).to eq(65)
823
793
  end
@@ -860,7 +830,7 @@ describe Puppet::Settings do
860
830
  text = "[master]
861
831
  myfile = #{otherfile} {mode = 664}
862
832
  "
863
- expect(@settings).to receive(:read_file).and_return(text)
833
+ @settings.expects(:read_file).returns(text)
864
834
 
865
835
  # will start initialization as user
866
836
  expect(@settings.preferred_run_mode).to eq(:user)
@@ -891,7 +861,7 @@ describe Puppet::Settings do
891
861
  [agent]
892
862
  myfile = #{file} {mode = 664}
893
863
  "
894
- expect(@settings).to receive(:read_file).and_return(text)
864
+ @settings.expects(:read_file).returns(text)
895
865
 
896
866
  # will start initialization as user
897
867
  expect(@settings.preferred_run_mode).to eq(:user)
@@ -913,7 +883,7 @@ describe Puppet::Settings do
913
883
  text = "[main]
914
884
  mysetting = setval
915
885
  "
916
- expect(@settings).to receive(:read_file).and_return(text)
886
+ @settings.expects(:read_file).returns(text)
917
887
  @settings.send(:parse_config_files)
918
888
  expect(values).to eq(["setval"])
919
889
  end
@@ -927,7 +897,7 @@ describe Puppet::Settings do
927
897
  [main]
928
898
  mysetting = other
929
899
  "
930
- expect(@settings).to receive(:read_file).and_return(text)
900
+ @settings.expects(:read_file).returns(text)
931
901
  @settings.send(:parse_config_files)
932
902
  expect(values).to eq(["setval"])
933
903
  end
@@ -940,7 +910,7 @@ describe Puppet::Settings do
940
910
  text = "[main]
941
911
  mysetting = $base/setval
942
912
  "
943
- expect(@settings).to receive(:read_file).and_return(text)
913
+ @settings.expects(:read_file).returns(text)
944
914
  @settings.send(:parse_config_files)
945
915
  expect(values).to eq(["yay/setval"])
946
916
  end
@@ -962,7 +932,7 @@ describe Puppet::Settings do
962
932
  deferred=$confdir/goose
963
933
  EOD
964
934
 
965
- allow(@settings).to receive(:read_file).and_return(text)
935
+ @settings.stubs(:read_file).returns(text)
966
936
  @settings.initialize_global_settings
967
937
 
968
938
  expect(hook_invoked).to be_falsey
@@ -987,7 +957,7 @@ describe Puppet::Settings do
987
957
  can_cause_problems=$confdir/goose
988
958
  EOD
989
959
 
990
- allow(@settings).to receive(:read_file).and_return(text)
960
+ @settings.stubs(:read_file).returns(text)
991
961
  @settings.initialize_global_settings
992
962
  @settings.initialize_app_defaults(:logdir => '/path/to/logdir', :confdir => '/path/to/confdir', :vardir => '/path/to/vardir', :codedir => '/path/to/codedir')
993
963
 
@@ -1000,7 +970,7 @@ describe Puppet::Settings do
1000
970
  text = "[main]
1001
971
  myarg =
1002
972
  "
1003
- allow(@settings).to receive(:read_file).and_return(text)
973
+ @settings.stubs(:read_file).returns(text)
1004
974
  @settings.send(:parse_config_files)
1005
975
  expect(@settings[:myarg]).to eq("")
1006
976
  end
@@ -1017,8 +987,8 @@ describe Puppet::Settings do
1017
987
  }
1018
988
 
1019
989
  def assert_accessing_setting_is_deprecated(settings, setting)
1020
- expect(Puppet).to receive(:deprecation_warning).with("Accessing '#{setting}' as a setting is deprecated.")
1021
- expect(Puppet).to receive(:deprecation_warning).with("Modifying '#{setting}' as a setting is deprecated.")
990
+ Puppet.expects(:deprecation_warning).with("Accessing '#{setting}' as a setting is deprecated.")
991
+ Puppet.expects(:deprecation_warning).with("Modifying '#{setting}' as a setting is deprecated.")
1022
992
  settings[setting.intern] = apath = File.expand_path('foo')
1023
993
  expect(settings[setting.intern]).to eq(apath)
1024
994
  end
@@ -1045,7 +1015,7 @@ describe Puppet::Settings do
1045
1015
  end
1046
1016
 
1047
1017
  it "warns when set in puppet.conf" do
1048
- expect(Puppet).to receive(:deprecation_warning).with(/completely_deprecated_setting is deprecated\./, 'setting-completely_deprecated_setting')
1018
+ Puppet.expects(:deprecation_warning).with(regexp_matches(/completely_deprecated_setting is deprecated\./), 'setting-completely_deprecated_setting')
1049
1019
 
1050
1020
  completely_deprecated_settings.parse_config(<<-CONF)
1051
1021
  completely_deprecated_setting='should warn'
@@ -1054,7 +1024,7 @@ describe Puppet::Settings do
1054
1024
  end
1055
1025
 
1056
1026
  it "warns when set on the commandline" do
1057
- expect(Puppet).to receive(:deprecation_warning).with(/completely_deprecated_setting is deprecated\./, 'setting-completely_deprecated_setting')
1027
+ Puppet.expects(:deprecation_warning).with(regexp_matches(/completely_deprecated_setting is deprecated\./), 'setting-completely_deprecated_setting')
1058
1028
 
1059
1029
  args = ["--completely_deprecated_setting", "/some/value"]
1060
1030
  completely_deprecated_settings.send(:parse_global_options, args)
@@ -1079,7 +1049,7 @@ describe Puppet::Settings do
1079
1049
  end
1080
1050
 
1081
1051
  it "warns for a deprecated setting allowed on the command line set in puppet.conf" do
1082
- expect(Puppet).to receive(:deprecation_warning).with(/partially_deprecated_setting is deprecated in puppet\.conf/, 'puppet-conf-setting-partially_deprecated_setting')
1052
+ Puppet.expects(:deprecation_warning).with(regexp_matches(/partially_deprecated_setting is deprecated in puppet\.conf/), 'puppet-conf-setting-partially_deprecated_setting')
1083
1053
  partially_deprecated_settings.parse_config(<<-CONF)
1084
1054
  partially_deprecated_setting='should warn'
1085
1055
  CONF
@@ -1087,7 +1057,7 @@ describe Puppet::Settings do
1087
1057
  end
1088
1058
 
1089
1059
  it "does not warn when manifest is set on command line" do
1090
- expect(Puppet).not_to receive(:deprecation_warning)
1060
+ Puppet.expects(:deprecation_warning).never
1091
1061
 
1092
1062
  args = ["--partially_deprecated_setting", "/some/value"]
1093
1063
  partially_deprecated_settings.send(:parse_global_options, args)
@@ -1104,6 +1074,7 @@ describe Puppet::Settings do
1104
1074
  describe "when there are multiple config files" do
1105
1075
  let(:main_config_text) { "[main]\none = main\ntwo = main2" }
1106
1076
  let(:user_config_text) { "[main]\none = user\n" }
1077
+ let(:seq) { sequence "config_file_sequence" }
1107
1078
 
1108
1079
  before :each do
1109
1080
  @settings = Puppet::Settings.new
@@ -1116,13 +1087,13 @@ describe Puppet::Settings do
1116
1087
 
1117
1088
  context "running non-root without explicit config file" do
1118
1089
  before :each do
1119
- allow(Puppet.features).to receive(:root?).and_return(false)
1120
- expect(Puppet::FileSystem).to receive(:exist?).
1090
+ Puppet.features.stubs(:root?).returns(false)
1091
+ Puppet::FileSystem.expects(:exist?).
1121
1092
  with(user_config_file_default_location).
1122
- and_return(true).ordered
1123
- expect(@settings).to receive(:read_file).
1093
+ returns(true).in_sequence(seq)
1094
+ @settings.expects(:read_file).
1124
1095
  with(user_config_file_default_location).
1125
- and_return(user_config_text).ordered
1096
+ returns(user_config_text).in_sequence(seq)
1126
1097
  end
1127
1098
 
1128
1099
  it "should return values from the user config file" do
@@ -1138,13 +1109,13 @@ describe Puppet::Settings do
1138
1109
 
1139
1110
  context "running as root without explicit config file" do
1140
1111
  before :each do
1141
- allow(Puppet.features).to receive(:root?).and_return(true)
1142
- expect(Puppet::FileSystem).to receive(:exist?).
1112
+ Puppet.features.stubs(:root?).returns(true)
1113
+ Puppet::FileSystem.expects(:exist?).
1143
1114
  with(main_config_file_default_location).
1144
- and_return(true).ordered
1145
- expect(@settings).to receive(:read_file).
1115
+ returns(true).in_sequence(seq)
1116
+ @settings.expects(:read_file).
1146
1117
  with(main_config_file_default_location).
1147
- and_return(main_config_text).ordered
1118
+ returns(main_config_text).in_sequence(seq)
1148
1119
  end
1149
1120
 
1150
1121
  it "should return values from the main config file" do
@@ -1160,14 +1131,14 @@ describe Puppet::Settings do
1160
1131
 
1161
1132
  context "running with an explicit config file as a user (e.g. Apache + Passenger)" do
1162
1133
  before :each do
1163
- allow(Puppet.features).to receive(:root?).and_return(false)
1134
+ Puppet.features.stubs(:root?).returns(false)
1164
1135
  @settings[:confdir] = File.dirname(main_config_file_default_location)
1165
- expect(Puppet::FileSystem).to receive(:exist?).
1136
+ Puppet::FileSystem.expects(:exist?).
1166
1137
  with(main_config_file_default_location).
1167
- and_return(true).ordered
1168
- expect(@settings).to receive(:read_file).
1138
+ returns(true).in_sequence(seq)
1139
+ @settings.expects(:read_file).
1169
1140
  with(main_config_file_default_location).
1170
- and_return(main_config_text).ordered
1141
+ returns(main_config_text).in_sequence(seq)
1171
1142
  end
1172
1143
 
1173
1144
  it "should return values from the main config file" do
@@ -1192,16 +1163,16 @@ describe Puppet::Settings do
1192
1163
  :one => { :default => "ONE", :desc => "a" },
1193
1164
  :two => { :default => "$one TWO", :desc => "b" },
1194
1165
  :three => { :default => "$one $two THREE", :desc => "c" }
1195
- allow(Puppet::FileSystem).to receive(:exist?).with(@file).and_return(true)
1196
- allow(Puppet::FileSystem).to receive(:exist?).with(@userconfig).and_return(false)
1197
- allow(@settings).to receive(:user_config_file).and_return(@userconfig)
1166
+ Puppet::FileSystem.stubs(:exist?).with(@file).returns true
1167
+ Puppet::FileSystem.stubs(:exist?).with(@userconfig).returns false
1168
+ @settings.stubs(:user_config_file).returns(@userconfig)
1198
1169
  end
1199
1170
 
1200
1171
  it "does not create the WatchedFile instance and should not parse if the file does not exist" do
1201
- expect(Puppet::FileSystem).to receive(:exist?).with(@file).and_return(false)
1202
- expect(Puppet::Util::WatchedFile).not_to receive(:new)
1172
+ Puppet::FileSystem.expects(:exist?).with(@file).returns false
1173
+ Puppet::Util::WatchedFile.expects(:new).never
1203
1174
 
1204
- expect(@settings).not_to receive(:parse_config_files)
1175
+ @settings.expects(:parse_config_files).never
1205
1176
 
1206
1177
  @settings.reparse_config_files
1207
1178
  end
@@ -1209,38 +1180,38 @@ describe Puppet::Settings do
1209
1180
  context "and watched file exists" do
1210
1181
  before do
1211
1182
  @watched_file = Puppet::Util::WatchedFile.new(@file)
1212
- expect(Puppet::Util::WatchedFile).to receive(:new).with(@file).and_return(@watched_file)
1183
+ Puppet::Util::WatchedFile.expects(:new).with(@file).returns @watched_file
1213
1184
  end
1214
1185
 
1215
1186
  it "uses a WatchedFile instance to determine if the file has changed" do
1216
- expect(@watched_file).to receive(:changed?)
1187
+ @watched_file.expects(:changed?)
1217
1188
 
1218
1189
  @settings.reparse_config_files
1219
1190
  end
1220
1191
 
1221
1192
  it "does not reparse if the file has not changed" do
1222
- expect(@watched_file).to receive(:changed?).and_return(false)
1193
+ @watched_file.expects(:changed?).returns false
1223
1194
 
1224
- expect(@settings).not_to receive(:parse_config_files)
1195
+ @settings.expects(:parse_config_files).never
1225
1196
 
1226
1197
  @settings.reparse_config_files
1227
1198
  end
1228
1199
 
1229
1200
  it "reparses if the file has changed" do
1230
- expect(@watched_file).to receive(:changed?).and_return(true)
1201
+ @watched_file.expects(:changed?).returns true
1231
1202
 
1232
- expect(@settings).to receive(:parse_config_files)
1203
+ @settings.expects(:parse_config_files)
1233
1204
 
1234
1205
  @settings.reparse_config_files
1235
1206
  end
1236
1207
 
1237
1208
  it "replaces in-memory values with on-file values" do
1238
- allow(@watched_file).to receive(:changed?).and_return(true)
1209
+ @watched_file.stubs(:changed?).returns(true)
1239
1210
  @settings[:one] = "init"
1240
1211
 
1241
1212
  # Now replace the value
1242
1213
  text = "[main]\none = disk-replace\n"
1243
- allow(@settings).to receive(:read_file).and_return(text)
1214
+ @settings.stubs(:read_file).returns(text)
1244
1215
  @settings.reparse_config_files
1245
1216
  expect(@settings[:one]).to eq("disk-replace")
1246
1217
  end
@@ -1250,7 +1221,7 @@ describe Puppet::Settings do
1250
1221
  @settings.handlearg("--one", "clival")
1251
1222
 
1252
1223
  text = "[main]\none = on-disk\n"
1253
- allow(@settings).to receive(:read_file).and_return(text)
1224
+ @settings.stubs(:read_file).returns(text)
1254
1225
  @settings.send(:parse_config_files)
1255
1226
 
1256
1227
  expect(@settings[:one]).to eq("clival")
@@ -1259,13 +1230,13 @@ describe Puppet::Settings do
1259
1230
  it "should remove in-memory values that are no longer set in the file" do
1260
1231
  # Init the value
1261
1232
  text = "[main]\none = disk-init\n"
1262
- expect(@settings).to receive(:read_file).and_return(text)
1233
+ @settings.expects(:read_file).returns(text)
1263
1234
  @settings.send(:parse_config_files)
1264
1235
  expect(@settings[:one]).to eq("disk-init")
1265
1236
 
1266
1237
  # Now replace the value
1267
1238
  text = "[main]\ntwo = disk-replace\n"
1268
- expect(@settings).to receive(:read_file).and_return(text)
1239
+ @settings.expects(:read_file).returns(text)
1269
1240
  @settings.send(:parse_config_files)
1270
1241
 
1271
1242
  # The originally-overridden value should be replaced with the default
@@ -1278,13 +1249,13 @@ describe Puppet::Settings do
1278
1249
  it "should retain in-memory values if the file has a syntax error" do
1279
1250
  # Init the value
1280
1251
  text = "[main]\none = initial-value\n"
1281
- expect(@settings).to receive(:read_file).with(@file).and_return(text)
1252
+ @settings.expects(:read_file).with(@file).returns(text)
1282
1253
  @settings.send(:parse_config_files)
1283
1254
  expect(@settings[:one]).to eq("initial-value")
1284
1255
 
1285
1256
  # Now replace the value with something bogus
1286
1257
  text = "[main]\nkenny = killed-by-what-follows\n1 is 2, blah blah florp\n"
1287
- expect(@settings).to receive(:read_file).with(@file).and_return(text)
1258
+ @settings.expects(:read_file).with(@file).returns(text)
1288
1259
  @settings.send(:parse_config_files)
1289
1260
 
1290
1261
  # The originally-overridden value should not be replaced with the default
@@ -1302,7 +1273,7 @@ describe Puppet::Settings do
1302
1273
  describe "when creating a catalog" do
1303
1274
  before do
1304
1275
  @settings = Puppet::Settings.new
1305
- allow(@settings).to receive(:service_user_available?).and_return(true)
1276
+ @settings.stubs(:service_user_available?).returns true
1306
1277
  @prefix = Puppet.features.posix? ? "" : "C:"
1307
1278
  end
1308
1279
 
@@ -1336,15 +1307,15 @@ describe Puppet::Settings do
1336
1307
 
1337
1308
  it "should ignore files whose :to_resource method returns nil" do
1338
1309
  @settings.define_settings :main, :maindir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a" }
1339
- expect(@settings.setting(:maindir)).to receive(:to_resource).and_return(nil)
1310
+ @settings.setting(:maindir).expects(:to_resource).returns nil
1340
1311
 
1341
- expect_any_instance_of(Puppet::Resource::Catalog).not_to receive(:add_resource)
1312
+ Puppet::Resource::Catalog.any_instance.expects(:add_resource).never
1342
1313
  @settings.to_catalog
1343
1314
  end
1344
1315
 
1345
- describe "on Microsoft Windows", :if => Puppet.features.microsoft_windows? do
1316
+ describe "on Microsoft Windows", :if => Puppet::Util::Platform.windows? do
1346
1317
  before :each do
1347
- allow(Puppet.features).to receive(:root?).and_return(true)
1318
+ Puppet.features.stubs(:root?).returns true
1348
1319
 
1349
1320
  @settings.define_settings :foo,
1350
1321
  :mkusers => { :type => :boolean, :default => true, :desc => "e" },
@@ -1393,7 +1364,7 @@ describe Puppet::Settings do
1393
1364
  envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1394
1365
  @settings[:environmentpath] = envpath
1395
1366
  Dir.mkdir(envdir)
1396
- allow(Puppet.features).to receive(:root?).and_return(false)
1367
+ Puppet.features.stubs(:root?).returns false
1397
1368
  catalog = @settings.to_catalog
1398
1369
  resource = catalog.resource('File', File.join(envdir, 'production'))
1399
1370
  expect(resource[:mode]).to eq('0750')
@@ -1406,9 +1377,9 @@ describe Puppet::Settings do
1406
1377
  envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1407
1378
  @settings[:environmentpath] = envpath
1408
1379
  Dir.mkdir(envdir)
1409
- allow(Puppet.features).to receive(:root?).and_return(true)
1410
- allow(@settings).to receive(:service_user_available?).and_return(true)
1411
- allow(@settings).to receive(:service_group_available?).and_return(true)
1380
+ Puppet.features.stubs(:root?).returns true
1381
+ @settings.stubs(:service_user_available?).returns true
1382
+ @settings.stubs(:service_group_available?).returns true
1412
1383
  catalog = @settings.to_catalog
1413
1384
  resource = catalog.resource('File', File.join(envdir, 'production'))
1414
1385
  expect(resource[:mode]).to eq('0750')
@@ -1421,9 +1392,9 @@ describe Puppet::Settings do
1421
1392
  envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1422
1393
  @settings[:environmentpath] = envpath
1423
1394
  Dir.mkdir(envdir)
1424
- allow(Puppet.features).to receive(:root?).and_return(true)
1425
- allow(@settings).to receive(:service_user_available?).and_return(false)
1426
- allow(@settings).to receive(:service_group_available?).and_return(false)
1395
+ Puppet.features.stubs(:root?).returns true
1396
+ @settings.stubs(:service_user_available?).returns false
1397
+ @settings.stubs(:service_group_available?).returns false
1427
1398
  catalog = @settings.to_catalog
1428
1399
  resource = catalog.resource('File', File.join(envdir, 'production'))
1429
1400
  expect(resource[:mode]).to eq('0750')
@@ -1454,7 +1425,7 @@ describe Puppet::Settings do
1454
1425
  before :all do
1455
1426
  # when this spec is run in isolation to build a settings catalog
1456
1427
  # it will not be able to autorequire and load types for the first time
1457
- # on Windows with microsoft_windows? stubbed to false, because
1428
+ # on Windows with windows? stubbed to false, because
1458
1429
  # Puppet::Util.path_to_uri is called to generate a URI to load code
1459
1430
  # and it manipulates the path based on OS
1460
1431
  # so instead we forcefully "prime" the cached types
@@ -1464,9 +1435,9 @@ describe Puppet::Settings do
1464
1435
  end
1465
1436
 
1466
1437
  before do
1467
- allow(Puppet.features).to receive(:root?).and_return(true)
1438
+ Puppet.features.stubs(:root?).returns true
1468
1439
  # stubbed to false, as Windows catalogs don't add users / groups
1469
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
1440
+ Puppet::Util::Platform.stubs(:windows?).returns false
1470
1441
 
1471
1442
  @settings.define_settings :foo,
1472
1443
  :mkusers => { :type => :boolean, :default => true, :desc => "e" },
@@ -1490,7 +1461,7 @@ describe Puppet::Settings do
1490
1461
  end
1491
1462
 
1492
1463
  it "should not add users or groups to the catalog if :mkusers not running as root" do
1493
- allow(Puppet.features).to receive(:root?).and_return(false)
1464
+ Puppet.features.stubs(:root?).returns false
1494
1465
 
1495
1466
  catalog = @settings.to_catalog
1496
1467
  expect(catalog.resource(:user, "suser")).to be_nil
@@ -1498,7 +1469,7 @@ describe Puppet::Settings do
1498
1469
  end
1499
1470
 
1500
1471
  it "should not add users or groups to the catalog if :mkusers is not a valid setting" do
1501
- allow(Puppet.features).to receive(:root?).and_return(true)
1472
+ Puppet.features.stubs(:root?).returns true
1502
1473
  settings = Puppet::Settings.new
1503
1474
  settings.define_settings :other, :otherdir => {:type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1504
1475
 
@@ -1509,6 +1480,8 @@ describe Puppet::Settings do
1509
1480
 
1510
1481
  it "should not add users or groups to the catalog if :mkusers is a valid setting but is disabled" do
1511
1482
  @settings[:mkusers] = false
1483
+ @settings.stubs(:service_user_available?).returns(false)
1484
+ @settings.stubs(:service_group_available?).returns(false)
1512
1485
 
1513
1486
  catalog = @settings.to_catalog
1514
1487
  expect(catalog.resource(:user, "suser")).to be_nil
@@ -1532,7 +1505,7 @@ describe Puppet::Settings do
1532
1505
  end
1533
1506
 
1534
1507
  it "should not attempt to manage the root user" do
1535
- allow(Puppet.features).to receive(:root?).and_return(true)
1508
+ Puppet.features.stubs(:root?).returns true
1536
1509
  @settings.define_settings :foo, :foodir => {:type => :directory, :default => "/foodir", :desc => "a", :owner => "root", :group => "service"}
1537
1510
 
1538
1511
  expect(@settings.to_catalog.resource(:user, "root")).to be_nil
@@ -1551,15 +1524,15 @@ describe Puppet::Settings do
1551
1524
  :maindir => { :type => :directory, :default => "/maindir", :desc => "a"},
1552
1525
  :seconddir => { :type => :directory, :default => "/seconddir", :desc => "a"}
1553
1526
 
1554
- main = double('main_resource', :ref => "File[/maindir]")
1555
- expect(main).to receive(:to_manifest).and_return("maindir")
1556
- expect(main).to receive(:'[]').with(:alias).and_return(nil)
1557
- second = double('second_resource', :ref => "File[/seconddir]")
1558
- expect(second).to receive(:to_manifest).and_return("seconddir")
1559
- expect(second).to receive(:'[]').with(:alias).and_return(nil)
1527
+ main = stub 'main_resource', :ref => "File[/maindir]"
1528
+ main.expects(:to_manifest).returns "maindir"
1529
+ main.expects(:'[]').with(:alias).returns nil
1530
+ second = stub 'second_resource', :ref => "File[/seconddir]"
1531
+ second.expects(:to_manifest).returns "seconddir"
1532
+ second.expects(:'[]').with(:alias).returns nil
1560
1533
 
1561
- expect(@settings.setting(:maindir)).to receive(:to_resource).and_return(main)
1562
- expect(@settings.setting(:seconddir)).to receive(:to_resource).and_return(second)
1534
+ @settings.setting(:maindir).expects(:to_resource).returns main
1535
+ @settings.setting(:seconddir).expects(:to_resource).returns second
1563
1536
 
1564
1537
  expect(@settings.to_manifest.split("\n\n").sort).to eq(%w{maindir seconddir})
1565
1538
  end
@@ -1568,8 +1541,8 @@ describe Puppet::Settings do
1568
1541
  describe "when using sections of the configuration to manage the local host" do
1569
1542
  before do
1570
1543
  @settings = Puppet::Settings.new
1571
- allow(@settings).to receive(:service_user_available?).and_return(true)
1572
- allow(@settings).to receive(:service_group_available?).and_return(true)
1544
+ @settings.stubs(:service_user_available?).returns true
1545
+ @settings.stubs(:service_group_available?).returns true
1573
1546
  @settings.define_settings :main, :noop => { :default => false, :desc => "", :type => :boolean }
1574
1547
  @settings.define_settings :main,
1575
1548
  :maindir => { :type => :directory, :default => make_absolute("/maindir"), :desc => "a" },
@@ -1581,44 +1554,44 @@ describe Puppet::Settings do
1581
1554
  end
1582
1555
 
1583
1556
  it "should create a catalog with the specified sections" do
1584
- expect(@settings).to receive(:to_catalog).with(:main, :other).and_return(Puppet::Resource::Catalog.new("foo"))
1557
+ @settings.expects(:to_catalog).with(:main, :other).returns Puppet::Resource::Catalog.new("foo")
1585
1558
  @settings.use(:main, :other)
1586
1559
  end
1587
1560
 
1588
1561
  it "should canonicalize the sections" do
1589
- expect(@settings).to receive(:to_catalog).with(:main, :other).and_return(Puppet::Resource::Catalog.new("foo"))
1562
+ @settings.expects(:to_catalog).with(:main, :other).returns Puppet::Resource::Catalog.new("foo")
1590
1563
  @settings.use("main", "other")
1591
1564
  end
1592
1565
 
1593
1566
  it "should ignore sections that have already been used" do
1594
- expect(@settings).to receive(:to_catalog).with(:main).and_return(Puppet::Resource::Catalog.new("foo"))
1567
+ @settings.expects(:to_catalog).with(:main).returns Puppet::Resource::Catalog.new("foo")
1595
1568
  @settings.use(:main)
1596
- expect(@settings).to receive(:to_catalog).with(:other).and_return(Puppet::Resource::Catalog.new("foo"))
1569
+ @settings.expects(:to_catalog).with(:other).returns Puppet::Resource::Catalog.new("foo")
1597
1570
  @settings.use(:main, :other)
1598
1571
  end
1599
1572
 
1600
1573
  it "should convert the created catalog to a RAL catalog" do
1601
1574
  @catalog = Puppet::Resource::Catalog.new("foo")
1602
- expect(@settings).to receive(:to_catalog).with(:main).and_return(@catalog)
1575
+ @settings.expects(:to_catalog).with(:main).returns @catalog
1603
1576
 
1604
- expect(@catalog).to receive(:to_ral).and_return(@catalog)
1577
+ @catalog.expects(:to_ral).returns @catalog
1605
1578
  @settings.use(:main)
1606
1579
  end
1607
1580
 
1608
1581
  it "should specify that it is not managing a host catalog" do
1609
1582
  catalog = Puppet::Resource::Catalog.new("foo")
1610
- expect(catalog).to receive(:apply)
1611
- expect(@settings).to receive(:to_catalog).and_return(catalog)
1583
+ catalog.expects(:apply)
1584
+ @settings.expects(:to_catalog).returns catalog
1612
1585
 
1613
- allow(catalog).to receive(:to_ral).and_return(catalog)
1586
+ catalog.stubs(:to_ral).returns catalog
1614
1587
 
1615
- expect(catalog).to receive(:host_config=).with(false)
1588
+ catalog.expects(:host_config=).with false
1616
1589
 
1617
1590
  @settings.use(:main)
1618
1591
  end
1619
1592
 
1620
1593
  it "should support a method for re-using all currently used sections" do
1621
- expect(@settings).to receive(:to_catalog).with(:main, :third).exactly(2).times.and_return(Puppet::Resource::Catalog.new("foo"))
1594
+ @settings.expects(:to_catalog).with(:main, :third).times(2).returns Puppet::Resource::Catalog.new("foo")
1622
1595
 
1623
1596
  @settings.use(:main, :third)
1624
1597
  @settings.reuse
@@ -1626,13 +1599,13 @@ describe Puppet::Settings do
1626
1599
 
1627
1600
  it "should fail with an appropriate message if any resources fail" do
1628
1601
  @catalog = Puppet::Resource::Catalog.new("foo")
1629
- allow(@catalog).to receive(:to_ral).and_return(@catalog)
1630
- expect(@settings).to receive(:to_catalog).and_return(@catalog)
1602
+ @catalog.stubs(:to_ral).returns @catalog
1603
+ @settings.expects(:to_catalog).returns @catalog
1631
1604
 
1632
- @trans = double("transaction")
1633
- expect(@catalog).to receive(:apply).and_yield(@trans)
1605
+ @trans = mock("transaction")
1606
+ @catalog.expects(:apply).yields(@trans)
1634
1607
 
1635
- expect(@trans).to receive(:any_failed?).and_return(true)
1608
+ @trans.expects(:any_failed?).returns(true)
1636
1609
 
1637
1610
  resource = Puppet::Type.type(:notify).new(:title => 'failed')
1638
1611
  status = Puppet::Resource::Status.new(resource)
@@ -1645,9 +1618,9 @@ describe Puppet::Settings do
1645
1618
  report = Puppet::Transaction::Report.new('apply')
1646
1619
  report.add_resource_status(status)
1647
1620
 
1648
- expect(@trans).to receive(:report).and_return(report)
1621
+ @trans.expects(:report).returns report
1649
1622
 
1650
- expect(@settings).to receive(:raise).with(/My failure/)
1623
+ @settings.expects(:raise).with(includes("My failure"))
1651
1624
  @settings.use(:whatever)
1652
1625
  end
1653
1626
  end
@@ -1656,10 +1629,10 @@ describe Puppet::Settings do
1656
1629
  before do
1657
1630
  @settings = Puppet::Settings.new
1658
1631
  #these are the magic default values
1659
- allow(@settings).to receive(:value).with(:configprint).and_return("")
1660
- allow(@settings).to receive(:value).with(:genconfig).and_return(false)
1661
- allow(@settings).to receive(:value).with(:genmanifest).and_return(false)
1662
- allow(@settings).to receive(:value).with(:environment).and_return(nil)
1632
+ @settings.stubs(:value).with(:configprint).returns("")
1633
+ @settings.stubs(:value).with(:genconfig).returns(false)
1634
+ @settings.stubs(:value).with(:genmanifest).returns(false)
1635
+ @settings.stubs(:value).with(:environment).returns(nil)
1663
1636
  end
1664
1637
 
1665
1638
  describe "when checking print_config?" do
@@ -1668,17 +1641,17 @@ describe Puppet::Settings do
1668
1641
  end
1669
1642
 
1670
1643
  it "should return true when :configprint has a value" do
1671
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1644
+ @settings.stubs(:value).with(:configprint).returns("something")
1672
1645
  expect(@settings.print_configs?).to be_truthy
1673
1646
  end
1674
1647
 
1675
1648
  it "should return true when :genconfig has a value" do
1676
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
1649
+ @settings.stubs(:value).with(:genconfig).returns(true)
1677
1650
  expect(@settings.print_configs?).to be_truthy
1678
1651
  end
1679
1652
 
1680
1653
  it "should return true when :genmanifest has a value" do
1681
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
1654
+ @settings.stubs(:value).with(:genmanifest).returns(true)
1682
1655
  expect(@settings.print_configs?).to be_truthy
1683
1656
  end
1684
1657
  end
@@ -1686,87 +1659,87 @@ describe Puppet::Settings do
1686
1659
  describe "when printing configs" do
1687
1660
  describe "when :configprint has a value" do
1688
1661
  it "should call print_config_options" do
1689
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1690
- expect(@settings).to receive(:print_config_options)
1662
+ @settings.stubs(:value).with(:configprint).returns("something")
1663
+ @settings.expects(:print_config_options)
1691
1664
  @settings.print_configs
1692
1665
  end
1693
1666
 
1694
1667
  it "should get the value of the option using the environment" do
1695
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1696
- allow(@settings).to receive(:include?).with("something").and_return(true)
1697
- expect(@settings).to receive(:value).with(:environment).and_return("env")
1698
- expect(@settings).to receive(:value).with("something", "env").and_return("foo")
1699
- allow(@settings).to receive(:puts).with("foo")
1668
+ @settings.stubs(:value).with(:configprint).returns("something")
1669
+ @settings.stubs(:include?).with("something").returns(true)
1670
+ @settings.expects(:value).with(:environment).returns("env")
1671
+ @settings.expects(:value).with("something", "env").returns("foo")
1672
+ @settings.stubs(:puts).with("foo")
1700
1673
  @settings.print_configs
1701
1674
  end
1702
1675
 
1703
1676
  it "should print the value of the option" do
1704
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1705
- allow(@settings).to receive(:include?).with("something").and_return(true)
1706
- allow(@settings).to receive(:value).with("something", nil).and_return("foo")
1707
- expect(@settings).to receive(:puts).with("foo")
1677
+ @settings.stubs(:value).with(:configprint).returns("something")
1678
+ @settings.stubs(:include?).with("something").returns(true)
1679
+ @settings.stubs(:value).with("something", nil).returns("foo")
1680
+ @settings.expects(:puts).with("foo")
1708
1681
  @settings.print_configs
1709
1682
  end
1710
1683
 
1711
1684
  it "should print the value pairs if there are multiple options" do
1712
- allow(@settings).to receive(:value).with(:configprint).and_return("bar,baz")
1713
- allow(@settings).to receive(:include?).with("bar").and_return(true)
1714
- allow(@settings).to receive(:include?).with("baz").and_return(true)
1715
- allow(@settings).to receive(:value).with("bar", nil).and_return("foo")
1716
- allow(@settings).to receive(:value).with("baz", nil).and_return("fud")
1717
- expect(@settings).to receive(:puts).with("bar = foo")
1718
- expect(@settings).to receive(:puts).with("baz = fud")
1685
+ @settings.stubs(:value).with(:configprint).returns("bar,baz")
1686
+ @settings.stubs(:include?).with("bar").returns(true)
1687
+ @settings.stubs(:include?).with("baz").returns(true)
1688
+ @settings.stubs(:value).with("bar", nil).returns("foo")
1689
+ @settings.stubs(:value).with("baz", nil).returns("fud")
1690
+ @settings.expects(:puts).with("bar = foo")
1691
+ @settings.expects(:puts).with("baz = fud")
1719
1692
  @settings.print_configs
1720
1693
  end
1721
1694
 
1722
1695
  it "should return true after printing" do
1723
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1724
- allow(@settings).to receive(:include?).with("something").and_return(true)
1725
- allow(@settings).to receive(:value).with("something", nil).and_return("foo")
1726
- allow(@settings).to receive(:puts).with("foo")
1696
+ @settings.stubs(:value).with(:configprint).returns("something")
1697
+ @settings.stubs(:include?).with("something").returns(true)
1698
+ @settings.stubs(:value).with("something", nil).returns("foo")
1699
+ @settings.stubs(:puts).with("foo")
1727
1700
  expect(@settings.print_configs).to be_truthy
1728
1701
  end
1729
1702
 
1730
1703
  it "should return false if a config param is not found" do
1731
- allow(@settings).to receive(:puts)
1732
- allow(@settings).to receive(:value).with(:configprint).and_return("something")
1733
- allow(@settings).to receive(:include?).with("something").and_return(false)
1704
+ @settings.stubs :puts
1705
+ @settings.stubs(:value).with(:configprint).returns("something")
1706
+ @settings.stubs(:include?).with("something").returns(false)
1734
1707
  expect(@settings.print_configs).to be_falsey
1735
1708
  end
1736
1709
  end
1737
1710
 
1738
1711
  describe "when genconfig is true" do
1739
1712
  before do
1740
- allow(@settings).to receive(:puts)
1713
+ @settings.stubs :puts
1741
1714
  end
1742
1715
 
1743
1716
  it "should call to_config" do
1744
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
1745
- expect(@settings).to receive(:to_config)
1717
+ @settings.stubs(:value).with(:genconfig).returns(true)
1718
+ @settings.expects(:to_config)
1746
1719
  @settings.print_configs
1747
1720
  end
1748
1721
 
1749
1722
  it "should return true from print_configs" do
1750
- allow(@settings).to receive(:value).with(:genconfig).and_return(true)
1751
- allow(@settings).to receive(:to_config)
1723
+ @settings.stubs(:value).with(:genconfig).returns(true)
1724
+ @settings.stubs(:to_config)
1752
1725
  expect(@settings.print_configs).to be_truthy
1753
1726
  end
1754
1727
  end
1755
1728
 
1756
1729
  describe "when genmanifest is true" do
1757
1730
  before do
1758
- allow(@settings).to receive(:puts)
1731
+ @settings.stubs :puts
1759
1732
  end
1760
1733
 
1761
1734
  it "should call to_config" do
1762
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
1763
- expect(@settings).to receive(:to_manifest)
1735
+ @settings.stubs(:value).with(:genmanifest).returns(true)
1736
+ @settings.expects(:to_manifest)
1764
1737
  @settings.print_configs
1765
1738
  end
1766
1739
 
1767
1740
  it "should return true from print_configs" do
1768
- allow(@settings).to receive(:value).with(:genmanifest).and_return(true)
1769
- allow(@settings).to receive(:to_manifest)
1741
+ @settings.stubs(:value).with(:genmanifest).returns(true)
1742
+ @settings.stubs(:to_manifest)
1770
1743
  expect(@settings.print_configs).to be_truthy
1771
1744
  end
1772
1745
  end
@@ -1781,8 +1754,8 @@ describe Puppet::Settings do
1781
1754
  end
1782
1755
 
1783
1756
  def a_user_type_for(username)
1784
- user = double('user')
1785
- expect(Puppet::Type.type(:user)).to receive(:new).with(hash_including(name: username)).and_return(user)
1757
+ user = mock 'user'
1758
+ Puppet::Type.type(:user).expects(:new).with { |args| args[:name] == username }.returns user
1786
1759
  user
1787
1760
  end
1788
1761
 
@@ -1793,7 +1766,7 @@ describe Puppet::Settings do
1793
1766
  it "should return false if the user provider says the user is missing" do
1794
1767
  settings[:user] = "foo"
1795
1768
 
1796
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(false)
1769
+ a_user_type_for("foo").expects(:exists?).returns false
1797
1770
 
1798
1771
  expect(settings).not_to be_service_user_available
1799
1772
  end
@@ -1801,7 +1774,7 @@ describe Puppet::Settings do
1801
1774
  it "should return true if the user provider says the user is present" do
1802
1775
  settings[:user] = "foo"
1803
1776
 
1804
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(true)
1777
+ a_user_type_for("foo").expects(:exists?).returns true
1805
1778
 
1806
1779
  expect(settings).to be_service_user_available
1807
1780
  end
@@ -1809,7 +1782,7 @@ describe Puppet::Settings do
1809
1782
  it "caches the result of determining if the user is present" do
1810
1783
  settings[:user] = "foo"
1811
1784
 
1812
- expect(a_user_type_for("foo")).to receive(:exists?).and_return(true)
1785
+ a_user_type_for("foo").expects(:exists?).returns true
1813
1786
  expect(settings).to be_service_user_available
1814
1787
 
1815
1788
  expect(settings).to be_service_user_available
@@ -1824,8 +1797,8 @@ describe Puppet::Settings do
1824
1797
  end
1825
1798
 
1826
1799
  def a_group_type_for(groupname)
1827
- group = double('group')
1828
- expect(Puppet::Type.type(:group)).to receive(:new).with(hash_including(name: groupname)).and_return(group)
1800
+ group = mock 'group'
1801
+ Puppet::Type.type(:group).expects(:new).with { |args| args[:name] == groupname }.returns group
1829
1802
  group
1830
1803
  end
1831
1804
 
@@ -1836,7 +1809,7 @@ describe Puppet::Settings do
1836
1809
  it "should return false if the group provider says the group is missing" do
1837
1810
  settings[:group] = "foo"
1838
1811
 
1839
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(false)
1812
+ a_group_type_for("foo").expects(:exists?).returns false
1840
1813
 
1841
1814
  expect(settings).not_to be_service_group_available
1842
1815
  end
@@ -1844,7 +1817,7 @@ describe Puppet::Settings do
1844
1817
  it "should return true if the group provider says the group is present" do
1845
1818
  settings[:group] = "foo"
1846
1819
 
1847
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(true)
1820
+ a_group_type_for("foo").expects(:exists?).returns true
1848
1821
 
1849
1822
  expect(settings).to be_service_group_available
1850
1823
  end
@@ -1852,7 +1825,7 @@ describe Puppet::Settings do
1852
1825
  it "caches the result of determining if the group is present" do
1853
1826
  settings[:group] = "foo"
1854
1827
 
1855
- expect(a_group_type_for("foo")).to receive(:exists?).and_return(true)
1828
+ a_group_type_for("foo").expects(:exists?).returns true
1856
1829
  expect(settings).to be_service_group_available
1857
1830
 
1858
1831
  expect(settings).to be_service_group_available
@@ -1863,14 +1836,14 @@ describe Puppet::Settings do
1863
1836
  let(:settings) { Puppet::Settings.new }
1864
1837
 
1865
1838
  it "should get options from Puppet.settings.optparse_addargs" do
1866
- expect(settings).to receive(:optparse_addargs).and_return([])
1839
+ settings.expects(:optparse_addargs).returns([])
1867
1840
 
1868
1841
  settings.send(:parse_global_options, [])
1869
1842
  end
1870
1843
 
1871
1844
  it "should add options to OptionParser" do
1872
- allow(settings).to receive(:optparse_addargs).and_return([["--option","-o", "Funny Option", :NONE]])
1873
- expect(settings).to receive(:handlearg).with("--option", true)
1845
+ settings.stubs(:optparse_addargs).returns( [["--option","-o", "Funny Option", :NONE]])
1846
+ settings.expects(:handlearg).with("--option", true)
1874
1847
  settings.send(:parse_global_options, ["--option"])
1875
1848
  end
1876
1849
 
@@ -1879,13 +1852,13 @@ describe Puppet::Settings do
1879
1852
  end
1880
1853
 
1881
1854
  it "should not pass an unrecognized option to handleargs" do
1882
- expect(settings).not_to receive(:handlearg).with("--topuppet", "value")
1855
+ settings.expects(:handlearg).with("--topuppet", "value").never
1883
1856
  expect { settings.send(:parse_global_options, ["--topuppet", "value"]) } .to_not raise_error
1884
1857
  end
1885
1858
 
1886
1859
  it "should pass valid puppet settings options to handlearg even if they appear after an unrecognized option" do
1887
- allow(settings).to receive(:optparse_addargs).and_return([["--option","-o", "Funny Option", :NONE]])
1888
- expect(settings).to receive(:handlearg).with("--option", true)
1860
+ settings.stubs(:optparse_addargs).returns( [["--option","-o", "Funny Option", :NONE]])
1861
+ settings.expects(:handlearg).with("--option", true)
1889
1862
  settings.send(:parse_global_options, ["--invalidoption", "--option"])
1890
1863
  end
1891
1864
 
@@ -1899,7 +1872,7 @@ describe Puppet::Settings do
1899
1872
 
1900
1873
  it "should set preferred run mode from --run_mode <foo> string without error" do
1901
1874
  args = ["--run_mode", "master"]
1902
- expect(settings).not_to receive(:handlearg).with("--run_mode", "master")
1875
+ settings.expects(:handlearg).with("--run_mode", "master").never
1903
1876
  expect { settings.send(:parse_global_options, args) } .to_not raise_error
1904
1877
  expect(Puppet.settings.preferred_run_mode).to eq(:master)
1905
1878
  expect(args.empty?).to eq(true)
@@ -1907,8 +1880,8 @@ describe Puppet::Settings do
1907
1880
 
1908
1881
  it "should set preferred run mode from --run_mode=<foo> string without error" do
1909
1882
  args = ["--run_mode=master"]
1910
- expect(settings).not_to receive(:handlearg).with("--run_mode", "master")
1911
- expect { settings.send(:parse_global_options, args) }.to_not raise_error
1883
+ settings.expects(:handlearg).with("--run_mode", "master").never
1884
+ expect { settings.send(:parse_global_options, args) } .to_not raise_error
1912
1885
  expect(Puppet.settings.preferred_run_mode).to eq(:master)
1913
1886
  expect(args.empty?).to eq(true)
1914
1887
  end
@@ -1917,8 +1890,8 @@ describe Puppet::Settings do
1917
1890
  describe "default_certname" do
1918
1891
  describe "using hostname and domain" do
1919
1892
  before :each do
1920
- allow(Puppet::Settings).to receive(:hostname_fact).and_return("testhostname")
1921
- allow(Puppet::Settings).to receive(:domain_fact).and_return("domain.test.")
1893
+ Puppet::Settings.stubs(:hostname_fact).returns("testhostname")
1894
+ Puppet::Settings.stubs(:domain_fact).returns("domain.test.")
1922
1895
  end
1923
1896
 
1924
1897
  it "should use both to generate fqdn" do
@@ -1931,8 +1904,8 @@ describe Puppet::Settings do
1931
1904
 
1932
1905
  describe "using just hostname" do
1933
1906
  before :each do
1934
- allow(Puppet::Settings).to receive(:hostname_fact).and_return("testhostname")
1935
- allow(Puppet::Settings).to receive(:domain_fact).and_return("")
1907
+ Puppet::Settings.stubs(:hostname_fact).returns("testhostname")
1908
+ Puppet::Settings.stubs(:domain_fact).returns("")
1936
1909
  end
1937
1910
 
1938
1911
  it "should use only hostname to generate fqdn" do