puppet 6.0.10 → 6.1.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 (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
  component = Puppet::Type.type(:component)
@@ -1,10 +1,11 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
- RSpec.describe Puppet::Type.type(:exec) do
4
+ describe Puppet::Type.type(:exec) do
4
5
  include PuppetSpec::Files
5
6
 
6
7
  def exec_tester(command, exitstatus = 0, rest = {})
7
- allow(Puppet.features).to receive(:root?).and_return(true)
8
+ Puppet.features.stubs(:root?).returns(true)
8
9
 
9
10
  output = rest.delete(:output) || ''
10
11
 
@@ -20,44 +21,16 @@ RSpec.describe Puppet::Type.type(:exec) do
20
21
  }.merge(rest)
21
22
 
22
23
  exec = Puppet::Type.type(:exec).new(type_args)
23
- expect(Puppet::Util::Execution).to receive(:execute) do |cmd, options|
24
- expect(cmd).to eq(command)
25
- expect(options[:override_locale]).to eq(false)
26
- expect(options).to have_key(:custom_environment)
27
24
 
28
- output
29
- end.exactly(tries).times
25
+ Puppet::Util::Execution.expects(:execute).times(tries).with() do |*args|
26
+ args[0] == command &&
27
+ args[1][:override_locale] == false &&
28
+ args[1].has_key?(:custom_environment)
29
+ end.returns(output)
30
30
 
31
31
  return exec
32
32
  end
33
33
 
34
- def exec_stub(options = {})
35
- command = options.delete(:command) || @command
36
- #unless_val = options.delete(:unless) || :true
37
- type_args = {
38
- :name => command,
39
- #:unless => unless_val,
40
- }.merge(options)
41
-
42
- # Chicken, meet egg:
43
- # Provider methods have to be stubbed before resource init or checks fail
44
- # We have to set 'unless' in resource init or it can not be marked sensitive correctly.
45
- # So: we create a dummy ahead of time and use 'any_instance' to stub out provider methods.
46
- dummy = Puppet::Type.type(:exec).new(:name => @command)
47
- allow_any_instance_of(dummy.provider.class).to receive(:validatecmd)
48
- allow_any_instance_of(dummy.provider.class).to receive(:checkexe).and_return(true)
49
- pass_status = double('status', :exitstatus => 0, :split => ["pass output"])
50
- fail_status = double('status', :exitstatus => 1, :split => ["fail output"])
51
- allow(Puppet::Util::Execution).to receive(:execute).with(:true, anything).and_return(pass_status)
52
- allow(Puppet::Util::Execution).to receive(:execute).with(:false, anything).and_return(fail_status)
53
-
54
- test = Puppet::Type.type(:exec).new(type_args)
55
-
56
- Puppet::Util::Log.level = :debug
57
-
58
- return test
59
- end
60
-
61
34
  before do
62
35
  @command = make_absolute('/bin/true whatever')
63
36
  @executable = make_absolute('/bin/true')
@@ -203,26 +176,6 @@ RSpec.describe Puppet::Type.type(:exec) do
203
176
  expect(@logs).to eq([])
204
177
  end
205
178
 
206
- describe "when checks stop execution when debugging" do
207
- [[:unless, :true], [:onlyif, :false]].each do |check, result|
208
- it "should log a message with the command when #{check} is #{result}" do
209
- output = "'#{@command}' won't be executed because of failed check '#{check}'"
210
- test = exec_stub({:command => @command, check => result})
211
- expect(test.check_all_attributes).to eq(false)
212
- expect(@logs).to include(an_object_having_attributes(level: :debug, message: output))
213
- end
214
-
215
- it "should log a message with a redacted command and check if #{check} is sensitive" do
216
- output1 = "Executing check '[redacted]'"
217
- output2 = "'[command redacted]' won't be executed because of failed check '#{check}'"
218
- test = exec_stub({:command => @command, check => result, :sensitive_parameters => [check]})
219
- expect(test.check_all_attributes).to eq(false)
220
- expect(@logs).to include(an_object_having_attributes(level: :debug, message: output1))
221
- expect(@logs).to include(an_object_having_attributes(level: :debug, message: output2))
222
- end
223
- end
224
- end
225
-
226
179
  describe " when multiple tries are set," do
227
180
  it "should repeat the command attempt 'tries' times on failure and produce an error" do
228
181
  tries = 5
@@ -280,15 +233,15 @@ RSpec.describe Puppet::Type.type(:exec) do
280
233
  describe "when setting user" do
281
234
  describe "on POSIX systems", :if => Puppet.features.posix? do
282
235
  it "should fail if we are not root" do
283
- allow(Puppet.features).to receive(:root?).and_return(false)
236
+ Puppet.features.stubs(:root?).returns(false)
284
237
  expect {
285
238
  Puppet::Type.type(:exec).new(:name => '/bin/true whatever', :user => 'input')
286
239
  }.to raise_error Puppet::Error, /Parameter user failed/
287
240
  end
288
241
 
289
242
  it "accepts the current user" do
290
- allow(Puppet.features).to receive(:root?).and_return(false)
291
- allow(Etc).to receive(:getpwuid).and_return(Struct::Passwd.new('input'))
243
+ Puppet.features.stubs(:root?).returns(false)
244
+ Etc.stubs(:getpwuid).returns(Struct::Passwd.new('input'))
292
245
 
293
246
  type = Puppet::Type.type(:exec).new(:name => '/bin/true whatever', :user => 'input')
294
247
 
@@ -297,7 +250,7 @@ RSpec.describe Puppet::Type.type(:exec) do
297
250
 
298
251
  ['one', 2, 'root', 4294967295, 4294967296].each do |value|
299
252
  it "should accept '#{value}' as user if we are root" do
300
- allow(Puppet.features).to receive(:root?).and_return(true)
253
+ Puppet.features.stubs(:root?).returns(true)
301
254
  type = Puppet::Type.type(:exec).new(:name => '/bin/true whatever', :user => value)
302
255
  expect(type[:user]).to eq(value)
303
256
  end
@@ -306,7 +259,7 @@ RSpec.describe Puppet::Type.type(:exec) do
306
259
 
307
260
  describe "on Windows systems", :if => Puppet::Util::Platform.windows? do
308
261
  before :each do
309
- allow(Puppet.features).to receive(:root?).and_return(true)
262
+ Puppet.features.stubs(:root?).returns(true)
310
263
  end
311
264
 
312
265
  it "should reject user parameter" do
@@ -328,16 +281,12 @@ RSpec.describe Puppet::Type.type(:exec) do
328
281
  end
329
282
 
330
283
  describe "when running as root" do
331
- before(:each) do
332
- allow(Puppet.features).to receive(:root?).and_return(true)
333
- end
284
+ before :each do Puppet.features.stubs(:root?).returns(true) end
334
285
  it_behaves_like "exec[:group]"
335
286
  end
336
287
 
337
288
  describe "when not running as root" do
338
- before(:each) do
339
- allow(Puppet.features).to receive(:root?).and_return(false)
340
- end
289
+ before :each do Puppet.features.stubs(:root?).returns(false) end
341
290
  it_behaves_like "exec[:group]"
342
291
  end
343
292
  end
@@ -365,9 +314,9 @@ RSpec.describe Puppet::Type.type(:exec) do
365
314
  instance = Puppet::Type.type(:exec).new(:name => @executable)
366
315
  end
367
316
  if valid then
368
- expect(instance.provider).to receive(:validatecmd).and_return(true)
317
+ instance.provider.expects(:validatecmd).returns(true)
369
318
  else
370
- expect(instance.provider).to receive(:validatecmd).and_raise(Puppet::Error, "from a stub")
319
+ instance.provider.expects(:validatecmd).raises(Puppet::Error, "from a stub")
371
320
  end
372
321
  instance[@param] = command
373
322
  end
@@ -392,16 +341,16 @@ RSpec.describe Puppet::Type.type(:exec) do
392
341
 
393
342
  it "should accept the array when all commands return valid" do
394
343
  input = %w{one two three}
395
- expect(@test.provider).to receive(:validatecmd).exactly(input.length).times.and_return(true)
344
+ @test.provider.expects(:validatecmd).times(input.length).returns(true)
396
345
  @test[param] = input
397
346
  expect(@test[param]).to eq(input)
398
347
  end
399
348
 
400
349
  it "should reject the array when any commands return invalid" do
401
350
  input = %w{one two three}
402
- expect(@test.provider).to receive(:validatecmd).with(input.first).and_return(false)
351
+ @test.provider.expects(:validatecmd).with(input.first).returns(false)
403
352
  input[1..-1].each do |cmd|
404
- expect(@test.provider).to receive(:validatecmd).with(cmd).and_return(true)
353
+ @test.provider.expects(:validatecmd).with(cmd).returns(true)
405
354
  end
406
355
  @test[param] = input
407
356
  expect(@test[param]).to eq(input)
@@ -409,7 +358,7 @@ RSpec.describe Puppet::Type.type(:exec) do
409
358
 
410
359
  it "should reject the array when all commands return invalid" do
411
360
  input = %w{one two three}
412
- expect(@test.provider).to receive(:validatecmd).exactly(input.length).times.and_return(false)
361
+ @test.provider.expects(:validatecmd).times(input.length).returns(false)
413
362
  @test[param] = input
414
363
  expect(@test[param]).to eq(input)
415
364
  end
@@ -490,7 +439,7 @@ RSpec.describe Puppet::Type.type(:exec) do
490
439
 
491
440
  context 'on POSIX', :unless => Puppet::Util::Platform.windows? || RUBY_PLATFORM == 'java' do
492
441
  it 'sends a SIGTERM and raises a Puppet::Error' do
493
- expect(Process).to receive(:kill).at_least(:once)
442
+ Process.expects(:kill).at_least_once
494
443
  expect { subject.refresh }.to raise_error Puppet::Error, "Command exceeded timeout"
495
444
  end
496
445
  end
@@ -696,15 +645,15 @@ RSpec.describe Puppet::Type.type(:exec) do
696
645
  @pass = make_absolute("/magic/pass")
697
646
  @fail = make_absolute("/magic/fail")
698
647
 
699
- @pass_status = double('status', :exitstatus => sense[:pass] ? 0 : 1)
700
- @fail_status = double('status', :exitstatus => sense[:fail] ? 0 : 1)
648
+ @pass_status = stub('status', :exitstatus => sense[:pass] ? 0 : 1)
649
+ @fail_status = stub('status', :exitstatus => sense[:fail] ? 0 : 1)
701
650
 
702
- allow(@test.provider).to receive(:checkexe).and_return(true)
651
+ @test.provider.stubs(:checkexe).returns(true)
703
652
  [true, false].each do |check|
704
- allow(@test.provider).to receive(:run).with(@pass, check).
705
- and_return(['test output', @pass_status])
706
- allow(@test.provider).to receive(:run).with(@fail, check).
707
- and_return(['test output', @fail_status])
653
+ @test.provider.stubs(:run).with(@pass, check).
654
+ returns(['test output', @pass_status])
655
+ @test.provider.stubs(:run).with(@fail, check).
656
+ returns(['test output', @fail_status])
708
657
  end
709
658
  end
710
659
 
@@ -765,17 +714,17 @@ RSpec.describe Puppet::Type.type(:exec) do
765
714
  end
766
715
 
767
716
  it "should return :notrun when check_all_attributes returns true" do
768
- allow(@exec_resource).to receive(:check_all_attributes).and_return(true)
717
+ @exec_resource.stubs(:check_all_attributes).returns true
769
718
  expect(@exec_resource.retrieve[:returns]).to eq(:notrun)
770
719
  end
771
720
 
772
721
  it "should return default exit code 0 when check_all_attributes returns false" do
773
- allow(@exec_resource).to receive(:check_all_attributes).and_return(false)
722
+ @exec_resource.stubs(:check_all_attributes).returns false
774
723
  expect(@exec_resource.retrieve[:returns]).to eq(['0'])
775
724
  end
776
725
 
777
726
  it "should return the specified exit code when check_all_attributes returns false" do
778
- allow(@exec_resource).to receive(:check_all_attributes).and_return(false)
727
+ @exec_resource.stubs(:check_all_attributes).returns false
779
728
  @exec_resource[:returns] = 42
780
729
  expect(@exec_resource.retrieve[:returns]).to eq(["42"])
781
730
  end
@@ -787,11 +736,11 @@ RSpec.describe Puppet::Type.type(:exec) do
787
736
  end
788
737
 
789
738
  it "should return the provider's run output" do
790
- provider = double('provider')
791
- status = double('process_status')
792
- allow(status).to receive(:exitstatus).and_return("0")
793
- expect(provider).to receive(:run).and_return(["silly output", status])
794
- allow(@exec_resource).to receive(:provider).and_return(provider)
739
+ provider = stub 'provider'
740
+ status = stubs "process_status"
741
+ status.stubs(:exitstatus).returns("0")
742
+ provider.expects(:run).returns(["silly output", status])
743
+ @exec_resource.stubs(:provider).returns(provider)
795
744
 
796
745
  @exec_resource.refresh
797
746
  expect(@exec_resource.output).to eq('silly output')
@@ -805,29 +754,29 @@ RSpec.describe Puppet::Type.type(:exec) do
805
754
 
806
755
  it "should call provider run with the refresh parameter if it is set" do
807
756
  myother_bogus_cmd = make_absolute('/myother/bogus/cmd')
808
- provider = double('provider')
809
- allow(@exec_resource).to receive(:provider).and_return(provider)
810
- allow(@exec_resource).to receive(:[]).with(:refresh).and_return(myother_bogus_cmd)
811
- expect(provider).to receive(:run).with(myother_bogus_cmd)
757
+ provider = stub 'provider'
758
+ @exec_resource.stubs(:provider).returns(provider)
759
+ @exec_resource.stubs(:[]).with(:refresh).returns(myother_bogus_cmd)
760
+ provider.expects(:run).with(myother_bogus_cmd)
812
761
 
813
762
  @exec_resource.refresh
814
763
  end
815
764
 
816
765
  it "should call provider run with the specified command if the refresh parameter is not set" do
817
- provider = double('provider')
818
- status = double('process_status')
819
- allow(status).to receive(:exitstatus).and_return("0")
820
- expect(provider).to receive(:run).with(@bogus_cmd).and_return(["silly output", status])
821
- allow(@exec_resource).to receive(:provider).and_return(provider)
766
+ provider = stub 'provider'
767
+ status = stubs "process_status"
768
+ status.stubs(:exitstatus).returns("0")
769
+ provider.expects(:run).with(@bogus_cmd).returns(["silly output", status])
770
+ @exec_resource.stubs(:provider).returns(provider)
822
771
 
823
772
  @exec_resource.refresh
824
773
  end
825
774
 
826
775
  it "should not run the provider if check_all_attributes is false" do
827
- allow(@exec_resource).to receive(:check_all_attributes).and_return(false)
828
- provider = double('provider')
829
- expect(provider).not_to receive(:run)
830
- allow(@exec_resource).to receive(:provider).and_return(provider)
776
+ @exec_resource.stubs(:check_all_attributes).returns false
777
+ provider = stub 'provider'
778
+ provider.expects(:run).never
779
+ @exec_resource.stubs(:provider).returns(provider)
831
780
 
832
781
  @exec_resource.refresh
833
782
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  checksum = Puppet::Type.type(:file).attrclass(:checksum)
@@ -14,12 +15,12 @@ describe checksum do
14
15
 
15
16
  it "should use its current value when asked to sum content" do
16
17
  @checksum.value = :md5lite
17
- expect(@checksum).to receive(:md5lite).with("foobar").and_return("yay")
18
+ @checksum.expects(:md5lite).with("foobar").returns "yay"
18
19
  @checksum.sum("foobar")
19
20
  end
20
21
 
21
22
  it "should use :md5 to sum when no value is set" do
22
- expect(@checksum).to receive(:md5).with("foobar").and_return("yay")
23
+ @checksum.expects(:md5).with("foobar").returns "yay"
23
24
  @checksum.sum("foobar")
24
25
  end
25
26
 
@@ -53,36 +54,36 @@ describe checksum do
53
54
 
54
55
  it "should use its current value when asked to sum a file's content" do
55
56
  @checksum.value = :md5lite
56
- expect(@checksum).to receive(:md5lite_file).with(@path).and_return("yay")
57
+ @checksum.expects(:md5lite_file).with(@path).returns "yay"
57
58
  @checksum.sum_file(@path)
58
59
  end
59
60
 
60
61
  it "should use :md5 to sum a file when no value is set" do
61
- expect(@checksum).to receive(:md5_file).with(@path).and_return("yay")
62
+ @checksum.expects(:md5_file).with(@path).returns "yay"
62
63
  @checksum.sum_file(@path)
63
64
  end
64
65
 
65
66
  it "should convert all sums to strings when summing files" do
66
67
  @checksum.value = :mtime
67
- expect(@checksum).to receive(:mtime_file).with(@path).and_return(Time.now)
68
+ @checksum.expects(:mtime_file).with(@path).returns Time.now
68
69
  expect { @checksum.sum_file(@path) }.not_to raise_error
69
70
  end
70
71
 
71
72
  it "should return the summed contents of a file with a checksum label" do
72
73
  @resource[:checksum] = :md5
73
- expect(@checksum).to receive(:md5_file).and_return("mysum")
74
+ @checksum.expects(:md5_file).returns "mysum"
74
75
  expect(@checksum.sum_file(@path)).to eq("{md5}mysum")
75
76
  end
76
77
 
77
78
  it "should return the summed contents of a stream with a checksum label" do
78
79
  @resource[:checksum] = :md5
79
- expect(@checksum).to receive(:md5_stream).and_return("mysum")
80
+ @checksum.expects(:md5_stream).returns "mysum"
80
81
  expect(@checksum.sum_stream).to eq("{md5}mysum")
81
82
  end
82
83
 
83
84
  it "should yield the sum_stream block to the underlying checksum" do
84
85
  @resource[:checksum] = :md5
85
- expect(@checksum).to receive(:md5_stream).and_yield("something").and_return("mysum")
86
+ @checksum.expects(:md5_stream).yields("something").returns("mysum")
86
87
  @checksum.sum_stream do |sum|
87
88
  expect(sum).to eq("something")
88
89
  end
@@ -95,7 +96,7 @@ describe checksum do
95
96
  end
96
97
 
97
98
  it 'rejects md5 checksums in FIPS mode' do
98
- allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(true)
99
+ Puppet::Util::Platform.stubs(:fips_enabled?).returns true
99
100
  expect {
100
101
  @resource[:checksum] = :md5
101
102
  }.to raise_error(Puppet::ResourceError,
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums => true do
@@ -18,7 +19,7 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
18
19
  let(:checksum_value) { described_class.new(:resource => resource) }
19
20
 
20
21
  it "should not compute a checksum if source is absent" do
21
- expect(resource).not_to receive(:stat)
22
+ resource.expects(:stat).never
22
23
  expect(checksum_value.retrieve).to be_nil
23
24
  end
24
25
 
@@ -28,21 +29,21 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
28
29
  end
29
30
 
30
31
  it "should return :absent if the target does not exist" do
31
- expect(resource).to receive(:stat).and_return(nil)
32
+ resource.expects(:stat).returns nil
32
33
 
33
34
  expect(checksum_value.retrieve).to eq(:absent)
34
35
  end
35
36
 
36
37
  it "should not manage content on directories" do
37
- stat = double('stat', :ftype => "directory")
38
- expect(resource).to receive(:stat).and_return(stat)
38
+ stat = mock 'stat', :ftype => "directory"
39
+ resource.expects(:stat).returns stat
39
40
 
40
41
  expect(checksum_value.retrieve).to be_nil
41
42
  end
42
43
 
43
44
  it "should not manage content on links" do
44
- stat = double('stat', :ftype => "link")
45
- expect(resource).to receive(:stat).and_return(stat)
45
+ stat = mock 'stat', :ftype => "link"
46
+ resource.expects(:stat).returns stat
46
47
 
47
48
  expect(checksum_value.retrieve).to be_nil
48
49
  end
@@ -50,11 +51,11 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
50
51
  it "should always return the checksum as a string" do
51
52
  resource[:checksum] = :mtime
52
53
 
53
- stat = double('stat', :ftype => "file")
54
- expect(resource).to receive(:stat).and_return(stat)
54
+ stat = mock 'stat', :ftype => "file"
55
+ resource.expects(:stat).returns stat
55
56
 
56
57
  time = Time.now
57
- expect(resource.parameter(:checksum)).to receive(:mtime_file).with(resource[:path]).and_return(time)
58
+ resource.parameter(:checksum).expects(:mtime_file).with(resource[:path]).returns time
58
59
 
59
60
  expect(checksum_value.retrieve).to eq(time.to_s)
60
61
  end
@@ -62,9 +63,9 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
62
63
 
63
64
  with_digest_algorithms do
64
65
  it "should return the checksum of the target if it exists and is a normal file" do
65
- stat = double('stat', :ftype => "file")
66
- expect(resource).to receive(:stat).and_return(stat)
67
- expect(resource.parameter(:checksum)).to receive("#{digest_algorithm}_file".intern).with(resource[:path]).and_return("mysum")
66
+ stat = mock 'stat', :ftype => "file"
67
+ resource.expects(:stat).returns stat
68
+ resource.parameter(:checksum).expects("#{digest_algorithm}_file".intern).with(resource[:path]).returns "mysum"
68
69
  resource[:source] = source_file
69
70
 
70
71
  expect(checksum_value.retrieve).to eq("mysum")
@@ -95,7 +96,7 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
95
96
  end
96
97
 
97
98
  it "should return true if the resource shouldn't be a regular file" do
98
- expect(resource).to receive(:should_be_file?).and_return(false)
99
+ resource.expects(:should_be_file?).returns false
99
100
  checksum_value.should = "foo"
100
101
  expect(checksum_value).to be_safe_insync("whatever")
101
102
  end
@@ -106,7 +107,7 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
106
107
  end
107
108
 
108
109
  it "should return false if the file should be a file but is not present" do
109
- expect(resource).to receive(:should_be_file?).and_return(true)
110
+ resource.expects(:should_be_file?).returns true
110
111
  checksum_value.should = "foo"
111
112
 
112
113
  expect(checksum_value).not_to be_safe_insync(:absent)
@@ -114,7 +115,7 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
114
115
 
115
116
  describe "and the file exists" do
116
117
  before do
117
- allow(resource).to receive(:stat).and_return(double("stat"))
118
+ resource.stubs(:stat).returns mock("stat")
118
119
  checksum_value.should = "somechecksum"
119
120
  end
120
121
 
@@ -134,19 +135,19 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
134
135
  describe "and Puppet[:show_diff] is #{cfg} and show_diff => #{param}" do
135
136
  before do
136
137
  Puppet[:show_diff] = cfg
137
- allow(resource).to receive(:show_diff?).and_return(param)
138
+ resource.stubs(:show_diff?).returns param
138
139
  resource[:loglevel] = "debug"
139
140
  end
140
141
 
141
142
  if cfg and param
142
143
  it "should display a diff" do
143
- expect(checksum_value).to receive(:diff).and_return("my diff").once
144
- expect(checksum_value).to receive(:debug).with("\nmy diff").once
144
+ checksum_value.expects(:diff).returns("my diff").once
145
+ checksum_value.expects(:debug).with("\nmy diff").once
145
146
  expect(checksum_value).not_to be_safe_insync("otherchecksum")
146
147
  end
147
148
  else
148
149
  it "should not display a diff" do
149
- expect(checksum_value).not_to receive(:diff)
150
+ checksum_value.expects(:diff).never
150
151
  expect(checksum_value).not_to be_safe_insync("otherchecksum")
151
152
  end
152
153
  end
@@ -201,17 +202,17 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
201
202
 
202
203
  describe "and :replace is false" do
203
204
  before do
204
- allow(resource).to receive(:replace?).and_return(false)
205
+ resource.stubs(:replace?).returns false
205
206
  end
206
207
 
207
208
  it "should be insync if the file exists and the checksum_value is different" do
208
- allow(resource).to receive(:stat).and_return(double('stat'))
209
+ resource.stubs(:stat).returns mock('stat')
209
210
 
210
211
  expect(checksum_value).to be_safe_insync("whatever")
211
212
  end
212
213
 
213
214
  it "should be insync if the file exists and the checksum_value is right" do
214
- allow(resource).to receive(:stat).and_return(double('stat'))
215
+ resource.stubs(:stat).returns mock('stat')
215
216
 
216
217
  expect(checksum_value).to be_safe_insync("something")
217
218
  end
@@ -230,7 +231,7 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
230
231
  before do
231
232
  @new_resource = Puppet::Type.type(:file).new :ensure => :file, :path => path, :catalog => catalog,
232
233
  :checksum_value => checksum, :checksum => checksum_type, :source => source_file
233
- allow(@new_resource).to receive(:stat).and_return(double('stat'))
234
+ @new_resource.stubs(:stat).returns mock('stat')
234
235
  end
235
236
 
236
237
  it "should return false if the current checksum_value is different from the desired checksum_value" do
@@ -248,12 +249,12 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
248
249
  let(:checksum_value) { described_class.new(:resource => resource) }
249
250
 
250
251
  before do
251
- allow(resource).to receive(:[]).with(:path).and_return("/boo")
252
- allow(resource).to receive(:stat).and_return("eh")
252
+ resource.stubs(:[]).with(:path).returns "/boo"
253
+ resource.stubs(:stat).returns "eh"
253
254
  end
254
255
 
255
256
  it "should raise if source is absent" do
256
- expect(resource).not_to receive(:write)
257
+ resource.expects(:write).never
257
258
 
258
259
  expect { checksum_value.sync }.to raise_error "checksum_value#sync should not be called without a source parameter"
259
260
  end
@@ -264,20 +265,20 @@ describe Puppet::Type.type(:file).attrclass(:checksum_value), :uses_checksums =>
264
265
  end
265
266
 
266
267
  it "should use the file's :write method to write the checksum_value" do
267
- expect(resource).to receive(:write).with(resource.parameter(:source))
268
+ resource.expects(:write).with(resource.parameter(:source))
268
269
 
269
270
  checksum_value.sync
270
271
  end
271
272
 
272
273
  it "should return :file_changed if the file already existed" do
273
- expect(resource).to receive(:stat).and_return("something")
274
- allow(resource).to receive(:write)
274
+ resource.expects(:stat).returns "something"
275
+ resource.stubs(:write)
275
276
  expect(checksum_value.sync).to eq(:file_changed)
276
277
  end
277
278
 
278
279
  it "should return :file_created if the file did not exist" do
279
- expect(resource).to receive(:stat).and_return(nil)
280
- allow(resource).to receive(:write)
280
+ resource.expects(:stat).returns nil
281
+ resource.stubs(:write)
281
282
  expect(checksum_value.sync).to eq(:file_created)
282
283
  end
283
284
  end