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
  require 'puppet/indirector/indirection'
@@ -7,23 +6,23 @@ shared_examples_for "Indirection Delegator" do
7
6
  it "should create a request object with the appropriate method name and all of the passed arguments" do
8
7
  request = Puppet::Indirector::Request.new(:indirection, :find, "me", nil)
9
8
 
10
- @indirection.expects(:request).with(@method, "mystuff", nil, :one => :two).returns request
9
+ expect(@indirection).to receive(:request).with(@method, "mystuff", nil, :one => :two).and_return(request)
11
10
 
12
- @terminus.stubs(@method)
11
+ allow(@terminus).to receive(@method)
13
12
 
14
13
  @indirection.send(@method, "mystuff", :one => :two)
15
14
  end
16
15
 
17
16
  it "should choose the terminus returned by the :terminus_class" do
18
- @indirection.expects(:terminus_class).returns :test_terminus
17
+ expect(@indirection).to receive(:terminus_class).and_return(:test_terminus)
19
18
 
20
- @terminus.expects(@method)
19
+ expect(@terminus).to receive(@method)
21
20
 
22
21
  @indirection.send(@method, "me")
23
22
  end
24
23
 
25
24
  it "should let the appropriate terminus perform the lookup" do
26
- @terminus.expects(@method).with { |r| r.is_a?(Puppet::Indirector::Request) }
25
+ expect(@terminus).to receive(@method).with(be_a(Puppet::Indirector::Request))
27
26
  @indirection.send(@method, "me")
28
27
  end
29
28
  end
@@ -38,38 +37,38 @@ shared_examples_for "Delegation Authorizer" do
38
37
  end
39
38
 
40
39
  it "should not check authorization if a node name is not provided" do
41
- @terminus.expects(:authorized?).never
42
- @terminus.stubs(@method)
40
+ expect(@terminus).not_to receive(:authorized?)
41
+ allow(@terminus).to receive(@method)
43
42
 
44
- # The quotes are necessary here, else it looks like a block.
45
- @request.stubs(:options).returns({})
43
+ # The parenthesis are necessary here, else it looks like a block.
44
+ allow(@request).to receive(:options).and_return({})
46
45
  @indirection.send(@method, "/my/key")
47
46
  end
48
47
 
49
48
  it "should pass the request to the terminus's authorization method" do
50
- @terminus.expects(:authorized?).with { |r| r.is_a?(Puppet::Indirector::Request) }.returns(true)
51
- @terminus.stubs(@method)
49
+ expect(@terminus).to receive(:authorized?).with(be_a(Puppet::Indirector::Request)).and_return(true)
50
+ allow(@terminus).to receive(@method)
52
51
 
53
52
  @indirection.send(@method, "/my/key", :node => "mynode")
54
53
  end
55
54
 
56
55
  it "should fail if authorization returns false" do
57
- @terminus.expects(:authorized?).returns(false)
58
- @terminus.stubs(@method)
56
+ expect(@terminus).to receive(:authorized?).and_return(false)
57
+ allow(@terminus).to receive(@method)
59
58
  expect { @indirection.send(@method, "/my/key", :node => "mynode") }.to raise_error(ArgumentError)
60
59
  end
61
60
 
62
61
  it "should continue if authorization returns true" do
63
- @terminus.expects(:authorized?).returns(true)
64
- @terminus.stubs(@method)
62
+ expect(@terminus).to receive(:authorized?).and_return(true)
63
+ allow(@terminus).to receive(@method)
65
64
  @indirection.send(@method, "/my/key", :node => "mynode")
66
65
  end
67
66
  end
68
67
 
69
68
  shared_examples_for "Request validator" do
70
69
  it "asks the terminus to validate the request" do
71
- @terminus.expects(:validate).raises(Puppet::Indirector::ValidationError, "Invalid")
72
- @terminus.expects(@method).never
70
+ expect(@terminus).to receive(:validate).and_raise(Puppet::Indirector::ValidationError, "Invalid")
71
+ expect(@terminus).not_to receive(@method)
73
72
  expect {
74
73
  @indirection.send(@method, "key")
75
74
  }.to raise_error Puppet::Indirector::ValidationError
@@ -79,24 +78,24 @@ end
79
78
  describe Puppet::Indirector::Indirection do
80
79
  describe "when initializing" do
81
80
  it "should keep a reference to the indirecting model" do
82
- model = mock 'model'
81
+ model = double('model')
83
82
  @indirection = Puppet::Indirector::Indirection.new(model, :myind)
84
83
  expect(@indirection.model).to equal(model)
85
84
  end
86
85
 
87
86
  it "should set the name" do
88
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :myind)
87
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :myind)
89
88
  expect(@indirection.name).to eq(:myind)
90
89
  end
91
90
 
92
91
  it "should require indirections to have unique names" do
93
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
92
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
94
93
  expect { Puppet::Indirector::Indirection.new(:test) }.to raise_error(ArgumentError)
95
94
  end
96
95
 
97
96
  it "should extend itself with any specified module" do
98
97
  mod = Module.new
99
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test, :extend => mod)
98
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test, :extend => mod)
100
99
  expect(@indirection.singleton_class.included_modules).to include(mod)
101
100
  end
102
101
 
@@ -107,23 +106,22 @@ describe Puppet::Indirector::Indirection do
107
106
 
108
107
  describe "when an instance" do
109
108
  before :each do
110
- @terminus_class = mock 'terminus_class'
111
- @terminus = mock 'terminus'
112
- @terminus.stubs(:validate)
113
- @terminus_class.stubs(:new).returns(@terminus)
114
- @cache = stub 'cache', :name => "mycache"
115
- @cache_class = mock 'cache_class'
116
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :cache_terminus).returns(@cache_class)
117
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :test_terminus).returns(@terminus_class)
118
-
119
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
109
+ @terminus_class = double('terminus_class')
110
+ @terminus = double('terminus')
111
+ allow(@terminus).to receive(:validate)
112
+ allow(@terminus_class).to receive(:new).and_return(@terminus)
113
+ @cache = double('cache', :name => "mycache")
114
+ @cache_class = double('cache_class')
115
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
116
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
117
+
118
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
120
119
  @indirection.terminus_class = :test_terminus
121
120
 
122
- @instance = stub 'instance', :expiration => nil, :expiration= => nil, :name => "whatever"
121
+ @instance = double('instance', :expiration => nil, :expiration= => nil, :name => "whatever")
123
122
  @name = :mything
124
123
 
125
- #@request = stub 'instance', :key => "/my/key", :instance => @instance, :options => {}
126
- @request = mock 'instance'
124
+ @request = double('instance')
127
125
  end
128
126
 
129
127
  it "should allow setting the ttl" do
@@ -137,9 +135,9 @@ describe Puppet::Indirector::Indirection do
137
135
  end
138
136
 
139
137
  it "should calculate the current expiration by adding the TTL to the current time" do
140
- @indirection.stubs(:ttl).returns(100)
138
+ allow(@indirection).to receive(:ttl).and_return(100)
141
139
  now = Time.now
142
- Time.stubs(:now).returns now
140
+ allow(Time).to receive(:now).and_return(now)
143
141
  expect(@indirection.expiration).to eq(Time.now + 100)
144
142
  end
145
143
 
@@ -149,28 +147,28 @@ describe Puppet::Indirector::Indirection do
149
147
 
150
148
  describe "creates a request" do
151
149
  it "should create it with its name as the request's indirection name" do
152
- Puppet::Indirector::Request.expects(:new).with { |name, *other| @indirection.name == name }
150
+ expect(Puppet::Indirector::Request).to receive(:new).with(@indirection.name, anything, anything)
153
151
  @indirection.request(:funtest, "yayness")
154
152
  end
155
153
 
156
154
  it "should require a method and key" do
157
- Puppet::Indirector::Request.expects(:new).with { |name, method, key, *other| method == :funtest and key == "yayness" }
155
+ expect(Puppet::Indirector::Request).to receive(:new).with(anything, :funtest, "yayness")
158
156
  @indirection.request(:funtest, "yayness")
159
157
  end
160
158
 
161
159
  it "should support optional arguments" do
162
- Puppet::Indirector::Request.expects(:new).with { |name, method, key, other| other == {:one => :two} }
160
+ expect(Puppet::Indirector::Request).to receive(:new).with(anything, anything, anything, {:one => :two})
163
161
  @indirection.request(:funtest, "yayness", :one => :two)
164
162
  end
165
163
 
166
164
  it "should not pass options if none are supplied" do
167
- Puppet::Indirector::Request.expects(:new).with { |*args| args.length < 4 }
165
+ expect(Puppet::Indirector::Request).to receive(:new).with(anything, anything, anything)
168
166
  @indirection.request(:funtest, "yayness")
169
167
  end
170
168
 
171
169
  it "should return the request" do
172
- request = mock 'request'
173
- Puppet::Indirector::Request.expects(:new).returns request
170
+ request = double('request')
171
+ expect(Puppet::Indirector::Request).to receive(:new).and_return(request)
174
172
  expect(@indirection.request(:funtest, "yayness")).to equal(request)
175
173
  end
176
174
  end
@@ -183,190 +181,204 @@ describe Puppet::Indirector::Indirection do
183
181
  it_should_behave_like "Request validator"
184
182
 
185
183
  it "should return the results of the delegation" do
186
- @terminus.expects(:find).returns(@instance)
184
+ expect(@terminus).to receive(:find).and_return(@instance)
187
185
  expect(@indirection.find("me")).to equal(@instance)
188
186
  end
189
187
 
190
188
  it "should return false if the instance is false" do
191
- @terminus.expects(:find).returns(false)
189
+ expect(@terminus).to receive(:find).and_return(false)
192
190
  expect(@indirection.find("me")).to equal(false)
193
191
  end
194
192
 
195
193
  it "should set the expiration date on any instances without one set" do
196
- @terminus.stubs(:find).returns(@instance)
194
+ allow(@terminus).to receive(:find).and_return(@instance)
197
195
 
198
- @indirection.expects(:expiration).returns :yay
196
+ expect(@indirection).to receive(:expiration).and_return(:yay)
199
197
 
200
- @instance.expects(:expiration).returns(nil)
201
- @instance.expects(:expiration=).with(:yay)
198
+ expect(@instance).to receive(:expiration).and_return(nil)
199
+ expect(@instance).to receive(:expiration=).with(:yay)
202
200
 
203
201
  @indirection.find("/my/key")
204
202
  end
205
203
 
206
204
  it "should not override an already-set expiration date on returned instances" do
207
- @terminus.stubs(:find).returns(@instance)
205
+ allow(@terminus).to receive(:find).and_return(@instance)
208
206
 
209
- @indirection.expects(:expiration).never
207
+ expect(@indirection).not_to receive(:expiration)
210
208
 
211
- @instance.expects(:expiration).returns(:yay)
212
- @instance.expects(:expiration=).never
209
+ expect(@instance).to receive(:expiration).and_return(:yay)
210
+ expect(@instance).not_to receive(:expiration=)
213
211
 
214
212
  @indirection.find("/my/key")
215
213
  end
216
214
 
217
215
  it "should filter the result instance if the terminus supports it" do
218
- @terminus.stubs(:find).returns(@instance)
219
- @terminus.stubs(:respond_to?).with(:filter).returns(true)
216
+ allow(@terminus).to receive(:find).and_return(@instance)
217
+ allow(@terminus).to receive(:respond_to?).with(:filter).and_return(true)
220
218
 
221
- @terminus.expects(:filter).with(@instance)
219
+ expect(@terminus).to receive(:filter).with(@instance)
222
220
 
223
221
  @indirection.find("/my/key")
224
222
  end
223
+
225
224
  describe "when caching is enabled" do
226
225
  before do
227
226
  @indirection.cache_class = :cache_terminus
228
- @cache_class.stubs(:new).returns(@cache)
227
+ allow(@cache_class).to receive(:new).and_return(@cache)
229
228
 
230
- @instance.stubs(:expired?).returns false
229
+ allow(@instance).to receive(:expired?).and_return(false)
231
230
  end
232
231
 
233
232
  it "should first look in the cache for an instance" do
234
- @terminus.stubs(:find).never
235
- @cache.expects(:find).returns @instance
233
+ expect(@terminus).not_to receive(:find)
234
+ expect(@cache).to receive(:find).and_return(@instance)
236
235
 
237
236
  @indirection.find("/my/key")
238
237
  end
239
238
 
240
239
  it "should not look in the cache if the request specifies not to use the cache" do
241
- @terminus.expects(:find).returns @instance
242
- @cache.expects(:find).never
243
- @cache.stubs(:save)
240
+ expect(@terminus).to receive(:find).and_return(@instance)
241
+ expect(@cache).not_to receive(:find)
242
+ allow(@cache).to receive(:save)
244
243
 
245
244
  @indirection.find("/my/key", :ignore_cache => true)
246
245
  end
247
246
 
248
247
  it "should still save to the cache even if the cache is being ignored during readin" do
249
- @terminus.expects(:find).returns @instance
250
- @cache.expects(:save)
248
+ expect(@terminus).to receive(:find).and_return(@instance)
249
+ expect(@cache).to receive(:save)
251
250
 
252
251
  @indirection.find("/my/key", :ignore_cache => true)
253
252
  end
254
253
 
255
254
  it "should not save to the cache if told to skip updating the cache" do
256
- @terminus.expects(:find).returns @instance
257
- @cache.expects(:find).returns nil
258
- @cache.expects(:save).never
255
+ expect(@terminus).to receive(:find).and_return(@instance)
256
+ expect(@cache).to receive(:find).and_return(nil)
257
+ expect(@cache).not_to receive(:save)
259
258
 
260
259
  @indirection.find("/my/key", :ignore_cache_save => true)
261
260
  end
262
261
 
263
262
  it "should only look in the cache if the request specifies not to use the terminus" do
264
- @terminus.expects(:find).never
265
- @cache.expects(:find)
263
+ expect(@terminus).not_to receive(:find)
264
+ expect(@cache).to receive(:find)
266
265
 
267
266
  @indirection.find("/my/key", :ignore_terminus => true)
268
267
  end
269
268
 
270
269
  it "should use a request to look in the cache for cached objects" do
271
- @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns @instance
270
+ expect(@cache).to receive(:find) do |r|
271
+ expect(r.method).to eq(:find)
272
+ expect(r.key).to eq("/my/key")
273
+
274
+ @instance
275
+ end
272
276
 
273
- @cache.stubs(:save)
277
+ allow(@cache).to receive(:save)
274
278
 
275
279
  @indirection.find("/my/key")
276
280
  end
277
281
 
278
282
  it "should return the cached object if it is not expired" do
279
- @instance.stubs(:expired?).returns false
283
+ allow(@instance).to receive(:expired?).and_return(false)
280
284
 
281
- @cache.stubs(:find).returns @instance
285
+ allow(@cache).to receive(:find).and_return(@instance)
282
286
  expect(@indirection.find("/my/key")).to equal(@instance)
283
287
  end
284
288
 
285
289
  it "should not fail if the cache fails" do
286
- @terminus.stubs(:find).returns @instance
290
+ allow(@terminus).to receive(:find).and_return(@instance)
287
291
 
288
- @cache.expects(:find).raises ArgumentError
289
- @cache.stubs(:save)
292
+ expect(@cache).to receive(:find).and_raise(ArgumentError)
293
+ allow(@cache).to receive(:save)
290
294
  expect { @indirection.find("/my/key") }.not_to raise_error
291
295
  end
292
296
 
293
297
  it "should look in the main terminus if the cache fails" do
294
- @terminus.expects(:find).returns @instance
295
- @cache.expects(:find).raises ArgumentError
296
- @cache.stubs(:save)
298
+ expect(@terminus).to receive(:find).and_return(@instance)
299
+ expect(@cache).to receive(:find).and_raise(ArgumentError)
300
+ allow(@cache).to receive(:save)
297
301
  expect(@indirection.find("/my/key")).to equal(@instance)
298
302
  end
299
303
 
300
304
  it "should send a debug log if it is using the cached object" do
301
- Puppet.expects(:debug)
302
- @cache.stubs(:find).returns @instance
305
+ expect(Puppet).to receive(:debug)
306
+ allow(@cache).to receive(:find).and_return(@instance)
303
307
 
304
308
  @indirection.find("/my/key")
305
309
  end
306
310
 
307
311
  it "should not return the cached object if it is expired" do
308
- @instance.stubs(:expired?).returns true
312
+ allow(@instance).to receive(:expired?).and_return(true)
309
313
 
310
- @cache.stubs(:find).returns @instance
311
- @terminus.stubs(:find).returns nil
314
+ allow(@cache).to receive(:find).and_return(@instance)
315
+ allow(@terminus).to receive(:find).and_return(nil)
312
316
  expect(@indirection.find("/my/key")).to be_nil
313
317
  end
314
318
 
315
319
  it "should send an info log if it is using the cached object" do
316
- Puppet.expects(:info)
317
- @instance.stubs(:expired?).returns true
320
+ expect(Puppet).to receive(:info)
321
+ allow(@instance).to receive(:expired?).and_return(true)
318
322
 
319
- @cache.stubs(:find).returns @instance
320
- @terminus.stubs(:find).returns nil
323
+ allow(@cache).to receive(:find).and_return(@instance)
324
+ allow(@terminus).to receive(:find).and_return(nil)
321
325
  @indirection.find("/my/key")
322
326
  end
323
327
 
324
328
  it "should cache any objects not retrieved from the cache" do
325
- @cache.expects(:find).returns nil
329
+ expect(@cache).to receive(:find).and_return(nil)
326
330
 
327
- @terminus.expects(:find).returns(@instance)
328
- @cache.expects(:save)
331
+ expect(@terminus).to receive(:find).and_return(@instance)
332
+ expect(@cache).to receive(:save)
329
333
 
330
334
  @indirection.find("/my/key")
331
335
  end
332
336
 
333
337
  it "should use a request to look in the cache for cached objects" do
334
- @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns nil
338
+ expect(@cache).to receive(:find) do |r|
339
+ expect(r.method).to eq(:find)
340
+ expect(r.key).to eq("/my/key")
335
341
 
336
- @terminus.stubs(:find).returns(@instance)
337
- @cache.stubs(:save)
342
+ nil
343
+ end
344
+
345
+ allow(@terminus).to receive(:find).and_return(@instance)
346
+ allow(@cache).to receive(:save)
338
347
 
339
348
  @indirection.find("/my/key")
340
349
  end
341
350
 
342
351
  it "should cache the instance using a request with the instance set to the cached object" do
343
- @cache.stubs(:find).returns nil
352
+ allow(@cache).to receive(:find).and_return(nil)
344
353
 
345
- @terminus.stubs(:find).returns(@instance)
354
+ allow(@terminus).to receive(:find).and_return(@instance)
346
355
 
347
- @cache.expects(:save).with { |r| r.method == :save and r.instance == @instance }
356
+ expect(@cache).to receive(:save) do |r|
357
+ expect(r.method).to eq(:save)
358
+ expect(r.instance).to eq(@instance)
359
+ end
348
360
 
349
361
  @indirection.find("/my/key")
350
362
  end
351
363
 
352
364
  it "should send an info log that the object is being cached" do
353
- @cache.stubs(:find).returns nil
365
+ allow(@cache).to receive(:find).and_return(nil)
354
366
 
355
- @terminus.stubs(:find).returns(@instance)
356
- @cache.stubs(:save)
367
+ allow(@terminus).to receive(:find).and_return(@instance)
368
+ allow(@cache).to receive(:save)
357
369
 
358
- Puppet.expects(:info)
370
+ expect(Puppet).to receive(:info)
359
371
 
360
372
  @indirection.find("/my/key")
361
373
  end
362
374
 
363
375
  it "should fail if saving to the cache fails but log the exception" do
364
- @cache.stubs(:find).returns nil
376
+ allow(@cache).to receive(:find).and_return(nil)
365
377
 
366
- @terminus.stubs(:find).returns(@instance)
367
- @cache.stubs(:save).raises RuntimeError
378
+ allow(@terminus).to receive(:find).and_return(@instance)
379
+ allow(@cache).to receive(:save).and_raise(RuntimeError)
368
380
 
369
- Puppet.expects(:log_exception)
381
+ expect(Puppet).to receive(:log_exception)
370
382
 
371
383
  expect { @indirection.find("/my/key") }.to raise_error RuntimeError
372
384
  end
@@ -381,63 +393,63 @@ describe Puppet::Indirector::Indirection do
381
393
  it_should_behave_like "Request validator"
382
394
 
383
395
  it "should return true if the head method returned true" do
384
- @terminus.expects(:head).returns(true)
396
+ expect(@terminus).to receive(:head).and_return(true)
385
397
  expect(@indirection.head("me")).to eq(true)
386
398
  end
387
399
 
388
400
  it "should return false if the head method returned false" do
389
- @terminus.expects(:head).returns(false)
401
+ expect(@terminus).to receive(:head).and_return(false)
390
402
  expect(@indirection.head("me")).to eq(false)
391
403
  end
392
404
 
393
405
  describe "when caching is enabled" do
394
406
  before do
395
407
  @indirection.cache_class = :cache_terminus
396
- @cache_class.stubs(:new).returns(@cache)
408
+ allow(@cache_class).to receive(:new).and_return(@cache)
397
409
 
398
- @instance.stubs(:expired?).returns false
410
+ allow(@instance).to receive(:expired?).and_return(false)
399
411
  end
400
412
 
401
413
  it "should first look in the cache for an instance" do
402
- @terminus.stubs(:find).never
403
- @terminus.stubs(:head).never
404
- @cache.expects(:find).returns @instance
414
+ expect(@terminus).not_to receive(:find)
415
+ expect(@terminus).not_to receive(:head)
416
+ expect(@cache).to receive(:find).and_return(@instance)
405
417
 
406
418
  expect(@indirection.head("/my/key")).to eq(true)
407
419
  end
408
420
 
409
421
  it "should not save to the cache" do
410
- @cache.expects(:find).returns nil
411
- @cache.expects(:save).never
412
- @terminus.expects(:head).returns true
422
+ expect(@cache).to receive(:find).and_return(nil)
423
+ expect(@cache).not_to receive(:save)
424
+ expect(@terminus).to receive(:head).and_return(true)
413
425
  expect(@indirection.head("/my/key")).to eq(true)
414
426
  end
415
427
 
416
428
  it "should not fail if the cache fails" do
417
- @terminus.stubs(:head).returns true
429
+ allow(@terminus).to receive(:head).and_return(true)
418
430
 
419
- @cache.expects(:find).raises ArgumentError
431
+ expect(@cache).to receive(:find).and_raise(ArgumentError)
420
432
  expect { @indirection.head("/my/key") }.not_to raise_error
421
433
  end
422
434
 
423
435
  it "should look in the main terminus if the cache fails" do
424
- @terminus.expects(:head).returns true
425
- @cache.expects(:find).raises ArgumentError
436
+ expect(@terminus).to receive(:head).and_return(true)
437
+ expect(@cache).to receive(:find).and_raise(ArgumentError)
426
438
  expect(@indirection.head("/my/key")).to eq(true)
427
439
  end
428
440
 
429
441
  it "should send a debug log if it is using the cached object" do
430
- Puppet.expects(:debug)
431
- @cache.stubs(:find).returns @instance
442
+ expect(Puppet).to receive(:debug)
443
+ allow(@cache).to receive(:find).and_return(@instance)
432
444
 
433
445
  @indirection.head("/my/key")
434
446
  end
435
447
 
436
448
  it "should not accept the cached object if it is expired" do
437
- @instance.stubs(:expired?).returns true
449
+ allow(@instance).to receive(:expired?).and_return(true)
438
450
 
439
- @cache.stubs(:find).returns @instance
440
- @terminus.stubs(:head).returns false
451
+ allow(@cache).to receive(:find).and_return(@instance)
452
+ allow(@terminus).to receive(:head).and_return(false)
441
453
  expect(@indirection.head("/my/key")).to eq(false)
442
454
  end
443
455
  end
@@ -447,51 +459,51 @@ describe Puppet::Indirector::Indirection do
447
459
  before { @method = :save }
448
460
 
449
461
  it "should return the result of the save" do
450
- @terminus.stubs(:save).returns "foo"
462
+ allow(@terminus).to receive(:save).and_return("foo")
451
463
  expect(@indirection.save(@instance)).to eq("foo")
452
464
  end
453
465
 
454
466
  describe "when caching is enabled" do
455
467
  before do
456
468
  @indirection.cache_class = :cache_terminus
457
- @cache_class.stubs(:new).returns(@cache)
469
+ allow(@cache_class).to receive(:new).and_return(@cache)
458
470
 
459
- @instance.stubs(:expired?).returns false
471
+ allow(@instance).to receive(:expired?).and_return(false)
460
472
  end
461
473
 
462
474
  it "should return the result of saving to the terminus" do
463
- request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
475
+ request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
464
476
 
465
- @indirection.expects(:request).returns request
477
+ expect(@indirection).to receive(:request).and_return(request)
466
478
 
467
- @cache.stubs(:save)
468
- @terminus.stubs(:save).returns @instance
479
+ allow(@cache).to receive(:save)
480
+ allow(@terminus).to receive(:save).and_return(@instance)
469
481
  expect(@indirection.save(@instance)).to equal(@instance)
470
482
  end
471
483
 
472
484
  it "should use a request to save the object to the cache" do
473
- request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
485
+ request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
474
486
 
475
- @indirection.expects(:request).returns request
487
+ expect(@indirection).to receive(:request).and_return(request)
476
488
 
477
- @cache.expects(:save).with(request)
478
- @terminus.stubs(:save)
489
+ expect(@cache).to receive(:save).with(request)
490
+ allow(@terminus).to receive(:save)
479
491
  @indirection.save(@instance)
480
492
  end
481
493
 
482
494
  it "should not save to the cache if the normal save fails" do
483
- request = stub 'request', :instance => @instance, :node => nil
495
+ request = double('request', :instance => @instance, :node => nil)
484
496
 
485
- @indirection.expects(:request).returns request
497
+ expect(@indirection).to receive(:request).and_return(request)
486
498
 
487
- @cache.expects(:save).never
488
- @terminus.expects(:save).raises "eh"
499
+ expect(@cache).not_to receive(:save)
500
+ expect(@terminus).to receive(:save).and_raise("eh")
489
501
  expect { @indirection.save(@instance) }.to raise_error(RuntimeError, /eh/)
490
502
  end
491
503
 
492
504
  it "should not save to the cache if told to ignore saving to the cache" do
493
- @terminus.expects(:save)
494
- @cache.expects(:save).never
505
+ expect(@terminus).to receive(:save)
506
+ expect(@cache).not_to receive(:save)
495
507
 
496
508
  @indirection.save(@instance, '/my/key', :ignore_cache_save => true)
497
509
  end
@@ -506,31 +518,31 @@ describe Puppet::Indirector::Indirection do
506
518
  it_should_behave_like "Request validator"
507
519
 
508
520
  it "should return the result of removing the instance" do
509
- @terminus.stubs(:destroy).returns "yayness"
521
+ allow(@terminus).to receive(:destroy).and_return("yayness")
510
522
  expect(@indirection.destroy("/my/key")).to eq("yayness")
511
523
  end
512
524
 
513
525
  describe "when caching is enabled" do
514
526
  before do
515
527
  @indirection.cache_class = :cache_terminus
516
- @cache_class.expects(:new).returns(@cache)
528
+ expect(@cache_class).to receive(:new).and_return(@cache)
517
529
 
518
- @instance.stubs(:expired?).returns false
530
+ allow(@instance).to receive(:expired?).and_return(false)
519
531
  end
520
532
 
521
533
  it "should use a request instance to search in and remove objects from the cache" do
522
- destroy = stub 'destroy_request', :key => "/my/key", :node => nil
523
- find = stub 'destroy_request', :key => "/my/key", :node => nil
534
+ destroy = double('destroy_request', :key => "/my/key", :node => nil)
535
+ find = double('destroy_request', :key => "/my/key", :node => nil)
524
536
 
525
- @indirection.expects(:request).with(:destroy, "/my/key", nil, optionally(instance_of(Hash))).returns destroy
526
- @indirection.expects(:request).with(:find, "/my/key", nil, optionally(instance_of(Hash))).returns find
537
+ expect(@indirection).to receive(:request).with(:destroy, "/my/key", nil, be_a(Hash).or(be_nil)).and_return(destroy)
538
+ expect(@indirection).to receive(:request).with(:find, "/my/key", nil, be_a(Hash).or(be_nil)).and_return(find)
527
539
 
528
- cached = mock 'cache'
540
+ cached = double('cache')
529
541
 
530
- @cache.expects(:find).with(find).returns cached
531
- @cache.expects(:destroy).with(destroy)
542
+ expect(@cache).to receive(:find).with(find).and_return(cached)
543
+ expect(@cache).to receive(:destroy).with(destroy)
532
544
 
533
- @terminus.stubs(:destroy)
545
+ allow(@terminus).to receive(:destroy)
534
546
 
535
547
  @indirection.destroy("/my/key")
536
548
  end
@@ -545,29 +557,29 @@ describe Puppet::Indirector::Indirection do
545
557
  it_should_behave_like "Request validator"
546
558
 
547
559
  it "should set the expiration date on any instances without one set" do
548
- @terminus.stubs(:search).returns([@instance])
560
+ allow(@terminus).to receive(:search).and_return([@instance])
549
561
 
550
- @indirection.expects(:expiration).returns :yay
562
+ expect(@indirection).to receive(:expiration).and_return(:yay)
551
563
 
552
- @instance.expects(:expiration).returns(nil)
553
- @instance.expects(:expiration=).with(:yay)
564
+ expect(@instance).to receive(:expiration).and_return(nil)
565
+ expect(@instance).to receive(:expiration=).with(:yay)
554
566
 
555
567
  @indirection.search("/my/key")
556
568
  end
557
569
 
558
570
  it "should not override an already-set expiration date on returned instances" do
559
- @terminus.stubs(:search).returns([@instance])
571
+ allow(@terminus).to receive(:search).and_return([@instance])
560
572
 
561
- @indirection.expects(:expiration).never
573
+ expect(@indirection).not_to receive(:expiration)
562
574
 
563
- @instance.expects(:expiration).returns(:yay)
564
- @instance.expects(:expiration=).never
575
+ expect(@instance).to receive(:expiration).and_return(:yay)
576
+ expect(@instance).not_to receive(:expiration=)
565
577
 
566
578
  @indirection.search("/my/key")
567
579
  end
568
580
 
569
581
  it "should return the results of searching in the terminus" do
570
- @terminus.expects(:search).returns([@instance])
582
+ expect(@terminus).to receive(:search).and_return([@instance])
571
583
  expect(@indirection.search("/my/key")).to eq([@instance])
572
584
  end
573
585
  end
@@ -575,7 +587,7 @@ describe Puppet::Indirector::Indirection do
575
587
  describe "and expiring a model instance" do
576
588
  describe "when caching is not enabled" do
577
589
  it "should do nothing" do
578
- @cache_class.expects(:new).never
590
+ expect(@cache_class).not_to receive(:new)
579
591
 
580
592
  @indirection.expire("/my/key")
581
593
  end
@@ -584,65 +596,75 @@ describe Puppet::Indirector::Indirection do
584
596
  describe "when caching is enabled" do
585
597
  before do
586
598
  @indirection.cache_class = :cache_terminus
587
- @cache_class.expects(:new).returns(@cache)
599
+ expect(@cache_class).to receive(:new).and_return(@cache)
588
600
 
589
- @instance.stubs(:expired?).returns false
601
+ allow(@instance).to receive(:expired?).and_return(false)
590
602
 
591
- @cached = stub 'cached', :expiration= => nil, :name => "/my/key"
603
+ @cached = double('cached', :expiration= => nil, :name => "/my/key")
592
604
  end
593
605
 
594
606
  it "should use a request to find within the cache" do
595
- @cache.expects(:find).with { |r| r.is_a?(Puppet::Indirector::Request) and r.method == :find }
607
+ expect(@cache).to receive(:find) do |r|
608
+ expect(r).to be_a(Puppet::Indirector::Request)
609
+ expect(r.method).to eq(:find)
610
+ nil
611
+ end
596
612
  @indirection.expire("/my/key")
597
613
  end
598
614
 
599
615
  it "should do nothing if no such instance is cached" do
600
- @cache.expects(:find).returns nil
616
+ expect(@cache).to receive(:find).and_return(nil)
601
617
 
602
618
  @indirection.expire("/my/key")
603
619
  end
604
620
 
605
621
  it "should log when expiring a found instance" do
606
- @cache.expects(:find).returns @cached
607
- @cache.stubs(:save)
622
+ expect(@cache).to receive(:find).and_return(@cached)
623
+ allow(@cache).to receive(:save)
608
624
 
609
- Puppet.expects(:info)
625
+ expect(Puppet).to receive(:info)
610
626
 
611
627
  @indirection.expire("/my/key")
612
628
  end
613
629
 
614
630
  it "should set the cached instance's expiration to a time in the past" do
615
- @cache.expects(:find).returns @cached
616
- @cache.stubs(:save)
631
+ expect(@cache).to receive(:find).and_return(@cached)
632
+ allow(@cache).to receive(:save)
617
633
 
618
- @cached.expects(:expiration=).with { |t| t < Time.now }
634
+ expect(@cached).to receive(:expiration=).with(be < Time.now)
619
635
 
620
636
  @indirection.expire("/my/key")
621
637
  end
622
638
 
623
639
  it "should save the now expired instance back into the cache" do
624
- @cache.expects(:find).returns @cached
640
+ expect(@cache).to receive(:find).and_return(@cached)
625
641
 
626
- @cached.expects(:expiration=).with { |t| t < Time.now }
642
+ expect(@cached).to receive(:expiration=).with(be < Time.now)
627
643
 
628
- @cache.expects(:save)
644
+ expect(@cache).to receive(:save)
629
645
 
630
646
  @indirection.expire("/my/key")
631
647
  end
632
648
 
633
649
  it "does not expire an instance if told to skip cache saving" do
634
- @indirection.cache.expects(:find).never
635
- @indirection.cache.expects(:save).never
650
+ expect(@indirection.cache).not_to receive(:find)
651
+ expect(@indirection.cache).not_to receive(:save)
636
652
 
637
653
  @indirection.expire("/my/key", :ignore_cache_save => true)
638
654
  end
639
655
 
640
656
  it "should use a request to save the expired resource to the cache" do
641
- @cache.expects(:find).returns @cached
657
+ expect(@cache).to receive(:find).and_return(@cached)
658
+
659
+ expect(@cached).to receive(:expiration=).with(be < Time.now)
642
660
 
643
- @cached.expects(:expiration=).with { |t| t < Time.now }
661
+ expect(@cache).to receive(:save) do |r|
662
+ expect(r).to be_a(Puppet::Indirector::Request)
663
+ expect(r.instance).to eq(@cached)
664
+ expect(r.method).to eq(:save)
644
665
 
645
- @cache.expects(:save).with { |r| r.is_a?(Puppet::Indirector::Request) and r.instance == @cached and r.method == :save }.returns(@cached)
666
+ @cached
667
+ end
646
668
 
647
669
  @indirection.expire("/my/key")
648
670
  end
@@ -657,7 +679,7 @@ describe Puppet::Indirector::Indirection do
657
679
 
658
680
  describe "when managing indirection instances" do
659
681
  it "should allow an indirection to be retrieved by name" do
660
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
682
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
661
683
  expect(Puppet::Indirector::Indirection.instance(:test)).to equal(@indirection)
662
684
  end
663
685
 
@@ -666,7 +688,7 @@ describe Puppet::Indirector::Indirection do
666
688
  end
667
689
 
668
690
  it "should allow an indirection's model to be retrieved by name" do
669
- mock_model = mock('model')
691
+ mock_model = double('model')
670
692
  @indirection = Puppet::Indirector::Indirection.new(mock_model, :test)
671
693
  expect(Puppet::Indirector::Indirection.model(:test)).to equal(mock_model)
672
694
  end
@@ -682,10 +704,10 @@ describe Puppet::Indirector::Indirection do
682
704
 
683
705
  describe "when routing to the correct the terminus class" do
684
706
  before do
685
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
686
- @terminus = mock 'terminus'
687
- @terminus_class = stub 'terminus class', :new => @terminus
688
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :default).returns(@terminus_class)
707
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
708
+ @terminus = double('terminus')
709
+ @terminus_class = double('terminus class', :new => @terminus)
710
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :default).and_return(@terminus_class)
689
711
  end
690
712
 
691
713
  it "should fail if no terminus class can be picked" do
@@ -698,14 +720,14 @@ describe Puppet::Indirector::Indirection do
698
720
  end
699
721
 
700
722
  it "should use the provided Puppet setting if told to do so" do
701
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :my_terminus).returns(mock("terminus_class2"))
723
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :my_terminus).and_return(double("terminus_class2"))
702
724
  Puppet[:node_terminus] = :my_terminus
703
725
  @indirection.terminus_setting = :node_terminus
704
726
  expect(@indirection.terminus_class).to equal(:my_terminus)
705
727
  end
706
728
 
707
729
  it "should fail if the provided terminus class is not valid" do
708
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :nosuchclass).returns(nil)
730
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :nosuchclass).and_return(nil)
709
731
  expect { @indirection.terminus_class = :nosuchclass }.to raise_error(ArgumentError)
710
732
  end
711
733
 
@@ -716,10 +738,10 @@ describe Puppet::Indirector::Indirection do
716
738
 
717
739
  describe "when specifying the terminus class to use" do
718
740
  before do
719
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
720
- @terminus = mock 'terminus'
721
- @terminus.stubs(:validate)
722
- @terminus_class = stub 'terminus class', :new => @terminus
741
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
742
+ @terminus = double('terminus')
743
+ allow(@terminus).to receive(:validate)
744
+ @terminus_class = double('terminus class', :new => @terminus)
723
745
  end
724
746
 
725
747
  it "should allow specification of a terminus type" do
@@ -739,17 +761,17 @@ describe Puppet::Indirector::Indirection do
739
761
  end
740
762
 
741
763
  it "should fail when the specified terminus class cannot be found" do
742
- Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(nil)
764
+ expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(nil)
743
765
  expect { @indirection.terminus_class = :foo }.to raise_error(ArgumentError)
744
766
  end
745
767
 
746
768
  it "should select the specified terminus class if a terminus class name is provided" do
747
- Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(@terminus_class)
769
+ expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
748
770
  expect(@indirection.terminus(:foo)).to equal(@terminus)
749
771
  end
750
772
 
751
773
  it "should use the configured terminus class if no terminus name is specified" do
752
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
774
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
753
775
  @indirection.terminus_class = :foo
754
776
  expect(@indirection.terminus).to equal(@terminus)
755
777
  end
@@ -761,27 +783,27 @@ describe Puppet::Indirector::Indirection do
761
783
 
762
784
  describe "when managing terminus instances" do
763
785
  before do
764
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
765
- @terminus = mock 'terminus'
766
- @terminus_class = mock 'terminus class'
767
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
786
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
787
+ @terminus = double('terminus')
788
+ @terminus_class = double('terminus class')
789
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
768
790
  end
769
791
 
770
792
  it "should create an instance of the chosen terminus class" do
771
- @terminus_class.stubs(:new).returns(@terminus)
793
+ allow(@terminus_class).to receive(:new).and_return(@terminus)
772
794
  expect(@indirection.terminus(:foo)).to equal(@terminus)
773
795
  end
774
796
 
775
797
  # Make sure it caches the terminus.
776
798
  it "should return the same terminus instance each time for a given name" do
777
- @terminus_class.stubs(:new).returns(@terminus)
799
+ allow(@terminus_class).to receive(:new).and_return(@terminus)
778
800
  expect(@indirection.terminus(:foo)).to equal(@terminus)
779
801
  expect(@indirection.terminus(:foo)).to equal(@terminus)
780
802
  end
781
803
 
782
804
  it "should not create a terminus instance until one is actually needed" do
783
- Puppet::Indirector.expects(:terminus).never
784
- Puppet::Indirector::Indirection.new(mock('model'), :lazytest)
805
+ expect(Puppet::Indirector).not_to receive(:terminus)
806
+ Puppet::Indirector::Indirection.new(double('model'), :lazytest)
785
807
  end
786
808
 
787
809
  after do
@@ -791,11 +813,11 @@ describe Puppet::Indirector::Indirection do
791
813
 
792
814
  describe "when deciding whether to cache" do
793
815
  before do
794
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
795
- @terminus = mock 'terminus'
796
- @terminus_class = mock 'terminus class'
797
- @terminus_class.stubs(:new).returns(@terminus)
798
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
816
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
817
+ @terminus = double('terminus')
818
+ @terminus_class = double('terminus class')
819
+ allow(@terminus_class).to receive(:new).and_return(@terminus)
820
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
799
821
  @indirection.terminus_class = :foo
800
822
  end
801
823
 
@@ -817,7 +839,7 @@ describe Puppet::Indirector::Indirection do
817
839
  end
818
840
 
819
841
  it "should fail to set the cache class when the specified cache class cannot be found" do
820
- Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(nil)
842
+ expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(nil)
821
843
  expect { @indirection.cache_class = :foo }.to raise_error(ArgumentError)
822
844
  end
823
845
 
@@ -828,14 +850,14 @@ describe Puppet::Indirector::Indirection do
828
850
 
829
851
  describe "when using a cache" do
830
852
  before :each do
831
- @terminus_class = mock 'terminus_class'
832
- @terminus = mock 'terminus'
833
- @terminus_class.stubs(:new).returns(@terminus)
834
- @cache = mock 'cache'
835
- @cache_class = mock 'cache_class'
836
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :cache_terminus).returns(@cache_class)
837
- Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :test_terminus).returns(@terminus_class)
838
- @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
853
+ @terminus_class = double('terminus_class')
854
+ @terminus = double('terminus')
855
+ allow(@terminus_class).to receive(:new).and_return(@terminus)
856
+ @cache = double('cache')
857
+ @cache_class = double('cache_class')
858
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
859
+ allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
860
+ @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
839
861
  @indirection.terminus_class = :test_terminus
840
862
  end
841
863
 
@@ -846,19 +868,13 @@ describe Puppet::Indirector::Indirection do
846
868
  end
847
869
 
848
870
  it "should reuse the cache terminus" do
849
- @cache_class.expects(:new).returns(@cache)
871
+ expect(@cache_class).to receive(:new).and_return(@cache)
850
872
  @indirection.cache_class = :cache_terminus
851
873
  expect(@indirection.cache).to equal(@cache)
852
874
  expect(@indirection.cache).to equal(@cache)
853
875
  end
854
876
  end
855
877
 
856
- describe "and saving" do
857
- end
858
-
859
- describe "and finding" do
860
- end
861
-
862
878
  after :each do
863
879
  @indirection.delete
864
880
  end