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
  require 'yaml'
@@ -13,7 +14,7 @@ describe Puppet::Transaction::Persistence do
13
14
 
14
15
  describe "when loading from file" do
15
16
  before do
16
- allow(Puppet.settings).to receive(:use).and_return(true)
17
+ Puppet.settings.stubs(:use).returns(true)
17
18
  end
18
19
 
19
20
  describe "when the file/directory does not exist" do
@@ -47,7 +48,7 @@ describe Puppet::Transaction::Persistence do
47
48
  property = "my"
48
49
  value = "something"
49
50
 
50
- expect(Puppet).not_to receive(:err)
51
+ Puppet.expects(:err).never
51
52
 
52
53
  persistence = Puppet::Transaction::Persistence.new
53
54
  persistence.set_system_value(resource, property, value)
@@ -61,7 +62,7 @@ describe Puppet::Transaction::Persistence do
61
62
  test_yaml = {"resources"=>{"a"=>"b"}}
62
63
  write_state_file(test_yaml.to_yaml)
63
64
 
64
- expect(Puppet).not_to receive(:err)
65
+ Puppet.expects(:err).never
65
66
 
66
67
  persistence = Puppet::Transaction::Persistence.new
67
68
  persistence.load
@@ -72,7 +73,7 @@ describe Puppet::Transaction::Persistence do
72
73
  it "should initialize with a clear internal state if the file does not contain valid YAML" do
73
74
  write_state_file('{ invalid')
74
75
 
75
- expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
76
+ Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
76
77
 
77
78
  persistence = Puppet::Transaction::Persistence.new
78
79
  persistence.load
@@ -83,7 +84,7 @@ describe Puppet::Transaction::Persistence do
83
84
  it "should initialize with a clear internal state if the file does not contain a hash of data" do
84
85
  write_state_file("not_a_hash")
85
86
 
86
- expect(Puppet).to receive(:err).with(/Transaction store file .* is valid YAML but not returning a hash/)
87
+ Puppet.expects(:err).with(regexp_matches(/Transaction store file .* is valid YAML but not returning a hash/))
87
88
 
88
89
  persistence = Puppet::Transaction::Persistence.new
89
90
  persistence.load
@@ -94,10 +95,10 @@ describe Puppet::Transaction::Persistence do
94
95
  it "should raise an error if the file does not contain valid YAML and cannot be renamed" do
95
96
  write_state_file('{ invalid')
96
97
 
97
- expect(File).to receive(:rename).and_raise(SystemCallError)
98
+ File.expects(:rename).raises(SystemCallError)
98
99
 
99
- expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
100
- expect(Puppet).to receive(:send_log).with(:err, /Unable to rename/)
100
+ Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
101
+ Puppet.expects(:send_log).with(:err, regexp_matches(/Unable to rename/))
101
102
 
102
103
  persistence = Puppet::Transaction::Persistence.new
103
104
  expect { persistence.load }.to raise_error(Puppet::Error, /Could not rename/)
@@ -106,9 +107,9 @@ describe Puppet::Transaction::Persistence do
106
107
  it "should attempt to rename the file if the file is corrupted" do
107
108
  write_state_file('{ invalid')
108
109
 
109
- expect(File).to receive(:rename).at_least(:once)
110
+ File.expects(:rename).at_least_once
110
111
 
111
- expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
112
+ Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
112
113
 
113
114
  persistence = Puppet::Transaction::Persistence.new
114
115
  persistence.load
@@ -118,7 +119,7 @@ describe Puppet::Transaction::Persistence do
118
119
  FileUtils.rm_f(@tmpfile)
119
120
  Dir.mkdir(@tmpfile)
120
121
 
121
- expect(Puppet).to receive(:warning).with(/Transaction store file .* is not a file/)
122
+ Puppet.expects(:warning).with(regexp_matches(/Transaction store file .* is not a file/))
122
123
 
123
124
  persistence = Puppet::Transaction::Persistence.new
124
125
  persistence.load
@@ -177,7 +178,7 @@ describe Puppet::Transaction::Persistence do
177
178
 
178
179
  describe "when checking if persistence is enabled" do
179
180
  let(:mock_catalog) do
180
- double()
181
+ mock
181
182
  end
182
183
 
183
184
  let (:persistence) do
@@ -194,25 +195,25 @@ describe Puppet::Transaction::Persistence do
194
195
 
195
196
  it "should not be enabled when not running in agent mode" do
196
197
  Puppet.settings.preferred_run_mode = :user
197
- allow(mock_catalog).to receive(:host_config?).and_return(true)
198
+ mock_catalog.stubs(:host_config?).returns(true)
198
199
  expect(persistence.enabled?(mock_catalog)).to be false
199
200
  end
200
201
 
201
202
  it "should not be enabled when the catalog is not the host catalog" do
202
203
  Puppet.settings.preferred_run_mode = :agent
203
- allow(mock_catalog).to receive(:host_config?).and_return(false)
204
+ mock_catalog.stubs(:host_config?).returns(false)
204
205
  expect(persistence.enabled?(mock_catalog)).to be false
205
206
  end
206
207
 
207
208
  it "should not be enabled outside of agent mode and the catalog is not the host catalog" do
208
209
  Puppet.settings.preferred_run_mode = :user
209
- allow(mock_catalog).to receive(:host_config?).and_return(false)
210
+ mock_catalog.stubs(:host_config?).returns(false)
210
211
  expect(persistence.enabled?(mock_catalog)).to be false
211
212
  end
212
213
 
213
214
  it "should be enabled in agent mode and when the catalog is the host catalog" do
214
215
  Puppet.settings.preferred_run_mode = :agent
215
- allow(mock_catalog).to receive(:host_config?).and_return(true)
216
+ mock_catalog.stubs(:host_config?).returns(true)
216
217
  expect(persistence.enabled?(mock_catalog)).to be true
217
218
  end
218
219
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet'
@@ -9,7 +10,7 @@ describe Puppet::Transaction::Report do
9
10
  include PuppetSpec::Files
10
11
 
11
12
  before do
12
- allow(Puppet::Util::Storage).to receive(:store)
13
+ Puppet::Util::Storage.stubs(:store)
13
14
  end
14
15
 
15
16
  it "should set its host name to the node_name_value" do
@@ -23,7 +24,7 @@ describe Puppet::Transaction::Report do
23
24
  end
24
25
 
25
26
  it "should create an initialization timestamp" do
26
- expect(Time).to receive(:now).and_return("mytime")
27
+ Time.expects(:now).returns "mytime"
27
28
  expect(Puppet::Transaction::Report.new.time).to eq("mytime")
28
29
  end
29
30
 
@@ -115,7 +116,7 @@ describe Puppet::Transaction::Report do
115
116
  end
116
117
 
117
118
  it "should not include whits" do
118
- allow(Puppet::FileBucket::File.indirection).to receive(:save)
119
+ Puppet::FileBucket::File.indirection.stubs(:save)
119
120
 
120
121
  filename = tmpfile('whit_test')
121
122
  file = Puppet::Type.type(:file).new(:path => filename)
@@ -166,7 +167,7 @@ describe Puppet::Transaction::Report do
166
167
  end
167
168
 
168
169
  it "should add each status to its status list" do
169
- status = double('status', :resource => "foo")
170
+ status = stub 'status', :resource => "foo"
170
171
  @report.add_resource_status status
171
172
  expect(@report.resource_statuses["foo"]).to equal(status)
172
173
  end
@@ -174,11 +175,11 @@ describe Puppet::Transaction::Report do
174
175
 
175
176
  describe "when using the indirector" do
176
177
  it "should redirect :save to the indirection" do
177
- allow(Facter).to receive(:value).and_return("eh")
178
- @indirection = double('indirection', :name => :report)
179
- allow(Puppet::Transaction::Report).to receive(:indirection).and_return(@indirection)
178
+ Facter.stubs(:value).returns("eh")
179
+ @indirection = stub 'indirection', :name => :report
180
+ Puppet::Transaction::Report.stubs(:indirection).returns(@indirection)
180
181
  report = Puppet::Transaction::Report.new
181
- expect(@indirection).to receive(:save)
182
+ @indirection.expects(:save)
182
183
  Puppet::Transaction::Report.indirection.save(report)
183
184
  end
184
185
 
@@ -188,7 +189,7 @@ describe Puppet::Transaction::Report do
188
189
 
189
190
  it "should delegate its name attribute to its host method" do
190
191
  report = Puppet::Transaction::Report.new
191
- expect(report).to receive(:host).and_return("me")
192
+ report.expects(:host).returns "me"
192
193
  expect(report.name).to eq("me")
193
194
  end
194
195
  end
@@ -454,7 +455,7 @@ describe Puppet::Transaction::Report do
454
455
 
455
456
  describe "when producing a summary" do
456
457
  before do
457
- allow(Benchmark).to receive(:realtime).and_return(5.05683418)
458
+ Benchmark.stubs(:realtime).returns(5.05683418)
458
459
  resource = Puppet::Type.type(:notify).new(:name => "testing")
459
460
  catalog = Puppet::Resource::Catalog.new
460
461
  catalog.add_resource resource
@@ -473,7 +474,7 @@ describe Puppet::Transaction::Report do
473
474
  end
474
475
 
475
476
  it "should include the last run time in the raw summary hash" do
476
- allow(Time).to receive(:now).and_return(Time.utc(2010,11,10,12,0,24))
477
+ Time.stubs(:now).returns(Time.utc(2010,11,10,12,0,24))
477
478
  expect(@report.raw_summary["time"]["last_run"]).to eq(1289390424)
478
479
  end
479
480
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/transaction/resource_harness'
@@ -14,7 +15,7 @@ describe Puppet::Transaction::ResourceHarness do
14
15
  @resource = Puppet::Type.type(:file).new :path => path
15
16
  @harness = Puppet::Transaction::ResourceHarness.new(@transaction)
16
17
  @current_state = Puppet::Resource.new(:file, path)
17
- allow(@resource).to receive(:retrieve).and_return(@current_state)
18
+ @resource.stubs(:retrieve).returns @current_state
18
19
  end
19
20
 
20
21
  it "should accept a transaction at initialization" do
@@ -23,7 +24,7 @@ describe Puppet::Transaction::ResourceHarness do
23
24
  end
24
25
 
25
26
  it "should delegate to the transaction for its relationship graph" do
26
- expect(@transaction).to receive(:relationship_graph).and_return("relgraph")
27
+ @transaction.expects(:relationship_graph).returns "relgraph"
27
28
  expect(Puppet::Transaction::ResourceHarness.new(@transaction).relationship_graph).to eq("relgraph")
28
29
  end
29
30
 
@@ -37,14 +38,14 @@ describe Puppet::Transaction::ResourceHarness do
37
38
  end
38
39
 
39
40
  it "retrieves the current state of the resource" do
40
- expect(@resource).to receive(:retrieve).and_return(@current_state)
41
+ @resource.expects(:retrieve).returns @current_state
41
42
 
42
43
  @harness.evaluate(@resource)
43
44
  end
44
45
 
45
46
  it "produces a failure status for the resource when an error occurs" do
46
47
  the_message = "retrieve failed in testing"
47
- expect(@resource).to receive(:retrieve).and_raise(ArgumentError.new(the_message))
48
+ @resource.expects(:retrieve).raises(ArgumentError.new(the_message))
48
49
 
49
50
  status = @harness.evaluate(@resource)
50
51
 
@@ -289,7 +290,7 @@ describe Puppet::Transaction::ResourceHarness do
289
290
  before :each do
290
291
  stub_provider = make_stub_provider
291
292
  resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
292
- expect(resource).not_to receive(:err)
293
+ resource.expects(:err).never
293
294
  @status = @harness.evaluate(resource)
294
295
  end
295
296
 
@@ -308,7 +309,7 @@ describe Puppet::Transaction::ResourceHarness do
308
309
  before :each do
309
310
  stub_provider = make_stub_provider
310
311
  @resource = stub_provider.new :name => 'name', :baz => 1
311
- expect(@resource).not_to receive(:err)
312
+ @resource.expects(:err).never
312
313
  end
313
314
 
314
315
  it "should log and pass the exception through" do
@@ -322,7 +323,7 @@ describe Puppet::Transaction::ResourceHarness do
322
323
  before :each do
323
324
  stub_provider = make_stub_provider
324
325
  @resource = stub_provider.new :name => 'name', :brillig => 1
325
- expect(@resource).not_to receive(:err)
326
+ @resource.expects(:err).never
326
327
  end
327
328
 
328
329
  it "should record a failure event" do
@@ -337,7 +338,7 @@ describe Puppet::Transaction::ResourceHarness do
337
338
  before :each do
338
339
  stub_provider = make_stub_provider
339
340
  @resource = stub_provider.new :name => 'name', :slithy => 1
340
- expect(@resource).not_to receive(:err)
341
+ @resource.expects(:err).never
341
342
  end
342
343
 
343
344
  it "should log and pass the exception through" do
@@ -351,7 +352,7 @@ describe Puppet::Transaction::ResourceHarness do
351
352
  it "should not call insync? on parameters that are merely audited" do
352
353
  stub_provider = make_stub_provider
353
354
  resource = stub_provider.new :name => 'name', :audit => ['foo']
354
- expect(resource.property(:foo)).not_to receive(:insync?)
355
+ resource.property(:foo).expects(:insync?).never
355
356
  status = @harness.evaluate(resource)
356
357
 
357
358
  expect(status.events).to be_empty
@@ -361,7 +362,7 @@ describe Puppet::Transaction::ResourceHarness do
361
362
  test_file = tmpfile('foo')
362
363
  File.open(test_file, 'w').close
363
364
  resource = Puppet::Type.type(:file).new :path => test_file, :audit => ['group'], :backup => false
364
- expect(resource).not_to receive(:err) # make sure no exceptions get swallowed
365
+ resource.expects(:err).never # make sure no exceptions get swallowed
365
366
 
366
367
  status = @harness.evaluate(resource)
367
368
 
@@ -387,9 +388,11 @@ describe Puppet::Transaction::ResourceHarness do
387
388
  # set up the sequence of stubs; yeah, this is pretty
388
389
  # brittle, so this might need to be adjusted if the
389
390
  # resource_harness logic changes
390
- expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
391
- allow(Puppet::Util::Storage).to receive(:cache).with(resource).
392
- and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
391
+ resource.expects(:retrieve).returns(current_from_filesystem)
392
+ Puppet::Util::Storage.stubs(:cache).with(resource).
393
+ returns(historical_from_state_yaml).then.
394
+ returns(current_from_filesystem).then.
395
+ returns(current_from_filesystem)
393
396
 
394
397
  # there should be an audit change recorded, since the two
395
398
  # timestamps differ by at least 1 microsecond
@@ -418,9 +421,11 @@ describe Puppet::Transaction::ResourceHarness do
418
421
  # set up the sequence of stubs; yeah, this is pretty
419
422
  # brittle, so this might need to be adjusted if the
420
423
  # resource_harness logic changes
421
- expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
422
- allow(Puppet::Util::Storage).to receive(:cache).with(resource).
423
- and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
424
+ resource.expects(:retrieve).returns(current_from_filesystem)
425
+ Puppet::Util::Storage.stubs(:cache).with(resource).
426
+ returns(historical_from_state_yaml).then.
427
+ returns(current_from_filesystem).then.
428
+ returns(current_from_filesystem)
424
429
 
425
430
  # there should be no audit change recorded, despite the
426
431
  # slight difference in the two timestamps
@@ -471,19 +476,19 @@ describe Puppet::Transaction::ResourceHarness do
471
476
  end
472
477
 
473
478
  it "redacts notices when a parameter is newly audited" do
474
- expect(resource.property(:content)).to receive(:notice).with("audit change: newly-recorded value [redacted]")
479
+ resource.property(:content).expects(:notice).with("audit change: newly-recorded value [redacted]")
475
480
  @harness.evaluate(resource)
476
481
  end
477
482
 
478
483
  it "redacts event messages for sensitive properties" do
479
- allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
484
+ Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
480
485
  status = @harness.evaluate(resource)
481
486
  sync_event = status.events[0]
482
487
  expect(sync_event.message).to eq 'changed [redacted] to [redacted] (previously recorded value was [redacted])'
483
488
  end
484
489
 
485
490
  it "redacts audit event messages for sensitive properties when simulating noop changes" do
486
- allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
491
+ Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
487
492
  resource[:noop] = true
488
493
  status = @harness.evaluate(resource)
489
494
  sync_event = status.events[0]
@@ -491,7 +496,7 @@ describe Puppet::Transaction::ResourceHarness do
491
496
  end
492
497
 
493
498
  it "redacts event contents for sensitive properties" do
494
- allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
499
+ Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
495
500
  status = @harness.evaluate(resource)
496
501
  sync_event = status.events[0]
497
502
  expect(sync_event.historical_value).to eq '[redacted]'
@@ -530,7 +535,7 @@ describe Puppet::Transaction::ResourceHarness do
530
535
 
531
536
  it "should warn and return nil if the resource has no catalog" do
532
537
  @resource.catalog = nil
533
- expect(@resource).to receive(:warning)
538
+ @resource.expects(:warning)
534
539
 
535
540
  expect(@harness.schedule(@resource)).to be_nil
536
541
  end
@@ -541,7 +546,7 @@ describe Puppet::Transaction::ResourceHarness do
541
546
 
542
547
  it "should fail if the named schedule cannot be found" do
543
548
  @resource[:schedule] = "whatever"
544
- expect(@resource).to receive(:fail)
549
+ @resource.expects(:fail)
545
550
  @harness.schedule(@resource)
546
551
  end
547
552
 
@@ -571,13 +576,13 @@ describe Puppet::Transaction::ResourceHarness do
571
576
 
572
577
  it "should return the result of matching the schedule with the cached 'checked' time if a schedule is set" do
573
578
  t = Time.now
574
- expect(@harness).to receive(:cached).with(@resource, :checked).and_return(t)
579
+ @harness.expects(:cached).with(@resource, :checked).returns(t)
575
580
 
576
581
  sched = Puppet::Type.type(:schedule).new(:name => "sched")
577
582
  @catalog.add_resource(sched)
578
583
  @resource[:schedule] = "sched"
579
584
 
580
- expect(sched).to receive(:match?).with(t.to_i).and_return("feh")
585
+ sched.expects(:match?).with(t.to_i).returns "feh"
581
586
 
582
587
  expect(@harness.scheduled?(@resource)).to eq("feh")
583
588
  end
@@ -585,7 +590,7 @@ describe Puppet::Transaction::ResourceHarness do
585
590
 
586
591
  it "should be able to cache data in the Storage module" do
587
592
  data = {}
588
- expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
593
+ Puppet::Util::Storage.expects(:cache).with(@resource).returns data
589
594
  @harness.cache(@resource, :foo, "something")
590
595
 
591
596
  expect(data[:foo]).to eq("something")
@@ -593,33 +598,7 @@ describe Puppet::Transaction::ResourceHarness do
593
598
 
594
599
  it "should be able to retrieve data from the cache" do
595
600
  data = {:foo => "other"}
596
- expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
601
+ Puppet::Util::Storage.expects(:cache).with(@resource).returns data
597
602
  expect(@harness.cached(@resource, :foo)).to eq("other")
598
603
  end
599
-
600
- describe "successful event message" do
601
- let(:test_file) do
602
- tmpfile('foo').tap do |path|
603
- File.open(path, 'w') { |fh| fh.write("old contents") }
604
- end
605
- end
606
-
607
- let(:resource) do
608
- Puppet::Type.type(:file).new(:path => test_file, :backup => false, :content => "hello world")
609
- end
610
-
611
- it "contains (corrective) when corrective change" do
612
- allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(true)
613
- status = @harness.evaluate(resource)
614
- sync_event = status.events[0]
615
- expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+' \(corrective\)/)
616
- end
617
-
618
- it "contains no modifier when intentional change" do
619
- allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(false)
620
- status = @harness.evaluate(resource)
621
- sync_event = status.events[0]
622
- expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+'$/)
623
- end
624
- end
625
604
  end
@@ -3,7 +3,6 @@ require 'matchers/include_in_order'
3
3
  require 'puppet_spec/compiler'
4
4
 
5
5
  require 'puppet/transaction'
6
- require 'puppet/type/notify'
7
6
  require 'fileutils'
8
7
 
9
8
  describe Puppet::Transaction do
@@ -89,7 +88,7 @@ describe Puppet::Transaction do
89
88
  report = Puppet::Transaction::Report.new
90
89
  catalog.retrieval_duration = 5
91
90
 
92
- expect(report).to receive(:add_times).with(:config_retrieval, 5)
91
+ report.expects(:add_times).with(:config_retrieval, 5)
93
92
 
94
93
  Puppet::Transaction.new(catalog, report, nil)
95
94
  end
@@ -101,8 +100,8 @@ describe Puppet::Transaction do
101
100
  it "should process events" do
102
101
  transaction = transaction_with_resource(resource)
103
102
 
104
- expect(transaction).to receive(:skip?).with(resource).and_return(false)
105
- expect(transaction.event_manager).to receive(:process_events).with(resource)
103
+ transaction.expects(:skip?).with(resource).returns false
104
+ transaction.event_manager.expects(:process_events).with(resource)
106
105
 
107
106
  transaction.evaluate
108
107
  end
@@ -111,7 +110,7 @@ describe Puppet::Transaction do
111
110
  it "should mark the resource's status as skipped" do
112
111
  transaction = transaction_with_resource(resource)
113
112
 
114
- expect(transaction).to receive(:skip?).with(resource).and_return(true)
113
+ transaction.expects(:skip?).with(resource).returns true
115
114
 
116
115
  transaction.evaluate
117
116
  expect(transaction.resource_status(resource)).to be_skipped
@@ -119,15 +118,15 @@ describe Puppet::Transaction do
119
118
 
120
119
  it "does not process any scheduled events" do
121
120
  transaction = transaction_with_resource(resource)
122
- expect(transaction).to receive(:skip?).with(resource).and_return(true)
123
- expect(transaction.event_manager).not_to receive(:process_events).with(resource)
121
+ transaction.expects(:skip?).with(resource).returns true
122
+ transaction.event_manager.expects(:process_events).with(resource).never
124
123
  transaction.evaluate
125
124
  end
126
125
 
127
126
  it "dequeues all events scheduled on that resource" do
128
127
  transaction = transaction_with_resource(resource)
129
- expect(transaction).to receive(:skip?).with(resource).and_return(true)
130
- expect(transaction.event_manager).to receive(:dequeue_all_events_for_resource).with(resource)
128
+ transaction.expects(:skip?).with(resource).returns true
129
+ transaction.event_manager.expects(:dequeue_all_events_for_resource).with(resource)
131
130
  transaction.evaluate
132
131
  end
133
132
  end
@@ -136,7 +135,7 @@ describe Puppet::Transaction do
136
135
  describe "when evaluating a skipped resource for corrective change it" do
137
136
  before :each do
138
137
  # Enable persistence during tests
139
- allow_any_instance_of(Puppet::Transaction::Persistence).to receive(:enabled?).and_return(true)
138
+ Puppet::Transaction::Persistence.any_instance.stubs(:enabled?).returns(true)
140
139
  end
141
140
 
142
141
  it "should persist in the transactionstore" do
@@ -148,8 +147,8 @@ describe Puppet::Transaction do
148
147
  expect(transaction.resource_status(resource)).to be_changed
149
148
 
150
149
  transaction = transaction_with_resource(resource)
151
- expect(transaction).to receive(:skip?).with(resource).and_return(true)
152
- expect(transaction.event_manager).not_to receive(:process_events).with(resource)
150
+ transaction.expects(:skip?).with(resource).returns true
151
+ transaction.event_manager.expects(:process_events).with(resource).never
153
152
  transaction.evaluate
154
153
  expect(transaction.resource_status(resource)).to be_skipped
155
154
 
@@ -167,35 +166,35 @@ describe Puppet::Transaction do
167
166
  @status = Puppet::Resource::Status.new(@resource)
168
167
 
169
168
  @transaction = Puppet::Transaction.new(@catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
170
- allow(@transaction.event_manager).to receive(:queue_events)
169
+ @transaction.event_manager.stubs(:queue_events)
171
170
  end
172
171
 
173
172
  it "should use its resource harness to apply the resource" do
174
- expect(@transaction.resource_harness).to receive(:evaluate).with(@resource)
173
+ @transaction.resource_harness.expects(:evaluate).with(@resource)
175
174
  @transaction.evaluate
176
175
  end
177
176
 
178
177
  it "should add the resulting resource status to its status list" do
179
- allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
178
+ @transaction.resource_harness.stubs(:evaluate).returns(@status)
180
179
  @transaction.evaluate
181
180
  expect(@transaction.resource_status(@resource)).to be_instance_of(Puppet::Resource::Status)
182
181
  end
183
182
 
184
183
  it "should queue any events added to the resource status" do
185
- allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
186
- expect(@status).to receive(:events).and_return(%w{a b})
187
- expect(@transaction.event_manager).to receive(:queue_events).with(@resource, ["a", "b"])
184
+ @transaction.resource_harness.stubs(:evaluate).returns(@status)
185
+ @status.expects(:events).returns %w{a b}
186
+ @transaction.event_manager.expects(:queue_events).with(@resource, ["a", "b"])
188
187
  @transaction.evaluate
189
188
  end
190
189
 
191
190
  it "should log and skip any resources that cannot be applied" do
192
- expect(@resource).to receive(:properties).and_raise(ArgumentError)
191
+ @resource.expects(:properties).raises ArgumentError
193
192
  @transaction.evaluate
194
193
  expect(@transaction.report.resource_statuses[@resource.to_s]).to be_failed
195
194
  end
196
195
 
197
196
  it "should report any_failed if any resources failed" do
198
- expect(@resource).to receive(:properties).and_raise(ArgumentError)
197
+ @resource.expects(:properties).raises ArgumentError
199
198
  @transaction.evaluate
200
199
 
201
200
  expect(@transaction).to be_any_failed
@@ -235,8 +234,8 @@ describe Puppet::Transaction do
235
234
  end
236
235
 
237
236
  it "should warn if there are no blockers" do
238
- vertex = double('vertex')
239
- expect(vertex).to receive(:warning).with("appears to have a negative number of dependencies")
237
+ vertex = stub('vertex')
238
+ vertex.expects(:warning).with "appears to have a negative number of dependencies"
240
239
  graph.blockers[vertex] = 0
241
240
 
242
241
  graph.unblock(vertex)
@@ -264,7 +263,7 @@ describe Puppet::Transaction do
264
263
  end
265
264
 
266
265
  it "should yield the resource even if eval_generate is called" do
267
- expect_any_instance_of(Puppet::Transaction::AdditionalResourceGenerator).to receive(:eval_generate).with(resource).and_return(true)
266
+ Puppet::Transaction::AdditionalResourceGenerator.any_instance.expects(:eval_generate).with(resource).returns true
268
267
 
269
268
  yielded = false
270
269
  @transaction.evaluate do |res|
@@ -275,7 +274,7 @@ describe Puppet::Transaction do
275
274
  end
276
275
 
277
276
  it "should prefetch the provider if necessary" do
278
- expect(@transaction).to receive(:prefetch_if_necessary).with(resource)
277
+ @transaction.expects(:prefetch_if_necessary).with(resource)
279
278
 
280
279
  @transaction.evaluate {}
281
280
  end
@@ -308,7 +307,7 @@ describe Puppet::Transaction do
308
307
  dependent = Puppet::Type.type(:notify).new(:name => "hello", :require => resource)
309
308
  @transaction.catalog.add_resource(dependent)
310
309
 
311
- allow(resource).to receive(:suitable?).and_return(false)
310
+ resource.stubs(:suitable?).returns false
312
311
 
313
312
  evaluated = []
314
313
  @transaction.evaluate do |res|
@@ -331,20 +330,20 @@ describe Puppet::Transaction do
331
330
 
332
331
  before :each do
333
332
  catalog.add_resource generator
334
- allow(generator).to receive(:generate).and_return(generated)
333
+ generator.stubs(:generate).returns generated
335
334
  # avoid crude failures because of nil resources that result
336
335
  # from implicit containment and lacking containers
337
- allow(catalog).to receive(:container_of).and_return(generator)
336
+ catalog.stubs(:container_of).returns generator
338
337
  end
339
338
 
340
339
  it "should call 'generate' on all created resources" do
341
- generated.each { |res| expect(res).to receive(:generate) }
340
+ generated.each { |res| res.expects(:generate) }
342
341
 
343
342
  transaction.evaluate
344
343
  end
345
344
 
346
345
  it "should finish all resources" do
347
- generated.each { |res| expect(res).to receive(:finish) }
346
+ generated.each { |res| res.expects(:finish) }
348
347
 
349
348
  transaction.evaluate
350
349
  end
@@ -369,29 +368,30 @@ describe Puppet::Transaction do
369
368
 
370
369
  before :each do
371
370
  generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer)
372
- allow(Puppet::Transaction::AdditionalResourceGenerator).to receive(:new).and_return(generator)
371
+ Puppet::Transaction::AdditionalResourceGenerator.stubs(:new).returns(generator)
373
372
  end
374
373
 
375
374
  it "should should query the generator for whether resources failed to generate" do
376
375
  relationship_graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
377
- allow(catalog).to receive(:relationship_graph).and_return(relationship_graph)
376
+ catalog.stubs(:relationship_graph).returns(relationship_graph)
378
377
 
379
- expect(relationship_graph).to receive(:traverse).ordered
380
- expect(generator).to receive(:resources_failed_to_generate).ordered
378
+ sequence = sequence(:traverse_first)
379
+ relationship_graph.expects(:traverse).in_sequence(sequence)
380
+ generator.expects(:resources_failed_to_generate).in_sequence(sequence)
381
381
 
382
382
  transaction.evaluate
383
383
  end
384
384
 
385
385
  it "should report that resources failed to generate" do
386
- expect(generator).to receive(:resources_failed_to_generate).and_return(true)
387
- expect(report).to receive(:resources_failed_to_generate=).with(true)
386
+ generator.expects(:resources_failed_to_generate).returns(true)
387
+ report.expects(:resources_failed_to_generate=).with(true)
388
388
 
389
389
  transaction.evaluate
390
390
  end
391
391
 
392
392
  it "should not report that resources failed to generate if none did" do
393
- expect(generator).to receive(:resources_failed_to_generate).and_return(false)
394
- expect(report).not_to receive(:resources_failed_to_generate=)
393
+ generator.expects(:resources_failed_to_generate).returns(false)
394
+ report.expects(:resources_failed_to_generate=).never
395
395
 
396
396
  transaction.evaluate
397
397
  end
@@ -403,20 +403,20 @@ describe Puppet::Transaction do
403
403
  let(:spec_exception) { 'spec-exception' }
404
404
 
405
405
  it "should invoke each resource's hook and apply the catalog after no failures" do
406
- expect(resource).to receive(:pre_run_check)
406
+ resource.expects(:pre_run_check)
407
407
 
408
408
  transaction.evaluate
409
409
  end
410
410
 
411
411
  it "should abort the transaction on failure" do
412
- expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
412
+ resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
413
413
 
414
414
  expect { transaction.evaluate }.to raise_error(Puppet::Error, /Some pre-run checks failed/)
415
415
  end
416
416
 
417
417
  it "should log the resource-specific exception" do
418
- expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
419
- expect(resource).to receive(:log_exception).with(have_attributes(message: match(/#{spec_exception}/)))
418
+ resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
419
+ resource.expects(:log_exception).with(responds_with(:message, spec_exception))
420
420
 
421
421
  expect { transaction.evaluate }.to raise_error(Puppet::Error)
422
422
  end
@@ -431,61 +431,61 @@ describe Puppet::Transaction do
431
431
  end
432
432
 
433
433
  it "should skip resource with missing tags" do
434
- allow(@transaction).to receive(:missing_tags?).and_return(true)
434
+ @transaction.stubs(:missing_tags?).returns(true)
435
435
  expect(@transaction).to be_skip(@resource)
436
436
  end
437
437
 
438
438
  it "should skip resources tagged with the skip tags" do
439
- allow(@transaction).to receive(:skip_tags?).and_return(true)
439
+ @transaction.stubs(:skip_tags?).returns(true)
440
440
  expect(@transaction).to be_skip(@resource)
441
441
  end
442
442
 
443
443
  it "should skip unscheduled resources" do
444
- allow(@transaction).to receive(:scheduled?).and_return(false)
444
+ @transaction.stubs(:scheduled?).returns(false)
445
445
  expect(@transaction).to be_skip(@resource)
446
446
  end
447
447
 
448
448
  it "should skip resources with failed dependencies" do
449
- allow(@transaction).to receive(:failed_dependencies?).and_return(true)
449
+ @transaction.stubs(:failed_dependencies?).returns(true)
450
450
  expect(@transaction).to be_skip(@resource)
451
451
  end
452
452
 
453
453
  it "should skip virtual resource" do
454
- allow(@resource).to receive(:virtual?).and_return(true)
454
+ @resource.stubs(:virtual?).returns true
455
455
  expect(@transaction).to be_skip(@resource)
456
456
  end
457
457
 
458
458
  it "should skip device only resouce on normal host" do
459
- allow(@resource).to receive(:appliable_to_host?).and_return(false)
460
- allow(@resource).to receive(:appliable_to_device?).and_return(true)
459
+ @resource.stubs(:appliable_to_host?).returns false
460
+ @resource.stubs(:appliable_to_device?).returns true
461
461
  @transaction.for_network_device = false
462
462
  expect(@transaction).to be_skip(@resource)
463
463
  end
464
464
 
465
465
  it "should not skip device only resouce on remote device" do
466
- allow(@resource).to receive(:appliable_to_host?).and_return(false)
467
- allow(@resource).to receive(:appliable_to_device?).and_return(true)
466
+ @resource.stubs(:appliable_to_host?).returns false
467
+ @resource.stubs(:appliable_to_device?).returns true
468
468
  @transaction.for_network_device = true
469
469
  expect(@transaction).not_to be_skip(@resource)
470
470
  end
471
471
 
472
472
  it "should skip host resouce on device" do
473
- allow(@resource).to receive(:appliable_to_host?).and_return(true)
474
- allow(@resource).to receive(:appliable_to_device?).and_return(false)
473
+ @resource.stubs(:appliable_to_host?).returns true
474
+ @resource.stubs(:appliable_to_device?).returns false
475
475
  @transaction.for_network_device = true
476
476
  expect(@transaction).to be_skip(@resource)
477
477
  end
478
478
 
479
479
  it "should not skip resouce available on both device and host when on device" do
480
- allow(@resource).to receive(:appliable_to_host?).and_return(true)
481
- allow(@resource).to receive(:appliable_to_device?).and_return(true)
480
+ @resource.stubs(:appliable_to_host?).returns true
481
+ @resource.stubs(:appliable_to_device?).returns true
482
482
  @transaction.for_network_device = true
483
483
  expect(@transaction).not_to be_skip(@resource)
484
484
  end
485
485
 
486
486
  it "should not skip resouce available on both device and host when on host" do
487
- allow(@resource).to receive(:appliable_to_host?).and_return(true)
488
- allow(@resource).to receive(:appliable_to_device?).and_return(true)
487
+ @resource.stubs(:appliable_to_host?).returns true
488
+ @resource.stubs(:appliable_to_device?).returns true
489
489
  @transaction.for_network_device = false
490
490
  expect(@transaction).not_to be_skip(@resource)
491
491
  end
@@ -498,20 +498,20 @@ describe Puppet::Transaction do
498
498
  @resource.catalog = @catalog
499
499
  @transaction = Puppet::Transaction.new(@catalog, nil, nil)
500
500
 
501
- allow(@transaction).to receive(:ignore_tags?).and_return(false)
501
+ @transaction.stubs(:ignore_tags?).returns false
502
502
  end
503
503
 
504
504
  it "should not be missing tags if tags are being ignored" do
505
- expect(@transaction).to receive(:ignore_tags?).and_return(true)
505
+ @transaction.expects(:ignore_tags?).returns true
506
506
 
507
- expect(@resource).not_to receive(:tagged?)
507
+ @resource.expects(:tagged?).never
508
508
 
509
509
  expect(@transaction).not_to be_missing_tags(@resource)
510
510
  end
511
511
 
512
512
  it "should not be missing tags if the transaction tags are empty" do
513
513
  @transaction.tags = []
514
- expect(@resource).not_to receive(:tagged?)
514
+ @resource.expects(:tagged?).never
515
515
  expect(@transaction).not_to be_missing_tags(@resource)
516
516
  end
517
517
 
@@ -532,14 +532,14 @@ describe Puppet::Transaction do
532
532
 
533
533
  it "should always schedule resources if 'ignoreschedules' is set" do
534
534
  @transaction.ignoreschedules = true
535
- expect(@transaction.resource_harness).not_to receive(:scheduled?)
535
+ @transaction.resource_harness.expects(:scheduled?).never
536
536
 
537
537
  @transaction.evaluate
538
538
  expect(@transaction.resource_status(@resource)).to be_changed
539
539
  end
540
540
 
541
541
  it "should let the resource harness determine whether the resource should be scheduled" do
542
- expect(@transaction.resource_harness).to receive(:scheduled?).with(@resource).and_return("feh")
542
+ @transaction.resource_harness.expects(:scheduled?).with(@resource).returns "feh"
543
543
 
544
544
  @transaction.evaluate
545
545
  end
@@ -552,13 +552,13 @@ describe Puppet::Transaction do
552
552
  let(:resource2) { Puppet::Type.type(:package).new :title => "blah", :provider => :apt }
553
553
 
554
554
  before :each do
555
- allow(resource).to receive(:suitable?).and_return(true)
555
+ resource.stubs(:suitable?).returns(true)
556
556
  catalog.add_resource resource
557
557
  catalog.add_resource resource2
558
558
  end
559
559
 
560
560
  it "should match resources by name, not title" do
561
- expect(resource.provider.class).to receive(:prefetch).with("bar" => resource)
561
+ resource.provider.class.expects(:prefetch).with("bar" => resource)
562
562
 
563
563
  transaction.prefetch_if_necessary(resource)
564
564
  end
@@ -566,13 +566,13 @@ describe Puppet::Transaction do
566
566
  it "should not prefetch a provider which has already been prefetched" do
567
567
  transaction.prefetched_providers[:package][:pkgng] = true
568
568
 
569
- expect(resource.provider.class).not_to receive(:prefetch)
569
+ resource.provider.class.expects(:prefetch).never
570
570
 
571
571
  transaction.prefetch_if_necessary(resource)
572
572
  end
573
573
 
574
574
  it "should mark the provider prefetched" do
575
- allow(resource.provider.class).to receive(:prefetch)
575
+ resource.provider.class.stubs(:prefetch)
576
576
 
577
577
  transaction.prefetch_if_necessary(resource)
578
578
 
@@ -585,8 +585,8 @@ describe Puppet::Transaction do
585
585
 
586
586
  catalog.add_resource other
587
587
 
588
- allow(resource.class).to receive(:defaultprovider).and_return(resource.provider.class)
589
- expect(resource.provider.class).to receive(:prefetch).with('bar' => resource, 'other' => other)
588
+ resource.class.stubs(:defaultprovider).returns(resource.provider.class)
589
+ resource.provider.class.expects(:prefetch).with('bar' => resource, 'other' => other)
590
590
 
591
591
  transaction.prefetch_if_necessary(resource)
592
592
  end
@@ -594,38 +594,14 @@ describe Puppet::Transaction do
594
594
  it "should not prefetch a provider which has failed" do
595
595
  transaction.prefetch_failed_providers[:package][:pkgng] = true
596
596
 
597
- expect(resource.provider.class).not_to receive(:prefetch)
597
+ resource.provider.class.expects(:prefetch).never
598
598
 
599
599
  transaction.prefetch_if_necessary(resource)
600
600
  end
601
601
 
602
- it "should not rescue SystemExit without future_features flag" do
603
- Puppet.settings[:future_features] = false
604
- expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
605
- expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
606
- end
607
-
608
- it "should not rescue SystemExit with future_features flag" do
609
- Puppet.settings[:future_features] = true
610
- expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
611
- expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
612
- end
613
-
614
- it "should rescue LoadError without future_features flag" do
615
- Puppet.settings[:future_features] = false
616
- expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
617
- expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
618
- end
619
-
620
- it "should rescue LoadError with future_features flag" do
621
- Puppet.settings[:future_features] = true
622
- expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
623
- expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
624
- end
625
-
626
602
  describe "and prefetching fails" do
627
603
  before :each do
628
- expect(resource.provider.class).to receive(:prefetch).and_raise(Puppet::Error, "message")
604
+ resource.provider.class.expects(:prefetch).raises(Puppet::Error, "message")
629
605
  end
630
606
 
631
607
  context "without future_features flag" do
@@ -636,11 +612,6 @@ describe Puppet::Transaction do
636
612
  it "should not rescue prefetch executions" do
637
613
  expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error)
638
614
  end
639
-
640
- it "should log the exception during prefetch" do
641
- expect(Puppet).to receive(:log_exception).with(anything, "Could not prefetch package provider 'pkgng': message")
642
- expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error, "message")
643
- end
644
615
  end
645
616
 
646
617
  context "with future_features flag" do
@@ -674,14 +645,14 @@ describe Puppet::Transaction do
674
645
 
675
646
  before :each do
676
647
  catalog.add_resource generator
677
- allow(generator).to receive(:generate).and_return(generated)
678
- allow(catalog).to receive(:container_of).and_return(generator)
648
+ generator.stubs(:generate).returns generated
649
+ catalog.stubs(:container_of).returns generator
679
650
  end
680
651
 
681
652
  it "should not evaluate resources with a failed provider, even if the prefetch is rescued" do
682
653
  #Only the generator resource should be applied, all the other resources are failed, and skipped.
683
654
  catalog.remove_resource resource2
684
- expect(transaction).to receive(:apply).once
655
+ transaction.expects(:apply).once
685
656
 
686
657
  transaction.evaluate
687
658
  end
@@ -700,7 +671,7 @@ describe Puppet::Transaction do
700
671
  catalog.add_resource(new_resource)
701
672
 
702
673
  catalog.remove_resource resource2
703
- expect(transaction).to receive(:apply).once
674
+ transaction.expects(:apply).once
704
675
 
705
676
  transaction.evaluate
706
677
 
@@ -772,10 +743,10 @@ describe Puppet::Transaction do
772
743
 
773
744
  it "should call ::post_resource_eval even if one of the resources fails" do
774
745
  resource = teardown_type.new(:title => "foo", :provider => :teardown_provider)
775
- allow(resource).to receive(:retrieve_resource).and_raise
746
+ resource.stubs(:retrieve_resource).raises
776
747
  catalog.add_resource resource
777
748
 
778
- expect(resource.provider.class).to receive(:post_resource_eval)
749
+ resource.provider.class.expects(:post_resource_eval)
779
750
 
780
751
  transaction.evaluate
781
752
  end
@@ -789,7 +760,7 @@ describe Puppet::Transaction do
789
760
 
790
761
  context "when stop is requested" do
791
762
  before :each do
792
- allow(Puppet::Application).to receive(:stop_requested?).and_return(true)
763
+ Puppet::Application.stubs(:stop_requested?).returns(true)
793
764
  end
794
765
 
795
766
  it 'should return true for :stop_processing?' do
@@ -803,7 +774,7 @@ describe Puppet::Transaction do
803
774
  end
804
775
 
805
776
  it 'should return false for :stop_processing? if Puppet::Application.stop_requested? is false' do
806
- allow(Puppet::Application).to receive(:stop_requested?).and_return(false)
777
+ Puppet::Application.stubs(:stop_requested?).returns(false)
807
778
  expect(@transaction.stop_processing?).to be_falsey
808
779
  end
809
780
 
@@ -811,25 +782,25 @@ describe Puppet::Transaction do
811
782
  before do
812
783
  @resource = Puppet::Type.type(:notify).new :title => "foobar"
813
784
  @catalog.add_resource @resource
814
- allow(@transaction).to receive(:add_dynamically_generated_resources)
785
+ @transaction.stubs(:add_dynamically_generated_resources)
815
786
  end
816
787
 
817
788
  it 'should stop processing if :stop_processing? is true' do
818
- allow(@transaction).to receive(:stop_processing?).and_return(true)
819
- expect(@transaction).not_to receive(:eval_resource)
789
+ @transaction.stubs(:stop_processing?).returns(true)
790
+ @transaction.expects(:eval_resource).never
820
791
  @transaction.evaluate
821
792
  end
822
793
 
823
794
  it 'should continue processing if :stop_processing? is false' do
824
- allow(@transaction).to receive(:stop_processing?).and_return(false)
825
- expect(@transaction).to receive(:eval_resource).and_return(nil)
795
+ @transaction.stubs(:stop_processing?).returns(false)
796
+ @transaction.expects(:eval_resource).returns(nil)
826
797
  @transaction.evaluate
827
798
  end
828
799
  end
829
800
  end
830
801
 
831
802
  it "errors with a dependency cycle for a resource that requires itself" do
832
- expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
803
+ Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
833
804
  expect do
834
805
  apply_compiled_manifest(<<-MANIFEST)
835
806
  notify { cycle: require => Notify[cycle] }
@@ -838,7 +809,7 @@ describe Puppet::Transaction do
838
809
  end
839
810
 
840
811
  it "errors with a dependency cycle for a self-requiring resource also required by another resource" do
841
- expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
812
+ Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
842
813
  expect do
843
814
  apply_compiled_manifest(<<-MANIFEST)
844
815
  notify { cycle: require => Notify[cycle] }
@@ -848,7 +819,7 @@ describe Puppet::Transaction do
848
819
  end
849
820
 
850
821
  it "errors with a dependency cycle for a resource that requires itself and another resource" do
851
- expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
822
+ Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
852
823
  expect do
853
824
  apply_compiled_manifest(<<-MANIFEST)
854
825
  notify { cycle:
@@ -860,7 +831,7 @@ describe Puppet::Transaction do
860
831
  end
861
832
 
862
833
  it "errors with a dependency cycle for a resource that is later modified to require itself" do
863
- expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
834
+ Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
864
835
  expect do
865
836
  apply_compiled_manifest(<<-MANIFEST)
866
837
  notify { cycle: }
@@ -925,30 +896,6 @@ describe Puppet::Transaction do
925
896
  expect(transaction.report.resource_statuses['Notify[b]']).to be_skipped
926
897
  end
927
898
  end
928
-
929
- describe "failed dependency is depended on multiple times" do
930
- it "notifies the failed dependency once" do
931
- command_string = File.expand_path('/my/command')
932
- allow(Puppet::Util::Execution).to receive(:execute).with([command_string]).and_raise(Puppet::ExecutionFailure, "Failed")
933
-
934
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec1] has failures: true")
935
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec2] has failures: true")
936
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec3] has failures: true")
937
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec4] has failures: true")
938
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec5] has failures: true")
939
-
940
- times_send_log_with_skipping_called = 0
941
- allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log) {times_send_log_with_skipping_called += 1; nil}.with(:warning, "Skipping because of failed dependencies")
942
-
943
- apply_compiled_manifest(<<-MANIFEST)
944
- exec { ['exec1', 'exec2', 'exec3', 'exec4', 'exec5']:
945
- command => '#{command_string}'
946
- } ->
947
- notify { ['notify1', 'notify2', 'notify3']: }
948
- MANIFEST
949
- expect(times_send_log_with_skipping_called).to eq(3)
950
- end
951
- end
952
899
  end
953
900
 
954
901
  describe Puppet::Transaction, " when determining tags" do