puppet 6.0.10-universal-darwin → 6.1.0-universal-darwin

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 (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -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
@@ -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
@@ -485,8 +484,8 @@ describe Puppet::Type.type(:file) do
485
484
  describe "and a source is set" do
486
485
  it "should pass the already-discovered resources to recurse_remote" do
487
486
  file[:source] = File.expand_path(__FILE__)
488
- allow(file).to receive(:recurse_local).and_return(:foo => "bar")
489
- expect(file).to receive(:recurse_remote).with(:foo => "bar").and_return([])
487
+ file.stubs(:recurse_local).returns(:foo => "bar")
488
+ file.expects(:recurse_remote).with(:foo => "bar").returns []
490
489
  file.recurse
491
490
  end
492
491
  end
@@ -494,28 +493,28 @@ describe Puppet::Type.type(:file) do
494
493
  describe "and a target is set" do
495
494
  it "should use recurse_link" do
496
495
  file[:target] = File.expand_path(__FILE__)
497
- allow(file).to receive(:recurse_local).and_return(:foo => "bar")
498
- expect(file).to receive(:recurse_link).with(:foo => "bar").and_return([])
496
+ file.stubs(:recurse_local).returns(:foo => "bar")
497
+ file.expects(:recurse_link).with(:foo => "bar").returns []
499
498
  file.recurse
500
499
  end
501
500
  end
502
501
 
503
502
  it "should use recurse_local if recurse is not remote" do
504
- expect(file).to receive(:recurse_local).and_return({})
503
+ file.expects(:recurse_local).returns({})
505
504
  file.recurse
506
505
  end
507
506
 
508
507
  it "should not use recurse_local if recurse is remote" do
509
508
  file[:recurse] = :remote
510
- expect(file).not_to receive(:recurse_local)
509
+ file.expects(:recurse_local).never
511
510
  file.recurse
512
511
  end
513
512
 
514
513
  it "should return the generated resources as an array sorted by file path" do
515
- one = double('one', :[] => "/one")
516
- two = double('two', :[] => "/one/two")
517
- three = double('three', :[] => "/three")
518
- 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)
519
518
  expect(file.recurse).to eq([one, two, three])
520
519
  end
521
520
 
@@ -526,20 +525,19 @@ describe Puppet::Type.type(:file) do
526
525
 
527
526
  it "should mark each file for removal" do
528
527
  local = described_class.new(:path => path, :ensure => :present)
529
- expect(file).to receive(:recurse_local).and_return("local" => local)
528
+ file.expects(:recurse_local).returns("local" => local)
530
529
 
531
530
  file.recurse
532
531
  expect(local[:ensure]).to eq(:absent)
533
532
  end
534
533
 
535
534
  it "should not remove files that exist in the remote repository" do
536
- pending("FIXME: This test has been broken since it was introduced in c189b46e3f1 because of = vs ==")
537
535
  file[:source] = File.expand_path(__FILE__)
538
- expect(file).to receive(:recurse_local).and_return({})
536
+ file.expects(:recurse_local).returns({})
539
537
 
540
538
  remote = described_class.new(:path => path, :source => File.expand_path(__FILE__), :ensure => :present)
541
539
 
542
- expect(file).to receive(:recurse_remote).with(hash_including("remote" => remote))
540
+ file.expects(:recurse_remote).with { |hash| hash["remote"] = remote }
543
541
 
544
542
  file.recurse
545
543
 
@@ -582,42 +580,42 @@ describe Puppet::Type.type(:file) do
582
580
 
583
581
  describe "#recurse_link" do
584
582
  before do
585
- @first = double('first', :relative_path => "first", :full_path => "/my/first", :ftype => "directory")
586
- @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"
587
585
 
588
- @resource = double('file', :[]= => nil)
586
+ @resource = stub 'file', :[]= => nil
589
587
  end
590
588
 
591
589
  it "should pass its target to the :perform_recursion method" do
592
590
  file[:target] = "mylinks"
593
- expect(file).to receive(:perform_recursion).with("mylinks").and_return([@first])
594
- allow(file).to receive(:newchild).and_return(@resource)
591
+ file.expects(:perform_recursion).with("mylinks").returns [@first]
592
+ file.stubs(:newchild).returns @resource
595
593
  file.recurse_link({})
596
594
  end
597
595
 
598
596
  it "should ignore the recursively-found '.' file and configure the top-level file to create a directory" do
599
- allow(@first).to receive(:relative_path).and_return(".")
597
+ @first.stubs(:relative_path).returns "."
600
598
  file[:target] = "mylinks"
601
- expect(file).to receive(:perform_recursion).with("mylinks").and_return([@first])
602
- expect(file).not_to receive(:newchild)
603
- 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)
604
602
  file.recurse_link({})
605
603
  end
606
604
 
607
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
608
- expect(file).to receive(:perform_recursion).and_return([@first, @second])
609
- 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
610
608
  file.recurse_link("second" => @resource)
611
609
  end
612
610
 
613
611
  it "should not create a new child resource for paths that already exist in the children hash" do
614
- expect(file).to receive(:perform_recursion).and_return([@first])
615
- expect(file).not_to receive(:newchild)
612
+ file.expects(:perform_recursion).returns [@first]
613
+ file.expects(:newchild).never
616
614
  file.recurse_link("first" => @resource)
617
615
  end
618
616
 
619
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
620
- allow(file).to receive(:perform_recursion).and_return([@first, @second])
618
+ file.stubs(:perform_recursion).returns [@first, @second]
621
619
  file.recurse_link("first" => @resource, "second" => file)
622
620
 
623
621
  expect(file[:ensure]).to eq(:link)
@@ -625,59 +623,59 @@ describe Puppet::Type.type(:file) do
625
623
  end
626
624
 
627
625
  it "should :ensure to :directory if the file is a directory" do
628
- allow(file).to receive(:perform_recursion).and_return([@first, @second])
626
+ file.stubs(:perform_recursion).returns [@first, @second]
629
627
  file.recurse_link("first" => file, "second" => @resource)
630
628
 
631
629
  expect(file[:ensure]).to eq(:directory)
632
630
  end
633
631
 
634
632
  it "should return a hash with both created and existing resources with the relative paths as the hash keys" do
635
- expect(file).to receive(:perform_recursion).and_return([@first, @second])
636
- allow(file).to receive(:newchild).and_return(file)
633
+ file.expects(:perform_recursion).returns [@first, @second]
634
+ file.stubs(:newchild).returns file
637
635
  expect(file.recurse_link("second" => @resource)).to eq({"second" => @resource, "first" => file})
638
636
  end
639
637
  end
640
638
 
641
639
  describe "#recurse_local" do
642
640
  before do
643
- @metadata = double('metadata', :relative_path => "my/file")
641
+ @metadata = stub 'metadata', :relative_path => "my/file"
644
642
  end
645
643
 
646
644
  it "should pass its path to the :perform_recursion method" do
647
- expect(file).to receive(:perform_recursion).with(file[:path]).and_return([@metadata])
648
- allow(file).to receive(:newchild)
645
+ file.expects(:perform_recursion).with(file[:path]).returns [@metadata]
646
+ file.stubs(:newchild)
649
647
  file.recurse_local
650
648
  end
651
649
 
652
650
  it "should return an empty hash if the recursion returns nothing" do
653
- expect(file).to receive(:perform_recursion).and_return(nil)
651
+ file.expects(:perform_recursion).returns nil
654
652
  expect(file.recurse_local).to eq({})
655
653
  end
656
654
 
657
655
  it "should create a new child resource with each generated metadata instance's relative path" do
658
- expect(file).to receive(:perform_recursion).and_return([@metadata])
659
- 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"
660
658
  file.recurse_local
661
659
  end
662
660
 
663
661
  it "should not create a new child resource for the '.' directory" do
664
- allow(@metadata).to receive(:relative_path).and_return(".")
662
+ @metadata.stubs(:relative_path).returns "."
665
663
 
666
- expect(file).to receive(:perform_recursion).and_return([@metadata])
667
- expect(file).not_to receive(:newchild)
664
+ file.expects(:perform_recursion).returns [@metadata]
665
+ file.expects(:newchild).never
668
666
  file.recurse_local
669
667
  end
670
668
 
671
669
  it "should return a hash of the created resources with the relative paths as the hash keys" do
672
- expect(file).to receive(:perform_recursion).and_return([@metadata])
673
- 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"
674
672
  expect(file.recurse_local).to eq({"my/file" => "fiebar"})
675
673
  end
676
674
 
677
675
  it "should set checksum_type to none if this file checksum is none" do
678
676
  file[:checksum] = :none
679
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(anything, hash_including(checksum_type: :none)).and_return([@metadata])
680
- 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"
681
679
  file.recurse_local
682
680
  end
683
681
  end
@@ -690,94 +688,94 @@ describe Puppet::Type.type(:file) do
690
688
 
691
689
  @first = Puppet::FileServing::Metadata.new(my, :relative_path => "first")
692
690
  @second = Puppet::FileServing::Metadata.new(my, :relative_path => "second")
693
- allow(@first).to receive(:ftype).and_return("directory")
694
- allow(@second).to receive(:ftype).and_return("directory")
691
+ @first.stubs(:ftype).returns "directory"
692
+ @second.stubs(:ftype).returns "directory"
695
693
 
696
- @parameter = double('property', :metadata= => nil)
697
- @resource = double('file', :[]= => nil, :parameter => @parameter)
694
+ @parameter = stub 'property', :metadata= => nil
695
+ @resource = stub 'file', :[]= => nil, :parameter => @parameter
698
696
  end
699
697
 
700
698
  it "should pass its source to the :perform_recursion method" do
701
699
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
702
- expect(file).to receive(:perform_recursion).with("puppet://foo/bar").and_return([data])
703
- 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
704
702
  file.recurse_remote({})
705
703
  end
706
704
 
707
705
  it "should not recurse when the remote file is not a directory" do
708
706
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => ".")
709
- allow(data).to receive(:ftype).and_return("file")
710
- expect(file).to receive(:perform_recursion).with("puppet://foo/bar").and_return([data])
711
- 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
712
710
  file.recurse_remote({})
713
711
  end
714
712
 
715
713
  it "should set the source of each returned file to the searched-for URI plus the found relative path" do
716
- expect(@first).to receive(:source=).with(File.join("puppet://foo/bar", @first.relative_path))
717
- expect(file).to receive(:perform_recursion).and_return([@first])
718
- 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
719
717
  file.recurse_remote({})
720
718
  end
721
719
 
722
720
  it "should create a new resource for any relative file paths that do not already have a resource" do
723
- allow(file).to receive(:perform_recursion).and_return([@first])
724
- 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
725
723
  expect(file.recurse_remote({})).to eq({"first" => @resource})
726
724
  end
727
725
 
728
726
  it "should not create a new resource for any relative file paths that do already have a resource" do
729
- allow(file).to receive(:perform_recursion).and_return([@first])
730
- expect(file).not_to receive(:newchild)
727
+ file.stubs(:perform_recursion).returns [@first]
728
+ file.expects(:newchild).never
731
729
  file.recurse_remote("first" => @resource)
732
730
  end
733
731
 
734
732
  it "should set the source of each resource to the source of the metadata" do
735
- allow(file).to receive(:perform_recursion).and_return([@first])
736
- allow(@resource).to receive(:[]=)
737
- 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))
738
736
  file.recurse_remote("first" => @resource)
739
737
  end
740
738
 
741
739
  it "should set the checksum parameter based on the metadata" do
742
- allow(file).to receive(:perform_recursion).and_return([@first])
743
- allow(@resource).to receive(:[]=)
744
- expect(@resource).to receive(:[]=).with(:checksum, "md5")
740
+ file.stubs(:perform_recursion).returns [@first]
741
+ @resource.stubs(:[]=)
742
+ @resource.expects(:[]=).with(:checksum, "md5")
745
743
  file.recurse_remote("first" => @resource)
746
744
  end
747
745
 
748
746
  it "should store the metadata in the source property for each resource so the source does not have to requery the metadata" do
749
- allow(file).to receive(:perform_recursion).and_return([@first])
750
- 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
751
749
 
752
- expect(@parameter).to receive(:metadata=).with(@first)
750
+ @parameter.expects(:metadata=).with(@first)
753
751
 
754
752
  file.recurse_remote("first" => @resource)
755
753
  end
756
754
 
757
755
  it "should not create a new resource for the '.' file" do
758
- allow(@first).to receive(:relative_path).and_return(".")
759
- allow(file).to receive(:perform_recursion).and_return([@first])
756
+ @first.stubs(:relative_path).returns "."
757
+ file.stubs(:perform_recursion).returns [@first]
760
758
 
761
- expect(file).not_to receive(:newchild)
759
+ file.expects(:newchild).never
762
760
 
763
761
  file.recurse_remote({})
764
762
  end
765
763
 
766
764
  it "should store the metadata in the main file's source property if the relative path is '.'" do
767
- allow(@first).to receive(:relative_path).and_return(".")
768
- allow(file).to receive(:perform_recursion).and_return([@first])
765
+ @first.stubs(:relative_path).returns "."
766
+ file.stubs(:perform_recursion).returns [@first]
769
767
 
770
- expect(file.parameter(:source)).to receive(:metadata=).with(@first)
768
+ file.parameter(:source).expects(:metadata=).with @first
771
769
 
772
770
  file.recurse_remote("first" => @resource)
773
771
  end
774
772
 
775
773
  it "should update the main file's checksum parameter if the relative path is '.'" do
776
- allow(@first).to receive(:relative_path).and_return(".")
777
- allow(file).to receive(:perform_recursion).and_return([@first])
774
+ @first.stubs(:relative_path).returns "."
775
+ file.stubs(:perform_recursion).returns [@first]
778
776
 
779
- allow(file).to receive(:[]=)
780
- expect(file). to receive(:[]=).with(:checksum, "md5")
777
+ file.stubs(:[]=)
778
+ file.expects(:[]=).with(:checksum, "md5")
781
779
 
782
780
  file.recurse_remote("first" => @resource)
783
781
  end
@@ -795,11 +793,11 @@ describe Puppet::Type.type(:file) do
795
793
  it "should create file instances for the results for the first source to return any values" do
796
794
  data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
797
795
  file[:source] = sources.keys.sort.map { |key| File.expand_path(key) }
798
- expect(file).to receive(:perform_recursion).with(sources['/a']).and_return(nil)
799
- expect(file).to receive(:perform_recursion).with(sources['/b']).and_return([])
800
- expect(file).to receive(:perform_recursion).with(sources['/c']).and_return([data])
801
- expect(file).not_to receive(:perform_recursion).with(sources['/d'])
802
- 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
803
801
  file.recurse_remote({})
804
802
  end
805
803
  end
@@ -813,20 +811,21 @@ describe Puppet::Type.type(:file) do
813
811
  klass = Puppet::FileServing::Metadata
814
812
 
815
813
  file[:source] = abs_path = %w{/a /b /c /d}.map {|f| File.expand_path(f) }
816
- allow(file).to receive(:newchild).and_return(@resource)
814
+ file.stubs(:newchild).returns @resource
817
815
 
818
816
  one = [klass.new(abs_path[0], :relative_path => "a")]
819
- expect(file).to receive(:perform_recursion).with(sources['/a']).and_return(one)
820
- 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
821
819
 
822
820
  two = [klass.new(abs_path[1], :relative_path => "a"), klass.new(abs_path[1], :relative_path => "b")]
823
- expect(file).to receive(:perform_recursion).with(sources['/b']).and_return(two)
824
- 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
825
823
 
826
824
  three = [klass.new(abs_path[2], :relative_path => "a"), klass.new(abs_path[2], :relative_path => "c")]
827
- expect(file).to receive(:perform_recursion).with(sources['/c']).and_return(three)
828
- expect(file).to receive(:newchild).with("c").and_return(@resource)
829
- 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 []
830
829
 
831
830
  file.recurse_remote({})
832
831
  end
@@ -836,54 +835,54 @@ describe Puppet::Type.type(:file) do
836
835
 
837
836
  describe "#perform_recursion", :uses_checksums => true do
838
837
  it "should use Metadata to do its recursion" do
839
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search)
838
+ Puppet::FileServing::Metadata.indirection.expects(:search)
840
839
  file.perform_recursion(file[:path])
841
840
  end
842
841
 
843
842
  it "should use the provided path as the key to the search" do
844
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with("/foo", anything)
843
+ Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| key == "/foo" }
845
844
  file.perform_recursion("/foo")
846
845
  end
847
846
 
848
847
  it "should return the results of the metadata search" do
849
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).and_return("foobar")
848
+ Puppet::FileServing::Metadata.indirection.expects(:search).returns "foobar"
850
849
  expect(file.perform_recursion(file[:path])).to eq("foobar")
851
850
  end
852
851
 
853
852
  it "should pass its recursion value to the search" do
854
853
  file[:recurse] = true
855
- 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 }
856
855
  file.perform_recursion(file[:path])
857
856
  end
858
857
 
859
858
  it "should pass true if recursion is remote" do
860
859
  file[:recurse] = :remote
861
- 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 }
862
861
  file.perform_recursion(file[:path])
863
862
  end
864
863
 
865
864
  it "should pass its recursion limit value to the search" do
866
865
  file[:recurselimit] = 10
867
- 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 }
868
867
  file.perform_recursion(file[:path])
869
868
  end
870
869
 
871
870
  it "should configure the search to ignore or manage links" do
872
871
  file[:links] = :manage
873
- 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 }
874
873
  file.perform_recursion(file[:path])
875
874
  end
876
875
 
877
876
  it "should pass its 'ignore' setting to the search if it has one" do
878
877
  file[:ignore] = %w{.svn CVS}
879
- 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} }
880
879
  file.perform_recursion(file[:path])
881
880
  end
882
881
 
883
882
  with_digest_algorithms do
884
883
  it "it should pass its 'checksum' setting #{metadata[:digest_algorithm]} to the search" do
885
884
  file[:source] = File.expand_path('/foo')
886
- 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 }
887
886
  file.perform_recursion(file[:path])
888
887
  end
889
888
  end
@@ -896,8 +895,8 @@ describe Puppet::Type.type(:file) do
896
895
 
897
896
  it "should fail if it can't backup the file" do
898
897
  # Default: file[:backup] = true
899
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
900
- 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
901
900
 
902
901
  expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not back up; will not remove/)
903
902
  end
@@ -906,27 +905,27 @@ describe Puppet::Type.type(:file) do
906
905
  it "should not backup directories if backup is true and force is false" do
907
906
  # Default: file[:backup] = true
908
907
  file[:force] = false
909
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
908
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
910
909
 
911
- expect(file).not_to receive(:perform_backup)
912
- 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")
913
912
  expect(file.remove_existing(:file)).to eq(false)
914
913
  end
915
914
 
916
915
  it "should backup directories if backup is true and force is true" do
917
916
  # Default: file[:backup] = true
918
917
  file[:force] = true
919
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
918
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
920
919
 
921
- expect(FileUtils).to receive(:rmtree).with(file[:path])
922
- expect(file).to receive(:perform_backup).and_return(true)
920
+ FileUtils.expects(:rmtree).with(file[:path])
921
+ file.expects(:perform_backup).returns(true)
923
922
 
924
923
  expect(file.remove_existing(:file)).to eq(true)
925
924
  end
926
925
  end
927
926
 
928
927
  it "should not do anything if the file is already the right type and not a link" do
929
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
928
+ file.stubs(:stat).returns stub('stat', :ftype => 'file')
930
929
 
931
930
  expect(file.remove_existing(:file)).to eq(false)
932
931
  end
@@ -935,7 +934,7 @@ describe Puppet::Type.type(:file) do
935
934
  file[:force] = false
936
935
  # Actually call stat to set @needs_stat to nil
937
936
  file.stat
938
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
937
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
939
938
 
940
939
  expect(file.instance_variable_get(:@stat)).to eq(nil)
941
940
  end
@@ -943,15 +942,15 @@ describe Puppet::Type.type(:file) do
943
942
  it "should remove a directory if backup is true and force is true" do
944
943
  # Default: file[:backup] = true
945
944
  file[:force] = true
946
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
945
+ file.stubs(:stat).returns stub('stat', :ftype => 'directory')
947
946
 
948
- expect(FileUtils).to receive(:rmtree).with(file[:path])
947
+ FileUtils.expects(:rmtree).with(file[:path])
949
948
 
950
949
  expect(file.remove_existing(:file)).to eq(true)
951
950
  end
952
951
 
953
952
  it "should remove an existing file" do
954
- allow(file).to receive(:perform_backup).and_return(true)
953
+ file.stubs(:perform_backup).returns true
955
954
  FileUtils.touch(path)
956
955
 
957
956
  expect(file.remove_existing(:directory)).to eq(true)
@@ -960,7 +959,7 @@ describe Puppet::Type.type(:file) do
960
959
  end
961
960
 
962
961
  it "should remove an existing link", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
963
- allow(file).to receive(:perform_backup).and_return(true)
962
+ file.stubs(:perform_backup).returns true
964
963
 
965
964
  target = tmpfile('link_target')
966
965
  FileUtils.touch(target)
@@ -973,18 +972,18 @@ describe Puppet::Type.type(:file) do
973
972
  end
974
973
 
975
974
  it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
976
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'blockSpecial'))
975
+ file.stubs(:stat).returns stub('stat', :ftype => 'blockSpecial')
977
976
 
978
- 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")
979
978
  expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not remove files of type blockSpecial/)
980
979
  end
981
980
 
982
981
  it "should invalidate the existing stat of the file" do
983
982
  # Actually call stat to set @needs_stat to nil
984
983
  file.stat
985
- allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
984
+ file.stubs(:stat).returns stub('stat', :ftype => 'file')
986
985
 
987
- allow(Puppet::FileSystem).to receive(:unlink)
986
+ Puppet::FileSystem.stubs(:unlink)
988
987
 
989
988
  expect(file.remove_existing(:directory)).to eq(true)
990
989
  expect(file.instance_variable_get(:@stat)).to eq(:needs_stat)
@@ -994,7 +993,7 @@ describe Puppet::Type.type(:file) do
994
993
  describe "#retrieve" do
995
994
  it "should copy the source values if the 'source' parameter is set" do
996
995
  file[:source] = File.expand_path('/foo/bar')
997
- expect(file.parameter(:source)).to receive(:copy_source_values)
996
+ file.parameter(:source).expects(:copy_source_values)
998
997
  file.retrieve
999
998
  end
1000
999
  end
@@ -1010,7 +1009,7 @@ describe Puppet::Type.type(:file) do
1010
1009
  end
1011
1010
 
1012
1011
  it "should be a file if :ensure is set to :present and the file exists as a normal file" do
1013
- allow(file).to receive(:stat).and_return(double('stat', :ftype => "file"))
1012
+ file.stubs(:stat).returns(mock('stat', :ftype => "file"))
1014
1013
  file[:ensure] = :present
1015
1014
  expect(file).to be_should_be_file
1016
1015
  end
@@ -1021,7 +1020,7 @@ describe Puppet::Type.type(:file) do
1021
1020
  end
1022
1021
 
1023
1022
  it "should not be a file if :ensure is set to :present and the file exists but is not a normal file" do
1024
- allow(file).to receive(:stat).and_return(double('stat', :ftype => "directory"))
1023
+ file.stubs(:stat).returns(mock('stat', :ftype => "directory"))
1025
1024
  file[:ensure] = :present
1026
1025
  expect(file).to_not be_should_be_file
1027
1026
  end
@@ -1032,12 +1031,12 @@ describe Puppet::Type.type(:file) do
1032
1031
  end
1033
1032
 
1034
1033
  it "should be a file if neither :ensure nor :content is set but the file exists as a normal file" do
1035
- allow(file).to receive(:stat).and_return(double("stat", :ftype => "file"))
1034
+ file.stubs(:stat).returns(mock("stat", :ftype => "file"))
1036
1035
  expect(file).to be_should_be_file
1037
1036
  end
1038
1037
 
1039
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
1040
- allow(file).to receive(:stat).and_return(double("stat", :ftype => "directory"))
1039
+ file.stubs(:stat).returns(mock("stat", :ftype => "directory"))
1041
1040
  expect(file).to_not be_should_be_file
1042
1041
  end
1043
1042
  end
@@ -1104,80 +1103,73 @@ describe Puppet::Type.type(:file) do
1104
1103
 
1105
1104
  describe "#write" do
1106
1105
  describe "when validating the checksum" do
1107
- before { allow(file).to receive(:validate_checksum?).and_return(true) }
1106
+ before { file.stubs(:validate_checksum?).returns(true) }
1108
1107
 
1109
1108
  it "should fail if the checksum parameter and content checksums do not match" do
1110
- checksum = double('checksum_parameter', :sum => 'checksum_b', :sum_file => 'checksum_b')
1111
- allow(file).to receive(:parameter).with(:checksum).and_return(checksum)
1112
- 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)
1113
1112
 
1114
1113
 
1115
- property = double('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1116
- 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)
1117
1116
 
1118
- expect { file.write property }.to raise_error(Puppet::Error) end
1117
+ expect { file.write property }.to raise_error(Puppet::Error)
1118
+ end
1119
1119
  end
1120
1120
 
1121
1121
  describe "when not validating the checksum" do
1122
- before do
1123
- allow(file).to receive(:validate_checksum?).and_return(false)
1124
- end
1122
+ before { file.stubs(:validate_checksum?).returns(false) }
1125
1123
 
1126
1124
  it "should not fail if the checksum property and content checksums do not match" do
1127
- checksum = double('checksum_parameter', :sum => 'checksum_b')
1128
- allow(file).to receive(:parameter).with(:checksum).and_return(checksum)
1129
- 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)
1130
1128
 
1131
- property = double('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
1132
- 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)
1133
1131
 
1134
1132
  expect { file.write property }.to_not raise_error
1135
1133
  end
1136
1134
  end
1137
1135
 
1138
1136
  describe "when resource mode is supplied" do
1139
- before do
1140
- allow(file).to receive(:property_fix)
1141
- end
1137
+ before { file.stubs(:property_fix) }
1142
1138
 
1143
1139
  context "and writing temporary files" do
1144
- before do
1145
- allow(file).to receive(:write_temporary_file?).and_return(true)
1146
- end
1140
+ before { file.stubs(:write_temporary_file?).returns(true) }
1147
1141
 
1148
1142
  it "should convert symbolic mode to int" do
1149
1143
  file[:mode] = 'oga=r'
1150
- expect(Puppet::Util).to receive(:replace_file).with(file[:path], 0444)
1144
+ Puppet::Util.expects(:replace_file).with(file[:path], 0444)
1151
1145
  file.write
1152
1146
  end
1153
1147
 
1154
1148
  it "should support int modes" do
1155
1149
  file[:mode] = '0444'
1156
- expect(Puppet::Util).to receive(:replace_file).with(file[:path], 0444)
1150
+ Puppet::Util.expects(:replace_file).with(file[:path], 0444)
1157
1151
  file.write
1158
1152
  end
1159
1153
  end
1160
1154
 
1161
1155
  context "and not writing temporary files" do
1162
- before do
1163
- allow(file).to receive(:write_temporary_file?).and_return(false)
1164
- end
1156
+ before { file.stubs(:write_temporary_file?).returns(false) }
1165
1157
 
1166
1158
  it "should set a umask of 0" do
1167
1159
  file[:mode] = 'oga=r'
1168
- expect(Puppet::Util).to receive(:withumask).with(0)
1160
+ Puppet::Util.expects(:withumask).with(0)
1169
1161
  file.write
1170
1162
  end
1171
1163
 
1172
1164
  it "should convert symbolic mode to int" do
1173
1165
  file[:mode] = 'oga=r'
1174
- expect(File).to receive(:open).with(file[:path], anything, 0444)
1166
+ File.expects(:open).with(file[:path], anything, 0444)
1175
1167
  file.write
1176
1168
  end
1177
1169
 
1178
1170
  it "should support int modes" do
1179
1171
  file[:mode] = '0444'
1180
- expect(File).to receive(:open).with(file[:path], anything, 0444)
1172
+ File.expects(:open).with(file[:path], anything, 0444)
1181
1173
  file.write
1182
1174
  end
1183
1175
  end
@@ -1212,8 +1204,8 @@ describe Puppet::Type.type(:file) do
1212
1204
  describe "#fail_if_checksum_is_wrong" do
1213
1205
  it "should fail if the checksum of the file doesn't match the expected one" do
1214
1206
  expect do
1215
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return('wrong!!')
1216
1207
  file.instance_eval do
1208
+ parameter(:checksum).stubs(:sum_file).returns('wrong!!')
1217
1209
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1218
1210
  end
1219
1211
  end.to raise_error(Puppet::Error, /File written to disk did not match checksum/)
@@ -1221,8 +1213,8 @@ describe Puppet::Type.type(:file) do
1221
1213
 
1222
1214
  it "should not fail if the checksum is correct" do
1223
1215
  expect do
1224
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return('anything!')
1225
1216
  file.instance_eval do
1217
+ parameter(:checksum).stubs(:sum_file).returns('anything!')
1226
1218
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1227
1219
  end
1228
1220
  end.not_to raise_error
@@ -1230,8 +1222,8 @@ describe Puppet::Type.type(:file) do
1230
1222
 
1231
1223
  it "should not fail if the checksum is absent" do
1232
1224
  expect do
1233
- allow(file.parameter(:checksum)).to receive(:sum_file).and_return(nil)
1234
1225
  file.instance_eval do
1226
+ parameter(:checksum).stubs(:sum_file).returns(nil)
1235
1227
  fail_if_checksum_is_wrong(self[:path], 'anything!')
1236
1228
  end
1237
1229
  end.not_to raise_error
@@ -1270,9 +1262,9 @@ describe Puppet::Type.type(:file) do
1270
1262
  file[name] = value
1271
1263
 
1272
1264
  prop = file.property(name)
1273
- expect(prop).to receive(:retrieve)
1274
- expect(prop).to receive(:safe_insync?).and_return(false)
1275
- expect(prop).to receive(:sync)
1265
+ prop.expects(:retrieve)
1266
+ prop.expects(:safe_insync?).returns false
1267
+ prop.expects(:sync)
1276
1268
 
1277
1269
  file.send(:property_fix)
1278
1270
  end
@@ -1406,7 +1398,7 @@ describe Puppet::Type.type(:file) do
1406
1398
  catalog.add_resource @link_resource
1407
1399
 
1408
1400
  # to prevent the catalog from trying to write state.yaml
1409
- allow(Puppet::Util::Storage).to receive(:store)
1401
+ Puppet::Util::Storage.stubs(:store)
1410
1402
  end
1411
1403
 
1412
1404
  it "should preserve the original file mode and ignore the one set by the link" do
@@ -1443,21 +1435,17 @@ describe Puppet::Type.type(:file) do
1443
1435
  file[:source] = source
1444
1436
 
1445
1437
  # intercept the indirector call to provide back mocked metadata for the given URI
1446
- metadata = double('metadata', :source => source)
1447
- expect(metadata).to receive(:source=)
1448
- 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
1449
1443
 
1450
1444
  uri = file.parameters[:source].uri
1451
1445
  expect(URI.unescape(uri.path)).to eq(filename)
1452
1446
  expect(uri.path.encoding).to eq(Encoding::UTF_8)
1453
1447
  end
1454
1448
 
1455
- matcher :request_key do |expected|
1456
- match do |actual|
1457
- values_match? expected, actual.key
1458
- end
1459
- end
1460
-
1461
1449
  it 'should allow UTF-8 characters inside the indirector / terminus code' do
1462
1450
  filename = "/bar #{mixed_utf8}"
1463
1451
  source = "puppet://foo#{filename}"
@@ -1466,10 +1454,12 @@ describe Puppet::Type.type(:file) do
1466
1454
  # for this test to properly trigger previously errant behavior, the code for
1467
1455
  # Puppet::FileServing::Metadata.indirection.find must run and produce an
1468
1456
  # instance of Puppet::Indirector::FileMetadata::Rest that can be amended
1469
- metadata = double('metadata', :source => source)
1470
- expect(metadata).to receive(:source=)
1457
+ metadata = stub 'metadata', :source => source
1458
+ metadata.expects(:source=)
1471
1459
  require 'puppet/indirector/file_metadata/rest'
1472
- 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)
1473
1463
 
1474
1464
  uri = file.parameters[:source].uri
1475
1465
  expect(URI.unescape(uri.path)).to eq(filename)
@@ -1521,7 +1511,7 @@ describe Puppet::Type.type(:file) do
1521
1511
 
1522
1512
  describe "on Windows when source_permissions is `use`" do
1523
1513
  before :each do
1524
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
1514
+ Puppet::Util::Platform.stubs(:windows?).returns true
1525
1515
 
1526
1516
  file[:source_permissions] = "use"
1527
1517
  end
@@ -1559,8 +1549,8 @@ describe Puppet::Type.type(:file) do
1559
1549
  file[:group] = 2
1560
1550
  file[:mode] = "0003"
1561
1551
 
1562
- expect(file.parameter(:source)).to receive(:copy_source_values)
1563
- expect(file).to receive(:warning).with(err_message)
1552
+ file.parameter(:source).expects(:copy_source_values)
1553
+ file.expects(:warning).with(err_message)
1564
1554
  expect { file.retrieve }.not_to raise_error
1565
1555
  end
1566
1556
  end
@@ -1648,7 +1638,7 @@ describe Puppet::Type.type(:file) do
1648
1638
  describe "when auditing" do
1649
1639
  before :each do
1650
1640
  # to prevent the catalog from trying to write state.yaml
1651
- allow(Puppet::Util::Storage).to receive(:store)
1641
+ Puppet::Util::Storage.stubs(:store)
1652
1642
  end
1653
1643
 
1654
1644
  it "should not fail if creating a new file if group is not set" do