puppet 6.4.0-x64-mingw32 → 6.4.1-x64-mingw32

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 (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe Puppet::Util::ExecutionStub do
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/util/feature'
@@ -6,7 +5,7 @@ require 'puppet/util/feature'
6
5
  describe Puppet::Util::Feature do
7
6
  before do
8
7
  @features = Puppet::Util::Feature.new("features")
9
- @features.stubs(:warn)
8
+ allow(@features).to receive(:warn)
10
9
  end
11
10
 
12
11
  it "should not call associated code when adding a feature" do
@@ -77,40 +76,50 @@ describe Puppet::Util::Feature do
77
76
 
78
77
  it "should consider a feature to be present if all of its libraries are present" do
79
78
  @features.add(:myfeature, :libs => %w{foo bar})
80
- @features.expects(:require).with("foo")
81
- @features.expects(:require).with("bar")
79
+ expect(@features).to receive(:require).with("foo")
80
+ expect(@features).to receive(:require).with("bar")
82
81
 
83
82
  expect(@features).to be_myfeature
84
83
  end
85
84
 
86
85
  it "should log and consider a feature to be absent if any of its libraries are absent" do
87
86
  @features.add(:myfeature, :libs => %w{foo bar})
88
- @features.expects(:require).with("foo").raises(LoadError)
89
- @features.stubs(:require).with("bar")
87
+ expect(@features).to receive(:require).with("foo").and_raise(LoadError)
88
+ allow(@features).to receive(:require).with("bar")
90
89
 
91
- @features.expects(:debug_once)
90
+ expect(@features).to receive(:debug_once)
92
91
 
93
92
  expect(@features).not_to be_myfeature
94
93
  end
95
94
 
96
95
  it "should change the feature to be present when its libraries become available" do
97
96
  @features.add(:myfeature, :libs => %w{foo bar})
98
- @features.expects(:require).twice().with("foo").raises(LoadError).then.returns(nil)
99
- @features.stubs(:require).with("bar")
100
- Puppet::Util::RubyGems::Source.stubs(:source).returns(Puppet::Util::RubyGems::Gems18Source)
101
- Puppet::Util::RubyGems::Gems18Source.any_instance.expects(:clear_paths).times(3)
102
-
103
- @features.expects(:debug_once)
97
+ times_feature_require_called = 0
98
+ expect(@features).to receive(:require).twice().with("foo") do
99
+ times_feature_require_called += 1
100
+ if times_feature_require_called == 1
101
+ raise LoadError
102
+ else
103
+ nil
104
+ end
105
+ end
106
+ allow(@features).to receive(:require).with("bar")
107
+ allow(Puppet::Util::RubyGems::Source).to receive(:source).and_return(Puppet::Util::RubyGems::Gems18Source)
108
+ times_clear_paths_called = 0
109
+ allow_any_instance_of(Puppet::Util::RubyGems::Gems18Source).to receive(:clear_paths) { times_clear_paths_called += 1 }
110
+
111
+ expect(@features).to receive(:debug_once)
104
112
 
105
113
  expect(@features).not_to be_myfeature
106
114
  expect(@features).to be_myfeature
115
+ expect(times_clear_paths_called).to eq(3)
107
116
  end
108
117
 
109
118
  it "should cache load failures when configured to do so" do
110
119
  Puppet[:always_retry_plugins] = false
111
120
 
112
121
  @features.add(:myfeature, :libs => %w{foo bar})
113
- @features.expects(:require).with("foo").raises(LoadError)
122
+ expect(@features).to receive(:require).with("foo").and_raise(LoadError)
114
123
 
115
124
  expect(@features).not_to be_myfeature
116
125
  # second call would cause an expectation exception if 'require' was
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/util/filetype'
@@ -16,15 +15,15 @@ describe Puppet::Util::FileType do
16
15
 
17
16
  describe "when the file already exists" do
18
17
  it "should return the file's contents when asked to read it" do
19
- Puppet::FileSystem.expects(:exist?).with(path).returns true
20
- Puppet::FileSystem.expects(:read).with(path, :encoding => Encoding.default_external).returns "my text"
18
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
19
+ expect(Puppet::FileSystem).to receive(:read).with(path, :encoding => Encoding.default_external).and_return("my text")
21
20
 
22
21
  expect(file.read).to eq("my text")
23
22
  end
24
23
 
25
24
  it "should unlink the file when asked to remove it" do
26
- Puppet::FileSystem.expects(:exist?).with(path).returns true
27
- Puppet::FileSystem.expects(:unlink).with(path)
25
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
26
+ expect(Puppet::FileSystem).to receive(:unlink).with(path)
28
27
 
29
28
  file.remove
30
29
  end
@@ -32,57 +31,58 @@ describe Puppet::Util::FileType do
32
31
 
33
32
  describe "when the file does not exist" do
34
33
  it "should return an empty string when asked to read the file" do
35
- Puppet::FileSystem.expects(:exist?).with(path).returns false
34
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
36
35
 
37
36
  expect(file.read).to eq("")
38
37
  end
39
38
  end
40
39
 
41
40
  describe "when writing the file" do
42
- let(:tempfile) { stub 'tempfile', :print => nil, :close => nil, :flush => nil, :path => "/other/file" }
41
+ let(:tempfile) { double('tempfile', :print => nil, :close => nil, :flush => nil, :path => "/other/file") }
42
+
43
43
  before do
44
- FileUtils.stubs(:cp)
45
- Tempfile.stubs(:new).returns tempfile
44
+ allow(FileUtils).to receive(:cp)
45
+ allow(Tempfile).to receive(:new).and_return(tempfile)
46
46
  end
47
47
 
48
48
  it "should first create a temp file and copy its contents over to the file location" do
49
- Tempfile.expects(:new).with("puppet", :encoding => Encoding.default_external).returns tempfile
50
- tempfile.expects(:print).with("my text")
51
- tempfile.expects(:flush)
52
- tempfile.expects(:close)
53
- FileUtils.expects(:cp).with(tempfile.path, path)
49
+ expect(Tempfile).to receive(:new).with("puppet", :encoding => Encoding.default_external).and_return(tempfile)
50
+ expect(tempfile).to receive(:print).with("my text")
51
+ expect(tempfile).to receive(:flush)
52
+ expect(tempfile).to receive(:close)
53
+ expect(FileUtils).to receive(:cp).with(tempfile.path, path)
54
54
 
55
55
  file.write "my text"
56
56
  end
57
57
 
58
58
  it "should set the selinux default context on the file" do
59
- file.expects(:set_selinux_default_context).with(path)
59
+ expect(file).to receive(:set_selinux_default_context).with(path)
60
60
  file.write "eh"
61
61
  end
62
62
  end
63
63
 
64
64
  describe "when backing up a file" do
65
65
  it "should do nothing if the file does not exist" do
66
- Puppet::FileSystem.expects(:exist?).with(path).returns false
67
- file.expects(:bucket).never
66
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
67
+ expect(file).not_to receive(:bucket)
68
68
  file.backup
69
69
  end
70
70
 
71
71
  it "should use its filebucket to backup the file if it exists" do
72
- Puppet::FileSystem.expects(:exist?).with(path).returns true
72
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
73
73
 
74
- bucket = mock 'bucket'
75
- bucket.expects(:backup).with(path)
74
+ bucket = double('bucket')
75
+ expect(bucket).to receive(:backup).with(path)
76
76
 
77
- file.expects(:bucket).returns bucket
77
+ expect(file).to receive(:bucket).and_return(bucket)
78
78
  file.backup
79
79
  end
80
80
 
81
81
  it "should use the default filebucket" do
82
- bucket = mock 'bucket'
83
- bucket.expects(:bucket).returns "mybucket"
82
+ bucket = double('bucket')
83
+ expect(bucket).to receive(:bucket).and_return("mybucket")
84
84
 
85
- Puppet::Type.type(:filebucket).expects(:mkdefaultbucket).returns bucket
85
+ expect(Puppet::Type.type(:filebucket)).to receive(:mkdefaultbucket).and_return(bucket)
86
86
 
87
87
  expect(file.bucket).to eq("mybucket")
88
88
  end
@@ -103,57 +103,57 @@ describe Puppet::Util::FileType do
103
103
  # make Puppet::Util::SUIDManager return something deterministic, not the
104
104
  # uid of the user running the tests, except where overridden below.
105
105
  before :each do
106
- Puppet::Util::SUIDManager.stubs(:uid).returns 1234
106
+ allow(Puppet::Util::SUIDManager).to receive(:uid).and_return(1234)
107
107
  end
108
108
 
109
109
  describe "#read" do
110
110
  before(:each) do
111
- Puppet::Util.stubs(:uid).with(uid).returns 9000
111
+ allow(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
112
112
  end
113
113
 
114
114
  it "should run crontab -l as the target user" do
115
- Puppet::Util::Execution.expects(:execute)
115
+ expect(Puppet::Util::Execution).to receive(:execute)
116
116
  .with(['crontab', '-l'], user_options)
117
- .returns(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
117
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
118
118
  expect(cron.read).to eq(crontab)
119
119
  end
120
120
 
121
121
  it "should not switch user if current user is the target user" do
122
- Puppet::Util.expects(:uid).with(uid).twice.returns 9000
123
- Puppet::Util::SUIDManager.expects(:uid).returns 9000
124
- Puppet::Util::Execution
125
- .expects(:execute).with(['crontab', '-l'], options)
126
- .returns(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
122
+ expect(Puppet::Util).to receive(:uid).with(uid).twice.and_return(9000)
123
+ expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
124
+ expect(Puppet::Util::Execution).to receive(:execute)
125
+ .with(['crontab', '-l'], options)
126
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
127
127
  expect(cron.read).to eq(crontab)
128
128
  end
129
129
 
130
130
  it "should treat an absent crontab as empty" do
131
- Puppet::Util::Execution.expects(:execute).with(['crontab', '-l'], user_options).raises(Puppet::ExecutionFailure, absent_crontab)
131
+ expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-l'], user_options).and_raise(Puppet::ExecutionFailure, absent_crontab)
132
132
  expect(cron.read).to eq('')
133
133
  end
134
134
 
135
135
  it "should treat a nonexistent user's crontab as empty" do
136
- Puppet::Util.expects(:uid).with(uid).returns nil
136
+ expect(Puppet::Util).to receive(:uid).with(uid).and_return(nil)
137
137
 
138
138
  expect(cron.read).to eq('')
139
139
  end
140
140
 
141
141
  it "should return empty if the user is not authorized to use cron" do
142
- Puppet::Util::Execution.expects(:execute).with(['crontab', '-l'], user_options).raises(Puppet::ExecutionFailure, unauthorized_crontab)
142
+ expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-l'], user_options).and_raise(Puppet::ExecutionFailure, unauthorized_crontab)
143
143
  expect(cron.read).to eq('')
144
144
  end
145
145
  end
146
146
 
147
147
  describe "#remove" do
148
148
  it "should run crontab -r as the target user" do
149
- Puppet::Util::Execution.expects(:execute).with(['crontab', '-r'], user_options)
149
+ expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-r'], user_options)
150
150
  cron.remove
151
151
  end
152
152
 
153
153
  it "should not switch user if current user is the target user" do
154
- Puppet::Util.expects(:uid).with(uid).returns 9000
155
- Puppet::Util::SUIDManager.expects(:uid).returns 9000
156
- Puppet::Util::Execution.expects(:execute).with(['crontab','-r'], options)
154
+ expect(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
155
+ expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
156
+ expect(Puppet::Util::Execution).to receive(:execute).with(['crontab','-r'], options)
157
157
  cron.remove
158
158
  end
159
159
  end
@@ -162,8 +162,8 @@ describe Puppet::Util::FileType do
162
162
  before :each do
163
163
  @tmp_cron = Tempfile.new("puppet_crontab_spec")
164
164
  @tmp_cron_path = @tmp_cron.path
165
- Puppet::Util.stubs(:uid).with(uid).returns 9000
166
- Tempfile.expects(:new).with("puppet_#{name}", :encoding => Encoding.default_external).returns @tmp_cron
165
+ allow(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
166
+ expect(Tempfile).to receive(:new).with("puppet_#{name}", :encoding => Encoding.default_external).and_return(@tmp_cron)
167
167
  end
168
168
 
169
169
  after :each do
@@ -171,19 +171,19 @@ describe Puppet::Util::FileType do
171
171
  end
172
172
 
173
173
  it "should run crontab as the target user on a temporary file" do
174
- File.expects(:chown).with(9000, nil, @tmp_cron_path)
175
- Puppet::Util::Execution.expects(:execute).with(["crontab", @tmp_cron_path], user_options)
174
+ expect(File).to receive(:chown).with(9000, nil, @tmp_cron_path)
175
+ expect(Puppet::Util::Execution).to receive(:execute).with(["crontab", @tmp_cron_path], user_options)
176
176
 
177
- @tmp_cron.expects(:print).with("foo\n")
177
+ expect(@tmp_cron).to receive(:print).with("foo\n")
178
178
  cron.write "foo\n"
179
179
  end
180
180
 
181
181
  it "should not switch user if current user is the target user" do
182
- Puppet::Util::SUIDManager.expects(:uid).returns 9000
183
- File.expects(:chown).with(9000, nil, @tmp_cron_path)
184
- Puppet::Util::Execution.expects(:execute).with(["crontab", @tmp_cron_path], options)
182
+ expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
183
+ expect(File).to receive(:chown).with(9000, nil, @tmp_cron_path)
184
+ expect(Puppet::Util::Execution).to receive(:execute).with(["crontab", @tmp_cron_path], options)
185
185
 
186
- @tmp_cron.expects(:print).with("foo\n")
186
+ expect(@tmp_cron).to receive(:print).with("foo\n")
187
187
  cron.write "foo\n"
188
188
  end
189
189
  end
@@ -218,22 +218,22 @@ describe Puppet::Util::HttpProxy do
218
218
 
219
219
  describe '.request_with_redirects' do
220
220
  let(:dest) { URI.parse('http://mydomain.com/some/path') }
221
- let(:http_ok) { stub('http ok', :code => 200, :message => 'HTTP OK') }
221
+ let(:http_ok) { double('http ok', :code => 200, :message => 'HTTP OK') }
222
222
 
223
223
  it 'generates accept and accept-encoding headers' do
224
- Net::HTTP.any_instance.stubs(:head).returns(http_ok)
225
- Net::HTTP.any_instance.expects(:get).with do |_, headers|
224
+ allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
225
+ expect_any_instance_of(Net::HTTP).to receive(:get) do |_, _, headers|
226
226
  expect(headers)
227
227
  .to match({'Accept' => '*/*',
228
228
  'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
229
229
  'User-Agent' => /Puppet/})
230
- end.returns(http_ok)
230
+ end.and_return(http_ok)
231
231
 
232
232
  subject.request_with_redirects(dest, :get, 0)
233
233
  end
234
234
 
235
235
  it 'can return a compressed response body' do
236
- Net::HTTP.any_instance.stubs(:head).returns(http_ok)
236
+ allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
237
237
 
238
238
  compressed_body = [
239
239
  0x1f, 0x8b, 0x08, 0x08, 0xe9, 0x08, 0x7a, 0x5a, 0x00, 0x03,
@@ -241,9 +241,9 @@ describe Puppet::Util::HttpProxy do
241
241
  0x00, 0x7a, 0x7a, 0x6f, 0xed, 0x03, 0x00, 0x00, 0x00
242
242
  ].pack('C*')
243
243
 
244
- response = stub('http ok', :code => 200, :message => 'HTTP OK', :body => compressed_body)
245
- response.stubs(:[]).with('content-encoding').returns('gzip')
246
- Net::HTTP.any_instance.expects(:get).returns(response)
244
+ response = double('http ok', :code => 200, :message => 'HTTP OK', :body => compressed_body)
245
+ allow(response).to receive(:[]).with('content-encoding').and_return('gzip')
246
+ expect_any_instance_of(Net::HTTP).to receive(:get).and_return(response)
247
247
 
248
248
  expect(
249
249
  uncompress_body(subject.request_with_redirects(dest, :get, 0))
@@ -251,13 +251,13 @@ describe Puppet::Util::HttpProxy do
251
251
  end
252
252
 
253
253
  it 'generates accept and accept-encoding headers when a block is provided' do
254
- Net::HTTP.any_instance.stubs(:head).returns(http_ok)
255
- Net::HTTP.any_instance.expects(:request_get).with do |_, headers, &block|
254
+ allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
255
+ expect_any_instance_of(Net::HTTP).to receive(:request_get) do |_, _, headers, &block|
256
256
  expect(headers)
257
257
  .to match({'Accept' => '*/*',
258
258
  'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
259
259
  'User-Agent' => /Puppet/})
260
- end.returns(http_ok)
260
+ end.and_return(http_ok)
261
261
 
262
262
  subject.request_with_redirects(dest, :get, 0) do
263
263
  # unused
@@ -265,7 +265,7 @@ describe Puppet::Util::HttpProxy do
265
265
  end
266
266
 
267
267
  it 'only makes a single HEAD request' do
268
- Net::HTTP.any_instance.expects(:head).with(anything, anything).returns(http_ok)
268
+ expect_any_instance_of(Net::HTTP).to receive(:head).with(anything, anything).and_return(http_ok)
269
269
 
270
270
  subject.request_with_redirects(dest, :head, 0)
271
271
  end
@@ -111,19 +111,18 @@ describe Puppet::Util::IniConfig::PhysicalFile do
111
111
 
112
112
  describe "when reading a file" do
113
113
  it "raises an error if the file does not exist" do
114
- subject.filetype.stubs(:read)
114
+ allow(subject.filetype).to receive(:read)
115
115
  expect {
116
116
  subject.read
117
117
  }.to raise_error(%r[Cannot read nonexistent file .*/some/nonexistent/file])
118
118
  end
119
119
 
120
120
  it "passes the contents of the file to #parse" do
121
- subject.filetype.stubs(:read).returns "[section]"
122
- subject.expects(:parse).with("[section]")
121
+ allow(subject.filetype).to receive(:read).and_return("[section]")
122
+ expect(subject).to receive(:parse).with("[section]")
123
123
 
124
124
  subject.read
125
125
  end
126
-
127
126
  end
128
127
 
129
128
  describe "when parsing a file" do
@@ -148,7 +147,7 @@ describe Puppet::Util::IniConfig::PhysicalFile do
148
147
  end
149
148
 
150
149
  it "raises an error if a section is redefined in the file collection" do
151
- subject.file_collection = stub('file collection', :get_section => true)
150
+ subject.file_collection = double('file collection', :get_section => true)
152
151
  text = "[mysect]\n[mysect]\n"
153
152
 
154
153
  expect {
@@ -156,7 +155,6 @@ describe Puppet::Util::IniConfig::PhysicalFile do
156
155
  }.to raise_error(Puppet::Util::IniConfig::IniParseError,
157
156
  /Section "mysect" is already defined, cannot redefine/)
158
157
  end
159
-
160
158
  end
161
159
 
162
160
  describe 'parsing properties' do
@@ -211,7 +209,6 @@ INIFILE
211
209
  end
212
210
 
213
211
  describe "parsing line continuations" do
214
-
215
212
  it "adds the continued line to the last parsed property" do
216
213
  text = "[main]\nkey=val\n moreval"
217
214
 
@@ -283,7 +280,6 @@ INIFILE
283
280
  end
284
281
 
285
282
  describe "formatting" do
286
-
287
283
  it "concatenates each formatted section in order" do
288
284
  subject.contents << first_sect << second_sect
289
285
 
@@ -326,7 +322,7 @@ INIFILE
326
322
  describe "and destroy_empty is true" do
327
323
  before { subject.destroy_empty = true }
328
324
  it "removes the file if there are no sections" do
329
- File.expects(:unlink)
325
+ expect(File).to receive(:unlink)
330
326
  subject.store
331
327
  end
332
328
 
@@ -335,7 +331,7 @@ INIFILE
335
331
  first_sect.destroy = true
336
332
  second_sect.destroy = true
337
333
 
338
- File.expects(:unlink)
334
+ expect(File).to receive(:unlink)
339
335
  subject.store
340
336
  end
341
337
 
@@ -344,8 +340,8 @@ INIFILE
344
340
  first_sect.destroy = true
345
341
  second_sect.destroy = false
346
342
 
347
- File.expects(:unlink).never
348
- subject.filetype.stubs(:write)
343
+ expect(File).not_to receive(:unlink)
344
+ allow(subject.filetype).to receive(:write)
349
345
  subject.store
350
346
  end
351
347
  end
@@ -355,9 +351,9 @@ INIFILE
355
351
  first_sect.destroy = true
356
352
  second_sect.destroy = true
357
353
 
358
- File.expects(:unlink).never
359
- subject.stubs(:format).returns "formatted"
360
- subject.filetype.expects(:write).with("formatted")
354
+ expect(File).not_to receive(:unlink)
355
+ allow(subject).to receive(:format).and_return("formatted")
356
+ expect(subject.filetype).to receive(:write).with("formatted")
361
357
  subject.store
362
358
  end
363
359
  end
@@ -367,8 +363,8 @@ INIFILE
367
363
  first_sect.mark_dirty
368
364
  second_sect.mark_clean
369
365
 
370
- subject.stubs(:format).returns "formatted"
371
- subject.filetype.expects(:write).with("formatted")
366
+ allow(subject).to receive(:format).and_return("formatted")
367
+ expect(subject.filetype).to receive(:write).with("formatted")
372
368
  subject.store
373
369
  end
374
370
 
@@ -377,15 +373,14 @@ INIFILE
377
373
  first_sect.mark_clean
378
374
  second_sect.mark_clean
379
375
 
380
- subject.stubs(:format).returns "formatted"
381
- subject.filetype.expects(:write).never
376
+ allow(subject).to receive(:format).and_return("formatted")
377
+ expect(subject.filetype).not_to receive(:write)
382
378
  subject.store
383
379
  end
384
380
  end
385
381
  end
386
382
 
387
383
  describe Puppet::Util::IniConfig::FileCollection do
388
-
389
384
  let(:path_a) { '/some/nonexistent/file/a' }
390
385
  let(:path_b) { '/some/nonexistent/file/b' }
391
386
 
@@ -404,20 +399,20 @@ describe Puppet::Util::IniConfig::FileCollection do
404
399
  end
405
400
 
406
401
  describe "reading a file" do
407
- let(:stub_file) { stub('Physical file') }
402
+ let(:stub_file) { double('Physical file') }
408
403
 
409
404
  it "creates a new PhysicalFile and uses that to read the file" do
410
- stub_file.expects(:read)
411
- stub_file.expects(:file_collection=)
412
- Puppet::Util::IniConfig::PhysicalFile.expects(:new).with(path_a).returns stub_file
405
+ expect(stub_file).to receive(:read)
406
+ expect(stub_file).to receive(:file_collection=)
407
+ expect(Puppet::Util::IniConfig::PhysicalFile).to receive(:new).with(path_a).and_return(stub_file)
413
408
 
414
409
  subject.read(path_a)
415
410
  end
416
411
 
417
412
  it "stores the PhysicalFile and the path to the file" do
418
- stub_file.stubs(:read)
419
- stub_file.stubs(:file_collection=)
420
- Puppet::Util::IniConfig::PhysicalFile.stubs(:new).with(path_a).returns stub_file
413
+ allow(stub_file).to receive(:read)
414
+ allow(stub_file).to receive(:file_collection=)
415
+ allow(Puppet::Util::IniConfig::PhysicalFile).to receive(:new).with(path_a).and_return(stub_file)
421
416
  subject.read(path_a)
422
417
 
423
418
  path, physical_file = subject.files.first
@@ -434,8 +429,8 @@ describe Puppet::Util::IniConfig::FileCollection do
434
429
  end
435
430
 
436
431
  it "stores all files in the collection" do
437
- file_a.expects(:store).once
438
- file_b.expects(:store).once
432
+ expect(file_a).to receive(:store).once
433
+ expect(file_b).to receive(:store).once
439
434
 
440
435
  subject.store
441
436
  end
@@ -449,7 +444,7 @@ describe Puppet::Util::IniConfig::FileCollection do
449
444
 
450
445
  it "yields every section from every file" do
451
446
  [sect_a1, sect_a2, sect_b1, sect_b2].each do |sect|
452
- sect.expects(:touch).once
447
+ expect(sect).to receive(:touch).once
453
448
  end
454
449
 
455
450
  subject.each_section do |sect|
@@ -516,7 +511,7 @@ describe Puppet::Util::IniConfig::FileCollection do
516
511
  end
517
512
 
518
513
  it "adds the section to the appropriate file" do
519
- file_a.expects(:add_section).with('newsect')
514
+ expect(file_a).to receive(:add_section).with('newsect')
520
515
  subject.add_section('newsect', path_a)
521
516
  end
522
517
  end