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
  describe Puppet::Type.type(:file).attrclass(:type) do
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:file) do
@@ -9,7 +10,7 @@ describe Puppet::Type.type(:file) do
9
10
  let(:catalog) { Puppet::Resource::Catalog.new }
10
11
 
11
12
  before do
12
- allow(Puppet.features).to receive("posix?").and_return(true)
13
+ Puppet.features.stubs("posix?").returns(true)
13
14
  end
14
15
 
15
16
  describe "the path parameter" do
@@ -50,7 +51,7 @@ describe Puppet::Type.type(:file) do
50
51
  end
51
52
  end
52
53
 
53
- describe "on Windows systems", :if => Puppet.features.microsoft_windows? do
54
+ describe "on Windows systems", :if => Puppet::Util::Platform.windows? do
54
55
  it "should remove trailing slashes" do
55
56
  file[:path] = "X:/foo/bar/baz/"
56
57
  expect(file[:path]).to eq("X:/foo/bar/baz")
@@ -75,7 +76,7 @@ describe Puppet::Type.type(:file) do
75
76
  expect { file[:path] = "X:" }.to raise_error(/File paths must be fully qualified/)
76
77
  end
77
78
 
78
- describe "when using UNC filenames", :if => Puppet.features.microsoft_windows? do
79
+ describe "when using UNC filenames", :if => Puppet::Util::Platform.windows? do
79
80
  it "should remove trailing slashes" do
80
81
  file[:path] = "//localhost/foo/bar/baz/"
81
82
  expect(file[:path]).to eq("//localhost/foo/bar/baz")
@@ -210,8 +211,8 @@ describe Puppet::Type.type(:file) do
210
211
 
211
212
  it "should return the default filebucket if using the 'puppet' filebucket" do
212
213
  file[:backup] = 'puppet'
213
- bucket = double('bucket')
214
- allow(file).to receive(:default_bucket).and_return(bucket)
214
+ bucket = stub('bucket')
215
+ file.stubs(:default_bucket).returns bucket
215
216
 
216
217
  expect(file.bucket).to eq(bucket)
217
218
  end
@@ -242,19 +243,19 @@ describe Puppet::Type.type(:file) do
242
243
  before :each do
243
244
  # Mocha won't let me just stub SUIDManager.asuser to yield and return,
244
245
  # but it will do exactly that if we're not root.
245
- allow(Puppet::Util::SUIDManager).to receive(:root?).and_return(false)
246
+ Puppet::Util::SUIDManager.stubs(:root?).returns false
246
247
  end
247
248
 
248
249
  it "should return the desired owner if they can write to the parent directory" do
249
250
  file[:owner] = 1001
250
- allow(FileTest).to receive(:writable?).with(File.dirname file[:path]).and_return(true)
251
+ FileTest.stubs(:writable?).with(File.dirname file[:path]).returns true
251
252
 
252
253
  expect(file.asuser).to eq(1001)
253
254
  end
254
255
 
255
256
  it "should return nil if the desired owner can't write to the parent directory" do
256
257
  file[:owner] = 1001
257
- allow(FileTest).to receive(:writable?).with(File.dirname file[:path]).and_return(false)
258
+ FileTest.stubs(:writable?).with(File.dirname file[:path]).returns false
258
259
 
259
260
  expect(file.asuser).to eq(nil)
260
261
  end
@@ -266,25 +267,25 @@ describe Puppet::Type.type(:file) do
266
267
 
267
268
  describe "#exist?" do
268
269
  it "should be considered existent if it can be stat'ed" do
269
- expect(file).to receive(:stat).and_return(double('stat'))
270
+ file.expects(:stat).returns mock('stat')
270
271
  expect(file).to be_exist
271
272
  end
272
273
 
273
274
  it "should be considered nonexistent if it can not be stat'ed" do
274
- expect(file).to receive(:stat).and_return(nil)
275
+ file.expects(:stat).returns nil
275
276
  expect(file).to_not be_exist
276
277
  end
277
278
  end
278
279
 
279
280
  describe "#eval_generate" do
280
281
  before do
281
- @graph = double('graph', :add_edge => nil)
282
- allow(catalog).to receive(:relationship_graph).and_return(@graph)
282
+ @graph = stub 'graph', :add_edge => nil
283
+ catalog.stubs(:relationship_graph).returns @graph
283
284
  end
284
285
 
285
286
  it "should recurse if recursion is enabled" do
286
- resource = double('resource', :[] => 'resource')
287
- expect(file).to receive(:recurse).and_return([resource])
287
+ resource = stub('resource', :[] => 'resource')
288
+ file.expects(:recurse).returns [resource]
288
289
 
289
290
  file[:recurse] = true
290
291
 
@@ -292,7 +293,7 @@ describe Puppet::Type.type(:file) do
292
293
  end
293
294
 
294
295
  it "should not recurse if recursion is disabled" do
295
- expect(file).not_to receive(:recurse)
296
+ file.expects(:recurse).never
296
297
 
297
298
  file[:recurse] = false
298
299
 
@@ -318,7 +319,7 @@ describe Puppet::Type.type(:file) do
318
319
  describe "#flush" do
319
320
  it "should flush all properties that respond to :flush" do
320
321
  file[:source] = File.expand_path(__FILE__)
321
- expect(file.parameter(:source)).to receive(:flush)
322
+ file.parameter(:source).expects(:flush)
322
323
  file.flush
323
324
  end
324
325
 
@@ -446,14 +447,12 @@ describe Puppet::Type.type(:file) do
446
447
  it "should not copy values to the child which were set by the source" do
447
448
  source = File.expand_path(__FILE__)
448
449
  file[:source] = source
449
- metadata = double('metadata', :owner => "root", :group => "root", :mode => '0755', :ftype => "file", :checksum => "{md5}whatever", :checksum_type => "md5", :source => source)
450
- allow(file.parameter(:source)).to receive(:metadata).and_return(metadata)
450
+ metadata = stub 'metadata', :owner => "root", :group => "root", :mode => '0755', :ftype => "file", :checksum => "{md5}whatever", :checksum_type => "md5", :source => source
451
+ file.parameter(:source).stubs(:metadata).returns metadata
451
452
 
452
453
  file.parameter(:source).copy_source_values
453
454
 
454
- expect(file.class).to receive(:new) do |arg|
455
- expect(arg[:group]).to be_nil
456
- end
455
+ file.class.expects(:new).with { |params| params[:group].nil? }
457
456
  file.newchild("my/path")
458
457
  end
459
458
  end
@@ -477,9 +476,6 @@ describe Puppet::Type.type(:file) do
477
476
  end
478
477
 
479
478
  describe "#recurse" do
480
- let(:name) { 'bar' }
481
- let(:child) { double('puppet_type_file') }
482
-
483
479
  before do
484
480
  file[:recurse] = true
485
481
  @metadata = Puppet::FileServing::Metadata
@@ -488,9 +484,8 @@ describe Puppet::Type.type(:file) do
488
484
  describe "and a source is set" do
489
485
  it "should pass the already-discovered resources to recurse_remote" do
490
486
  file[:source] = File.expand_path(__FILE__)
491
- allow(child).to receive(:[]).with(:path).and_return(name)
492
- allow(file).to receive(:recurse_local).and_return(name => child)
493
- expect(file).to receive(:recurse_remote).with(name => child).and_return([])
487
+ file.stubs(:recurse_local).returns(:foo => "bar")
488
+ file.expects(:recurse_remote).with(:foo => "bar").returns []
494
489
  file.recurse
495
490
  end
496
491
  end
@@ -498,29 +493,28 @@ describe Puppet::Type.type(:file) do
498
493
  describe "and a target is set" do
499
494
  it "should use recurse_link" do
500
495
  file[:target] = File.expand_path(__FILE__)
501
- allow(child).to receive(:[]).with(:path).and_return(name)
502
- allow(file).to receive(:recurse_local).and_return(name => child)
503
- expect(file).to receive(:recurse_link).with(name => child).and_return([])
496
+ file.stubs(:recurse_local).returns(:foo => "bar")
497
+ file.expects(:recurse_link).with(:foo => "bar").returns []
504
498
  file.recurse
505
499
  end
506
500
  end
507
501
 
508
502
  it "should use recurse_local if recurse is not remote" do
509
- expect(file).to receive(:recurse_local).and_return({})
503
+ file.expects(:recurse_local).returns({})
510
504
  file.recurse
511
505
  end
512
506
 
513
507
  it "should not use recurse_local if recurse is remote" do
514
508
  file[:recurse] = :remote
515
- expect(file).not_to receive(:recurse_local)
509
+ file.expects(:recurse_local).never
516
510
  file.recurse
517
511
  end
518
512
 
519
513
  it "should return the generated resources as an array sorted by file path" do
520
- one = double('one', :[] => "/one")
521
- two = double('two', :[] => "/one/two")
522
- three = double('three', :[] => "/three")
523
- expect(file).to receive(:recurse_local).and_return(:one => one, :two => two, :three => three)
514
+ one = stub 'one', :[] => "/one"
515
+ two = stub 'two', :[] => "/one/two"
516
+ three = stub 'three', :[] => "/three"
517
+ file.expects(:recurse_local).returns(:one => one, :two => two, :three => three)
524
518
  expect(file.recurse).to eq([one, two, three])
525
519
  end
526
520
 
@@ -531,20 +525,19 @@ describe Puppet::Type.type(:file) do
531
525
 
532
526
  it "should mark each file for removal" do
533
527
  local = described_class.new(:path => path, :ensure => :present)
534
- expect(file).to receive(:recurse_local).and_return("local" => local)
528
+ file.expects(:recurse_local).returns("local" => local)
535
529
 
536
530
  file.recurse
537
531
  expect(local[:ensure]).to eq(:absent)
538
532
  end
539
533
 
540
534
  it "should not remove files that exist in the remote repository" do
541
- pending("FIXME: This test has been broken since it was introduced in c189b46e3f1 because of = vs ==")
542
535
  file[:source] = File.expand_path(__FILE__)
543
- expect(file).to receive(:recurse_local).and_return({})
536
+ file.expects(:recurse_local).returns({})
544
537
 
545
538
  remote = described_class.new(:path => path, :source => File.expand_path(__FILE__), :ensure => :present)
546
539
 
547
- expect(file).to receive(:recurse_remote).with(hash_including("remote" => remote))
540
+ file.expects(:recurse_remote).with { |hash| hash["remote"] = remote }
548
541
 
549
542
  file.recurse
550
543
 
@@ -587,42 +580,42 @@ describe Puppet::Type.type(:file) do
587
580
 
588
581
  describe "#recurse_link" do
589
582
  before do
590
- @first = double('first', :relative_path => "first", :full_path => "/my/first", :ftype => "directory")
591
- @second = double('second', :relative_path => "second", :full_path => "/my/second", :ftype => "file")
583
+ @first = stub 'first', :relative_path => "first", :full_path => "/my/first", :ftype => "directory"
584
+ @second = stub 'second', :relative_path => "second", :full_path => "/my/second", :ftype => "file"
592
585
 
593
- @resource = double('file', :[]= => nil)
586
+ @resource = stub 'file', :[]= => nil
594
587
  end
595
588
 
596
589
  it "should pass its target to the :perform_recursion method" do
597
590
  file[:target] = "mylinks"
598
- expect(file).to receive(:perform_recursion).with("mylinks").and_return([@first])
599
- allow(file).to receive(:newchild).and_return(@resource)
591
+ file.expects(:perform_recursion).with("mylinks").returns [@first]
592
+ file.stubs(:newchild).returns @resource
600
593
  file.recurse_link({})
601
594
  end
602
595
 
603
596
  it "should ignore the recursively-found '.' file and configure the top-level file to create a directory" do
604
- allow(@first).to receive(:relative_path).and_return(".")
597
+ @first.stubs(:relative_path).returns "."
605
598
  file[:target] = "mylinks"
606
- expect(file).to receive(:perform_recursion).with("mylinks").and_return([@first])
607
- expect(file).not_to receive(:newchild)
608
- expect(file).to receive(:[]=).with(:ensure, :directory)
599
+ file.expects(:perform_recursion).with("mylinks").returns [@first]
600
+ file.stubs(:newchild).never
601
+ file.expects(:[]=).with(:ensure, :directory)
609
602
  file.recurse_link({})
610
603
  end
611
604
 
612
605
  it "should create a new child resource for each generated metadata instance's relative path that doesn't already exist in the children hash" do
613
- expect(file).to receive(:perform_recursion).and_return([@first, @second])
614
- expect(file).to receive(:newchild).with(@first.relative_path).and_return(@resource)
606
+ file.expects(:perform_recursion).returns [@first, @second]
607
+ file.expects(:newchild).with(@first.relative_path).returns @resource
615
608
  file.recurse_link("second" => @resource)
616
609
  end
617
610
 
618
611
  it "should not create a new child resource for paths that already exist in the children hash" do
619
- expect(file).to receive(:perform_recursion).and_return([@first])
620
- expect(file).not_to receive(:newchild)
612
+ file.expects(:perform_recursion).returns [@first]
613
+ file.expects(:newchild).never
621
614
  file.recurse_link("first" => @resource)
622
615
  end
623
616
 
624
617
  it "should set the target to the full path of discovered file and set :ensure to :link if the file is not a directory", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
625
- allow(file).to receive(:perform_recursion).and_return([@first, @second])
618
+ file.stubs(:perform_recursion).returns [@first, @second]
626
619
  file.recurse_link("first" => @resource, "second" => file)
627
620
 
628
621
  expect(file[:ensure]).to eq(:link)
@@ -630,59 +623,59 @@ describe Puppet::Type.type(:file) do
630
623
  end
631
624
 
632
625
  it "should :ensure to :directory if the file is a directory" do
633
- allow(file).to receive(:perform_recursion).and_return([@first, @second])
626
+ file.stubs(:perform_recursion).returns [@first, @second]
634
627
  file.recurse_link("first" => file, "second" => @resource)
635
628
 
636
629
  expect(file[:ensure]).to eq(:directory)
637
630
  end
638
631
 
639
632
  it "should return a hash with both created and existing resources with the relative paths as the hash keys" do
640
- expect(file).to receive(:perform_recursion).and_return([@first, @second])
641
- allow(file).to receive(:newchild).and_return(file)
633
+ file.expects(:perform_recursion).returns [@first, @second]
634
+ file.stubs(:newchild).returns file
642
635
  expect(file.recurse_link("second" => @resource)).to eq({"second" => @resource, "first" => file})
643
636
  end
644
637
  end
645
638
 
646
639
  describe "#recurse_local" do
647
640
  before do
648
- @metadata = double('metadata', :relative_path => "my/file")
641
+ @metadata = stub 'metadata', :relative_path => "my/file"
649
642
  end
650
643
 
651
644
  it "should pass its path to the :perform_recursion method" do
652
- expect(file).to receive(:perform_recursion).with(file[:path]).and_return([@metadata])
653
- allow(file).to receive(:newchild)
645
+ file.expects(:perform_recursion).with(file[:path]).returns [@metadata]
646
+ file.stubs(:newchild)
654
647
  file.recurse_local
655
648
  end
656
649
 
657
650
  it "should return an empty hash if the recursion returns nothing" do
658
- expect(file).to receive(:perform_recursion).and_return(nil)
651
+ file.expects(:perform_recursion).returns nil
659
652
  expect(file.recurse_local).to eq({})
660
653
  end
661
654
 
662
655
  it "should create a new child resource with each generated metadata instance's relative path" do
663
- expect(file).to receive(:perform_recursion).and_return([@metadata])
664
- expect(file).to receive(:newchild).with(@metadata.relative_path).and_return("fiebar")
656
+ file.expects(:perform_recursion).returns [@metadata]
657
+ file.expects(:newchild).with(@metadata.relative_path).returns "fiebar"
665
658
  file.recurse_local
666
659
  end
667
660
 
668
661
  it "should not create a new child resource for the '.' directory" do
669
- allow(@metadata).to receive(:relative_path).and_return(".")
662
+ @metadata.stubs(:relative_path).returns "."
670
663
 
671
- expect(file).to receive(:perform_recursion).and_return([@metadata])
672
- expect(file).not_to receive(:newchild)
664
+ file.expects(:perform_recursion).returns [@metadata]
665
+ file.expects(:newchild).never
673
666
  file.recurse_local
674
667
  end
675
668
 
676
669
  it "should return a hash of the created resources with the relative paths as the hash keys" do
677
- expect(file).to receive(:perform_recursion).and_return([@metadata])
678
- expect(file).to receive(:newchild).with("my/file").and_return("fiebar")
670
+ file.expects(:perform_recursion).returns [@metadata]
671
+ file.expects(:newchild).with("my/file").returns "fiebar"
679
672
  expect(file.recurse_local).to eq({"my/file" => "fiebar"})
680
673
  end
681
674
 
682
675
  it "should set checksum_type to none if this file checksum is none" do
683
676
  file[:checksum] = :none
684
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(checksum_type: :none)).and_return([@metadata])
685
- expect(file).to receive(:newchild).with("my/file").and_return("fiebar")
677
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |path,params| params[:checksum_type] == :none }.returns [@metadata]
678
+ file.expects(:newchild).with("my/file").returns "fiebar"
686
679
  file.recurse_local
687
680
  end
688
681
  end
@@ -695,94 +688,94 @@ describe Puppet::Type.type(:file) do
695
688
 
696
689
  @first = Puppet::FileServing::Metadata.new(my, :relative_path => "first")
697
690
  @second = Puppet::FileServing::Metadata.new(my, :relative_path => "second")
698
- allow(@first).to receive(:ftype).and_return("directory")
699
- allow(@second).to receive(:ftype).and_return("directory")
691
+ @first.stubs(:ftype).returns "directory"
692
+ @second.stubs(:ftype).returns "directory"
700
693
 
701
- @parameter = double('property', :metadata= => nil)
702
- @resource = double('file', :[]= => nil, :parameter => @parameter)
694
+ @parameter = stub 'property', :metadata= => nil
695
+ @resource = stub 'file', :[]= => nil, :parameter => @parameter
703
696
  end
704
697
 
705
698
  it "should pass its source to the :perform_recursion method" do
706
699
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
707
- expect(file).to receive(:perform_recursion).with("puppet://foo/bar").and_return([data])
708
- allow(file).to receive(:newchild).and_return(@resource)
700
+ file.expects(:perform_recursion).with("puppet://foo/bar").returns [data]
701
+ file.stubs(:newchild).returns @resource
709
702
  file.recurse_remote({})
710
703
  end
711
704
 
712
705
  it "should not recurse when the remote file is not a directory" do
713
706
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => ".")
714
- allow(data).to receive(:ftype).and_return("file")
715
- expect(file).to receive(:perform_recursion).with("puppet://foo/bar").and_return([data])
716
- expect(file).not_to receive(:newchild)
707
+ data.stubs(:ftype).returns "file"
708
+ file.expects(:perform_recursion).with("puppet://foo/bar").returns [data]
709
+ file.expects(:newchild).never
717
710
  file.recurse_remote({})
718
711
  end
719
712
 
720
713
  it "should set the source of each returned file to the searched-for URI plus the found relative path" do
721
- expect(@first).to receive(:source=).with(File.join("puppet://foo/bar", @first.relative_path))
722
- expect(file).to receive(:perform_recursion).and_return([@first])
723
- allow(file).to receive(:newchild).and_return(@resource)
714
+ @first.expects(:source=).with File.join("puppet://foo/bar", @first.relative_path)
715
+ file.expects(:perform_recursion).returns [@first]
716
+ file.stubs(:newchild).returns @resource
724
717
  file.recurse_remote({})
725
718
  end
726
719
 
727
720
  it "should create a new resource for any relative file paths that do not already have a resource" do
728
- allow(file).to receive(:perform_recursion).and_return([@first])
729
- expect(file).to receive(:newchild).with("first").and_return(@resource)
721
+ file.stubs(:perform_recursion).returns [@first]
722
+ file.expects(:newchild).with("first").returns @resource
730
723
  expect(file.recurse_remote({})).to eq({"first" => @resource})
731
724
  end
732
725
 
733
726
  it "should not create a new resource for any relative file paths that do already have a resource" do
734
- allow(file).to receive(:perform_recursion).and_return([@first])
735
- expect(file).not_to receive(:newchild)
727
+ file.stubs(:perform_recursion).returns [@first]
728
+ file.expects(:newchild).never
736
729
  file.recurse_remote("first" => @resource)
737
730
  end
738
731
 
739
732
  it "should set the source of each resource to the source of the metadata" do
740
- allow(file).to receive(:perform_recursion).and_return([@first])
741
- allow(@resource).to receive(:[]=)
742
- expect(@resource).to receive(:[]=).with(:source, File.join("puppet://foo/bar", @first.relative_path))
733
+ file.stubs(:perform_recursion).returns [@first]
734
+ @resource.stubs(:[]=)
735
+ @resource.expects(:[]=).with(:source, File.join("puppet://foo/bar", @first.relative_path))
743
736
  file.recurse_remote("first" => @resource)
744
737
  end
745
738
 
746
739
  it "should set the checksum parameter based on the metadata" do
747
- allow(file).to receive(:perform_recursion).and_return([@first])
748
- allow(@resource).to receive(:[]=)
749
- expect(@resource).to receive(:[]=).with(:checksum, "md5")
740
+ file.stubs(:perform_recursion).returns [@first]
741
+ @resource.stubs(:[]=)
742
+ @resource.expects(:[]=).with(:checksum, "md5")
750
743
  file.recurse_remote("first" => @resource)
751
744
  end
752
745
 
753
746
  it "should store the metadata in the source property for each resource so the source does not have to requery the metadata" do
754
- allow(file).to receive(:perform_recursion).and_return([@first])
755
- expect(@resource).to receive(:parameter).with(:source).and_return(@parameter)
747
+ file.stubs(:perform_recursion).returns [@first]
748
+ @resource.expects(:parameter).with(:source).returns @parameter
756
749
 
757
- expect(@parameter).to receive(:metadata=).with(@first)
750
+ @parameter.expects(:metadata=).with(@first)
758
751
 
759
752
  file.recurse_remote("first" => @resource)
760
753
  end
761
754
 
762
755
  it "should not create a new resource for the '.' file" do
763
- allow(@first).to receive(:relative_path).and_return(".")
764
- allow(file).to receive(:perform_recursion).and_return([@first])
756
+ @first.stubs(:relative_path).returns "."
757
+ file.stubs(:perform_recursion).returns [@first]
765
758
 
766
- expect(file).not_to receive(:newchild)
759
+ file.expects(:newchild).never
767
760
 
768
761
  file.recurse_remote({})
769
762
  end
770
763
 
771
764
  it "should store the metadata in the main file's source property if the relative path is '.'" do
772
- allow(@first).to receive(:relative_path).and_return(".")
773
- allow(file).to receive(:perform_recursion).and_return([@first])
765
+ @first.stubs(:relative_path).returns "."
766
+ file.stubs(:perform_recursion).returns [@first]
774
767
 
775
- expect(file.parameter(:source)).to receive(:metadata=).with(@first)
768
+ file.parameter(:source).expects(:metadata=).with @first
776
769
 
777
770
  file.recurse_remote("first" => @resource)
778
771
  end
779
772
 
780
773
  it "should update the main file's checksum parameter if the relative path is '.'" do
781
- allow(@first).to receive(:relative_path).and_return(".")
782
- allow(file).to receive(:perform_recursion).and_return([@first])
774
+ @first.stubs(:relative_path).returns "."
775
+ file.stubs(:perform_recursion).returns [@first]
783
776
 
784
- allow(file).to receive(:[]=)
785
- expect(file). to receive(:[]=).with(:checksum, "md5")
777
+ file.stubs(:[]=)
778
+ file.expects(:[]=).with(:checksum, "md5")
786
779
 
787
780
  file.recurse_remote("first" => @resource)
788
781
  end
@@ -800,11 +793,11 @@ describe Puppet::Type.type(:file) do
800
793
  it "should create file instances for the results for the first source to return any values" do
801
794
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
802
795
  file[:source] = sources.keys.sort.map { |key| File.expand_path(key) }
803
- expect(file).to receive(:perform_recursion).with(sources['/a']).and_return(nil)
804
- expect(file).to receive(:perform_recursion).with(sources['/b']).and_return([])
805
- expect(file).to receive(:perform_recursion).with(sources['/c']).and_return([data])
806
- expect(file).not_to receive(:perform_recursion).with(sources['/d'])
807
- expect(file).to receive(:newchild).with("foobar").and_return(@resource)
796
+ file.expects(:perform_recursion).with(sources['/a']).returns nil
797
+ file.expects(:perform_recursion).with(sources['/b']).returns []
798
+ file.expects(:perform_recursion).with(sources['/c']).returns [data]
799
+ file.expects(:perform_recursion).with(sources['/d']).never
800
+ file.expects(:newchild).with("foobar").returns @resource
808
801
  file.recurse_remote({})
809
802
  end
810
803
  end
@@ -818,20 +811,21 @@ describe Puppet::Type.type(:file) do
818
811
  klass = Puppet::FileServing::Metadata
819
812
 
820
813
  file[:source] = abs_path = %w{/a /b /c /d}.map {|f| File.expand_path(f) }
821
- allow(file).to receive(:newchild).and_return(@resource)
814
+ file.stubs(:newchild).returns @resource
822
815
 
823
816
  one = [klass.new(abs_path[0], :relative_path => "a")]
824
- expect(file).to receive(:perform_recursion).with(sources['/a']).and_return(one)
825
- expect(file).to receive(:newchild).with("a").and_return(@resource)
817
+ file.expects(:perform_recursion).with(sources['/a']).returns one
818
+ file.expects(:newchild).with("a").returns @resource
826
819
 
827
820
  two = [klass.new(abs_path[1], :relative_path => "a"), klass.new(abs_path[1], :relative_path => "b")]
828
- expect(file).to receive(:perform_recursion).with(sources['/b']).and_return(two)
829
- expect(file).to receive(:newchild).with("b").and_return(@resource)
821
+ file.expects(:perform_recursion).with(sources['/b']).returns two
822
+ file.expects(:newchild).with("b").returns @resource
830
823
 
831
824
  three = [klass.new(abs_path[2], :relative_path => "a"), klass.new(abs_path[2], :relative_path => "c")]
832
- expect(file).to receive(:perform_recursion).with(sources['/c']).and_return(three)
833
- expect(file).to receive(:newchild).with("c").and_return(@resource)
834
- expect(file).to receive(:perform_recursion).with(sources['/d']).and_return([])
825
+ file.expects(:perform_recursion).with(sources['/c']).returns three
826
+ file.expects(:newchild).with("c").returns @resource
827
+
828
+ file.expects(:perform_recursion).with(sources['/d']).returns []
835
829
 
836
830
  file.recurse_remote({})
837
831
  end
@@ -841,54 +835,54 @@ describe Puppet::Type.type(:file) do
841
835
 
842
836
  describe "#perform_recursion", :uses_checksums => true do
843
837
  it "should use Metadata to do its recursion" do
844
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search)
838
+ Puppet::FileServing::Metadata.indirection.expects(:search)
845
839
  file.perform_recursion(file[:path])
846
840
  end
847
841
 
848
842
  it "should use the provided path as the key to the search" do
849
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with("/foo", anything)
843
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| key == "/foo" }
850
844
  file.perform_recursion("/foo")
851
845
  end
852
846
 
853
847
  it "should return the results of the metadata search" do
854
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).and_return("foobar")
848
+ Puppet::FileServing::Metadata.indirection.expects(:search).returns "foobar"
855
849
  expect(file.perform_recursion(file[:path])).to eq("foobar")
856
850
  end
857
851
 
858
852
  it "should pass its recursion value to the search" do
859
853
  file[:recurse] = true
860
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(recurse: true))
854
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurse] == true }
861
855
  file.perform_recursion(file[:path])
862
856
  end
863
857
 
864
858
  it "should pass true if recursion is remote" do
865
859
  file[:recurse] = :remote
866
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(recurse: true))
860
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurse] == true }
867
861
  file.perform_recursion(file[:path])
868
862
  end
869
863
 
870
864
  it "should pass its recursion limit value to the search" do
871
865
  file[:recurselimit] = 10
872
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(recurselimit: 10))
866
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurselimit] == 10 }
873
867
  file.perform_recursion(file[:path])
874
868
  end
875
869
 
876
870
  it "should configure the search to ignore or manage links" do
877
871
  file[:links] = :manage
878
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(links: :manage))
872
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:links] == :manage }
879
873
  file.perform_recursion(file[:path])
880
874
  end
881
875
 
882
876
  it "should pass its 'ignore' setting to the search if it has one" do
883
877
  file[:ignore] = %w{.svn CVS}
884
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(ignore: %w{.svn CVS}))
878
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:ignore] == %w{.svn CVS} }
885
879
  file.perform_recursion(file[:path])
886
880
  end
887
881
 
888
882
  with_digest_algorithms do
889
883
  it "it should pass its 'checksum' setting #{metadata[:digest_algorithm]} to the search" do
890
884
  file[:source] = File.expand_path('/foo')
891
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(checksum_type: digest_algorithm.intern))
885
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:checksum_type] == digest_algorithm.intern }
892
886
  file.perform_recursion(file[:path])
893
887
  end
894
888
  end
@@ -901,8 +895,8 @@ describe Puppet::Type.type(:file) do
901
895
 
902
896
  it "should fail if it can't backup the file" do
903
897
  # Default: file[:backup] = true
904
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
905
- allow(file).to receive(:perform_backup).and_return(false)
898
+ file.stubs(:stat).returns stub('stat', :ftype => 'file')
899
+ file.stubs(:perform_backup).returns false
906
900
 
907
901
  expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not back up; will not remove/)
908
902
  end
@@ -911,27 +905,27 @@ describe Puppet::Type.type(:file) do
911
905
  it "should not backup directories if backup is true and force is false" do
912
906
  # Default: file[:backup] = true
913
907
  file[:force] = false
914
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
908
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
915
909
 
916
- expect(file).not_to receive(:perform_backup)
917
- expect(file).to receive(:warning).with("Could not back up file of type directory")
910
+ file.expects(:perform_backup).never
911
+ file.expects(:warning).with("Could not back up file of type directory")
918
912
  expect(file.remove_existing(:file)).to eq(false)
919
913
  end
920
914
 
921
915
  it "should backup directories if backup is true and force is true" do
922
916
  # Default: file[:backup] = true
923
917
  file[:force] = true
924
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
918
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
925
919
 
926
- expect(FileUtils).to receive(:rmtree).with(file[:path])
927
- expect(file).to receive(:perform_backup).and_return(true)
920
+ FileUtils.expects(:rmtree).with(file[:path])
921
+ file.expects(:perform_backup).returns(true)
928
922
 
929
923
  expect(file.remove_existing(:file)).to eq(true)
930
924
  end
931
925
  end
932
926
 
933
927
  it "should not do anything if the file is already the right type and not a link" do
934
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
928
+ file.stubs(:stat).returns stub('stat', :ftype => 'file')
935
929
 
936
930
  expect(file.remove_existing(:file)).to eq(false)
937
931
  end
@@ -940,7 +934,7 @@ describe Puppet::Type.type(:file) do
940
934
  file[:force] = false
941
935
  # Actually call stat to set @needs_stat to nil
942
936
  file.stat
943
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
937
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
944
938
 
945
939
  expect(file.instance_variable_get(:@stat)).to eq(nil)
946
940
  end
@@ -948,15 +942,15 @@ describe Puppet::Type.type(:file) do
948
942
  it "should remove a directory if backup is true and force is true" do
949
943
  # Default: file[:backup] = true
950
944
  file[:force] = true
951
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
945
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
952
946
 
953
- expect(FileUtils).to receive(:rmtree).with(file[:path])
947
+ FileUtils.expects(:rmtree).with(file[:path])
954
948
 
955
949
  expect(file.remove_existing(:file)).to eq(true)
956
950
  end
957
951
 
958
952
  it "should remove an existing file" do
959
- allow(file).to receive(:perform_backup).and_return(true)
953
+ file.stubs(:perform_backup).returns true
960
954
  FileUtils.touch(path)
961
955
 
962
956
  expect(file.remove_existing(:directory)).to eq(true)
@@ -965,7 +959,7 @@ describe Puppet::Type.type(:file) do
965
959
  end
966
960
 
967
961
  it "should remove an existing link", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
968
- allow(file).to receive(:perform_backup).and_return(true)
962
+ file.stubs(:perform_backup).returns true
969
963
 
970
964
  target = tmpfile('link_target')
971
965
  FileUtils.touch(target)
@@ -978,18 +972,18 @@ describe Puppet::Type.type(:file) do
978
972
  end
979
973
 
980
974
  it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
981
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'blockSpecial'))
975
+ file.stubs(:stat).returns stub('stat', :ftype => 'blockSpecial')
982
976
 
983
- expect(file).to receive(:warning).with("Could not back up file of type blockSpecial")
977
+ file.expects(:warning).with("Could not back up file of type blockSpecial")
984
978
  expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not remove files of type blockSpecial/)
985
979
  end
986
980
 
987
981
  it "should invalidate the existing stat of the file" do
988
982
  # Actually call stat to set @needs_stat to nil
989
983
  file.stat
990
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
984
+ file.stubs(:stat).returns stub('stat', :ftype => 'file')
991
985
 
992
- allow(Puppet::FileSystem).to receive(:unlink)
986
+ Puppet::FileSystem.stubs(:unlink)
993
987
 
994
988
  expect(file.remove_existing(:directory)).to eq(true)
995
989
  expect(file.instance_variable_get(:@stat)).to eq(:needs_stat)
@@ -999,7 +993,7 @@ describe Puppet::Type.type(:file) do
999
993
  describe "#retrieve" do
1000
994
  it "should copy the source values if the 'source' parameter is set" do
1001
995
  file[:source] = File.expand_path('/foo/bar')
1002
- expect(file.parameter(:source)).to receive(:copy_source_values)
996
+ file.parameter(:source).expects(:copy_source_values)
1003
997
  file.retrieve
1004
998
  end
1005
999
  end
@@ -1015,7 +1009,7 @@ describe Puppet::Type.type(:file) do
1015
1009
  end
1016
1010
 
1017
1011
  it "should be a file if :ensure is set to :present and the file exists as a normal file" do
1018
- allow(file).to receive(:stat).and_return(double('stat', :ftype => "file"))
1012
+ file.stubs(:stat).returns(mock('stat', :ftype => "file"))
1019
1013
  file[:ensure] = :present
1020
1014
  expect(file).to be_should_be_file
1021
1015
  end
@@ -1026,7 +1020,7 @@ describe Puppet::Type.type(:file) do
1026
1020
  end
1027
1021
 
1028
1022
  it "should not be a file if :ensure is set to :present and the file exists but is not a normal file" do
1029
- allow(file).to receive(:stat).and_return(double('stat', :ftype => "directory"))
1023
+ file.stubs(:stat).returns(mock('stat', :ftype => "directory"))
1030
1024
  file[:ensure] = :present
1031
1025
  expect(file).to_not be_should_be_file
1032
1026
  end
@@ -1037,12 +1031,12 @@ describe Puppet::Type.type(:file) do
1037
1031
  end
1038
1032
 
1039
1033
  it "should be a file if neither :ensure nor :content is set but the file exists as a normal file" do
1040
- allow(file).to receive(:stat).and_return(double("stat", :ftype => "file"))
1034
+ file.stubs(:stat).returns(mock("stat", :ftype => "file"))
1041
1035
  expect(file).to be_should_be_file
1042
1036
  end
1043
1037
 
1044
1038
  it "should not be a file if neither :ensure nor :content is set but the file exists but not as a normal file" do
1045
- allow(file).to receive(:stat).and_return(double("stat", :ftype => "directory"))
1039
+ file.stubs(:stat).returns(mock("stat", :ftype => "directory"))
1046
1040
  expect(file).to_not be_should_be_file
1047
1041
  end
1048
1042
  end
@@ -1109,80 +1103,73 @@ describe Puppet::Type.type(:file) do
1109
1103
 
1110
1104
  describe "#write" do
1111
1105
  describe "when validating the checksum" do
1112
- before { allow(file).to receive(:validate_checksum?).and_return(true) }
1106
+ before { file.stubs(:validate_checksum?).returns(true) }
1113
1107
 
1114
1108
  it "should fail if the checksum parameter and content checksums do not match" do
1115
- checksum = double('checksum_parameter', :sum => 'checksum_b', :sum_file => 'checksum_b')
1116
- allow(file).to receive(:parameter).with(:checksum).and_return(checksum)
1117
- allow(file).to receive(:parameter).with(:source).and_return(nil)
1109
+ checksum = stub('checksum_parameter', :sum => 'checksum_b', :sum_file => 'checksum_b')
1110
+ file.stubs(:parameter).with(:checksum).returns(checksum)
1111
+ file.stubs(:parameter).with(:source).returns(nil)
1118
1112
 
1119
1113
 
1120
- property = double('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1121
- allow(file).to receive(:property).with(:content).and_return(property)
1114
+ property = stub('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1115
+ file.stubs(:property).with(:content).returns(property)
1122
1116
 
1123
- expect { file.write property }.to raise_error(Puppet::Error) end
1117
+ expect { file.write property }.to raise_error(Puppet::Error)
1118
+ end
1124
1119
  end
1125
1120
 
1126
1121
  describe "when not validating the checksum" do
1127
- before do
1128
- allow(file).to receive(:validate_checksum?).and_return(false)
1129
- end
1122
+ before { file.stubs(:validate_checksum?).returns(false) }
1130
1123
 
1131
1124
  it "should not fail if the checksum property and content checksums do not match" do
1132
- checksum = double('checksum_parameter', :sum => 'checksum_b')
1133
- allow(file).to receive(:parameter).with(:checksum).and_return(checksum)
1134
- allow(file).to receive(:parameter).with(:source).and_return(nil)
1125
+ checksum = stub('checksum_parameter', :sum => 'checksum_b')
1126
+ file.stubs(:parameter).with(:checksum).returns(checksum)
1127
+ file.stubs(:parameter).with(:source).returns(nil)
1135
1128
 
1136
- property = double('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1137
- allow(file).to receive(:property).with(:content).and_return(property)
1129
+ property = stub('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1130
+ file.stubs(:property).with(:content).returns(property)
1138
1131
 
1139
1132
  expect { file.write property }.to_not raise_error
1140
1133
  end
1141
1134
  end
1142
1135
 
1143
1136
  describe "when resource mode is supplied" do
1144
- before do
1145
- allow(file).to receive(:property_fix)
1146
- end
1137
+ before { file.stubs(:property_fix) }
1147
1138
 
1148
1139
  context "and writing temporary files" do
1149
- before do
1150
- allow(file).to receive(:write_temporary_file?).and_return(true)
1151
- end
1140
+ before { file.stubs(:write_temporary_file?).returns(true) }
1152
1141
 
1153
1142
  it "should convert symbolic mode to int" do
1154
1143
  file[:mode] = 'oga=r'
1155
- expect(Puppet::Util).to receive(:replace_file).with(file[:path], 0444)
1144
+ Puppet::Util.expects(:replace_file).with(file[:path], 0444)
1156
1145
  file.write
1157
1146
  end
1158
1147
 
1159
1148
  it "should support int modes" do
1160
1149
  file[:mode] = '0444'
1161
- expect(Puppet::Util).to receive(:replace_file).with(file[:path], 0444)
1150
+ Puppet::Util.expects(:replace_file).with(file[:path], 0444)
1162
1151
  file.write
1163
1152
  end
1164
1153
  end
1165
1154
 
1166
1155
  context "and not writing temporary files" do
1167
- before do
1168
- allow(file).to receive(:write_temporary_file?).and_return(false)
1169
- end
1156
+ before { file.stubs(:write_temporary_file?).returns(false) }
1170
1157
 
1171
1158
  it "should set a umask of 0" do
1172
1159
  file[:mode] = 'oga=r'
1173
- expect(Puppet::Util).to receive(:withumask).with(0)
1160
+ Puppet::Util.expects(:withumask).with(0)
1174
1161
  file.write
1175
1162
  end
1176
1163
 
1177
1164
  it "should convert symbolic mode to int" do
1178
1165
  file[:mode] = 'oga=r'
1179
- expect(File).to receive(:open).with(file[:path], anything, 0444)
1166
+ File.expects(:open).with(file[:path], anything, 0444)
1180
1167
  file.write
1181
1168
  end
1182
1169
 
1183
1170
  it "should support int modes" do
1184
1171
  file[:mode] = '0444'
1185
- expect(File).to receive(:open).with(file[:path], anything, 0444)
1172
+ File.expects(:open).with(file[:path], anything, 0444)
1186
1173
  file.write
1187
1174
  end
1188
1175
  end
@@ -1217,8 +1204,8 @@ describe Puppet::Type.type(:file) do
1217
1204
  describe "#fail_if_checksum_is_wrong" do
1218
1205
  it "should fail if the checksum of the file doesn't match the expected one" do
1219
1206
  expect do
1220
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return('wrong!!')
1221
1207
  file.instance_eval do
1208
+ parameter(:checksum).stubs(:sum_file).returns('wrong!!')
1222
1209
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1223
1210
  end
1224
1211
  end.to raise_error(Puppet::Error, /File written to disk did not match checksum/)
@@ -1226,8 +1213,8 @@ describe Puppet::Type.type(:file) do
1226
1213
 
1227
1214
  it "should not fail if the checksum is correct" do
1228
1215
  expect do
1229
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return('anything!')
1230
1216
  file.instance_eval do
1217
+ parameter(:checksum).stubs(:sum_file).returns('anything!')
1231
1218
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1232
1219
  end
1233
1220
  end.not_to raise_error
@@ -1235,8 +1222,8 @@ describe Puppet::Type.type(:file) do
1235
1222
 
1236
1223
  it "should not fail if the checksum is absent" do
1237
1224
  expect do
1238
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return(nil)
1239
1225
  file.instance_eval do
1226
+ parameter(:checksum).stubs(:sum_file).returns(nil)
1240
1227
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1241
1228
  end
1242
1229
  end.not_to raise_error
@@ -1275,9 +1262,9 @@ describe Puppet::Type.type(:file) do
1275
1262
  file[name] = value
1276
1263
 
1277
1264
  prop = file.property(name)
1278
- expect(prop).to receive(:retrieve)
1279
- expect(prop).to receive(:safe_insync?).and_return(false)
1280
- expect(prop).to receive(:sync)
1265
+ prop.expects(:retrieve)
1266
+ prop.expects(:safe_insync?).returns false
1267
+ prop.expects(:sync)
1281
1268
 
1282
1269
  file.send(:property_fix)
1283
1270
  end
@@ -1348,7 +1335,7 @@ describe Puppet::Type.type(:file) do
1348
1335
  expect(file.autorequire).to be_empty
1349
1336
  end
1350
1337
 
1351
- describe "on Windows systems", :if => Puppet.features.microsoft_windows? do
1338
+ describe "on Windows systems", :if => Puppet::Util::Platform.windows? do
1352
1339
  describe "when using UNC filenames" do
1353
1340
  it "should autorequire its parent directory" do
1354
1341
  file[:path] = '//localhost/foo/bar/baz'
@@ -1411,7 +1398,7 @@ describe Puppet::Type.type(:file) do
1411
1398
  catalog.add_resource @link_resource
1412
1399
 
1413
1400
  # to prevent the catalog from trying to write state.yaml
1414
- allow(Puppet::Util::Storage).to receive(:store)
1401
+ Puppet::Util::Storage.stubs(:store)
1415
1402
  end
1416
1403
 
1417
1404
  it "should preserve the original file mode and ignore the one set by the link" do
@@ -1423,7 +1410,7 @@ describe Puppet::Type.type(:file) do
1423
1410
  end
1424
1411
 
1425
1412
  it "should manage the mode of the followed link" do
1426
- if Puppet.features.microsoft_windows?
1413
+ if Puppet::Util::Platform.windows?
1427
1414
  skip "Windows cannot presently manage the mode when following symlinks"
1428
1415
  else
1429
1416
  @link_resource[:links] = :follow
@@ -1448,21 +1435,17 @@ describe Puppet::Type.type(:file) do
1448
1435
  file[:source] = source
1449
1436
 
1450
1437
  # intercept the indirector call to provide back mocked metadata for the given URI
1451
- metadata = double('metadata', :source => source)
1452
- expect(metadata).to receive(:source=)
1453
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
1438
+ metadata = stub 'metadata', :source => source
1439
+ metadata.expects(:source=)
1440
+ Puppet::FileServing::Metadata.indirection.expects(:find).with do |path, opts|
1441
+ path == source
1442
+ end.returns metadata
1454
1443
 
1455
1444
  uri = file.parameters[:source].uri
1456
1445
  expect(URI.unescape(uri.path)).to eq(filename)
1457
1446
  expect(uri.path.encoding).to eq(Encoding::UTF_8)
1458
1447
  end
1459
1448
 
1460
- matcher :request_key do |expected|
1461
- match do |actual|
1462
- values_match? expected, actual.key
1463
- end
1464
- end
1465
-
1466
1449
  it 'should allow UTF-8 characters inside the indirector / terminus code' do
1467
1450
  filename = "/bar #{mixed_utf8}"
1468
1451
  source = "puppet://foo#{filename}"
@@ -1471,10 +1454,12 @@ describe Puppet::Type.type(:file) do
1471
1454
  # for this test to properly trigger previously errant behavior, the code for
1472
1455
  # Puppet::FileServing::Metadata.indirection.find must run and produce an
1473
1456
  # instance of Puppet::Indirector::FileMetadata::Rest that can be amended
1474
- metadata = double('metadata', :source => source)
1475
- expect(metadata).to receive(:source=)
1457
+ metadata = stub 'metadata', :source => source
1458
+ metadata.expects(:source=)
1476
1459
  require 'puppet/indirector/file_metadata/rest'
1477
- expect_any_instance_of(Puppet::Indirector::FileMetadata::Rest).to receive(:find).with(request_key(filename[1..-1])).and_return(metadata)
1460
+ Puppet::Indirector::FileMetadata::Rest.any_instance.expects(:find).with do |req|
1461
+ req.key == filename[1..-1]
1462
+ end.returns(metadata)
1478
1463
 
1479
1464
  uri = file.parameters[:source].uri
1480
1465
  expect(URI.unescape(uri.path)).to eq(filename)
@@ -1526,7 +1511,8 @@ describe Puppet::Type.type(:file) do
1526
1511
 
1527
1512
  describe "on Windows when source_permissions is `use`" do
1528
1513
  before :each do
1529
- allow(Puppet.features).to receive(:microsoft_windows?).and_return(true)
1514
+ Puppet::Util::Platform.stubs(:windows?).returns true
1515
+
1530
1516
  file[:source_permissions] = "use"
1531
1517
  end
1532
1518
  let(:err_message) { "Copying owner/mode/group from the" <<
@@ -1563,8 +1549,8 @@ describe Puppet::Type.type(:file) do
1563
1549
  file[:group] = 2
1564
1550
  file[:mode] = "0003"
1565
1551
 
1566
- expect(file.parameter(:source)).to receive(:copy_source_values)
1567
- expect(file).to receive(:warning).with(err_message)
1552
+ file.parameter(:source).expects(:copy_source_values)
1553
+ file.expects(:warning).with(err_message)
1568
1554
  expect { file.retrieve }.not_to raise_error
1569
1555
  end
1570
1556
  end
@@ -1652,7 +1638,7 @@ describe Puppet::Type.type(:file) do
1652
1638
  describe "when auditing" do
1653
1639
  before :each do
1654
1640
  # to prevent the catalog from trying to write state.yaml
1655
- allow(Puppet::Util::Storage).to receive(:store)
1641
+ Puppet::Util::Storage.stubs(:store)
1656
1642
  end
1657
1643
 
1658
1644
  it "should not fail if creating a new file if group is not set" do