puppet 6.0.7-x86-mingw32 → 6.0.8-x86-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 (632) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +4 -8
  4. data/lib/puppet/application/device.rb +99 -83
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/configurer.rb +5 -4
  7. data/lib/puppet/defaults.rb +31 -11
  8. data/lib/puppet/indirector/request.rb +26 -15
  9. data/lib/puppet/network/http/connection.rb +15 -7
  10. data/lib/puppet/transaction/event_manager.rb +1 -5
  11. data/lib/puppet/type/file/source.rb +0 -1
  12. data/lib/puppet/util/connection.rb +15 -6
  13. data/lib/puppet/util/http_proxy.rb +3 -2
  14. data/lib/puppet/version.rb +1 -1
  15. data/locales/puppet.pot +99 -40
  16. data/man/man5/puppet.conf.5 +8 -8
  17. data/man/man8/puppet-agent.8 +1 -1
  18. data/man/man8/puppet-apply.8 +1 -1
  19. data/man/man8/puppet-catalog.8 +1 -1
  20. data/man/man8/puppet-config.8 +1 -1
  21. data/man/man8/puppet-describe.8 +1 -1
  22. data/man/man8/puppet-device.8 +1 -1
  23. data/man/man8/puppet-doc.8 +1 -1
  24. data/man/man8/puppet-epp.8 +1 -1
  25. data/man/man8/puppet-facts.8 +1 -1
  26. data/man/man8/puppet-filebucket.8 +1 -1
  27. data/man/man8/puppet-generate.8 +1 -1
  28. data/man/man8/puppet-help.8 +1 -1
  29. data/man/man8/puppet-key.8 +1 -1
  30. data/man/man8/puppet-lookup.8 +1 -1
  31. data/man/man8/puppet-man.8 +1 -1
  32. data/man/man8/puppet-module.8 +1 -1
  33. data/man/man8/puppet-node.8 +1 -1
  34. data/man/man8/puppet-parser.8 +1 -1
  35. data/man/man8/puppet-plugin.8 +1 -1
  36. data/man/man8/puppet-report.8 +1 -1
  37. data/man/man8/puppet-resource.8 +1 -1
  38. data/man/man8/puppet-script.8 +1 -1
  39. data/man/man8/puppet-ssl.8 +1 -1
  40. data/man/man8/puppet-status.8 +1 -1
  41. data/man/man8/puppet.8 +2 -2
  42. data/spec/integration/agent/logging_spec.rb +5 -7
  43. data/spec/integration/application/apply_spec.rb +18 -16
  44. data/spec/integration/application/doc_spec.rb +1 -2
  45. data/spec/integration/application/lookup_spec.rb +5 -5
  46. data/spec/integration/configurer_spec.rb +5 -6
  47. data/spec/integration/defaults_spec.rb +5 -6
  48. data/spec/integration/directory_environments_spec.rb +1 -1
  49. data/spec/integration/faces/config_spec.rb +3 -4
  50. data/spec/integration/faces/documentation_spec.rb +0 -1
  51. data/spec/integration/faces/plugin_spec.rb +1 -1
  52. data/spec/integration/file_bucket/file_spec.rb +2 -4
  53. data/spec/integration/file_serving/content_spec.rb +0 -1
  54. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  55. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  56. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  57. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  58. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  59. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  60. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  61. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  62. data/spec/integration/network/authconfig_spec.rb +23 -24
  63. data/spec/integration/network/formats_spec.rb +0 -1
  64. data/spec/integration/node/environment_spec.rb +0 -1
  65. data/spec/integration/node/facts_spec.rb +9 -10
  66. data/spec/integration/node_spec.rb +6 -7
  67. data/spec/integration/parser/catalog_spec.rb +1 -5
  68. data/spec/integration/parser/collection_spec.rb +1 -2
  69. data/spec/integration/parser/compiler_spec.rb +6 -6
  70. data/spec/integration/parser/scope_spec.rb +1 -1
  71. data/spec/integration/parser/undef_param_spec.rb +1 -1
  72. data/spec/integration/provider/service/init_spec.rb +4 -5
  73. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  74. data/spec/integration/provider/service/windows_spec.rb +1 -2
  75. data/spec/integration/reference/providers_spec.rb +1 -2
  76. data/spec/integration/reports_spec.rb +1 -2
  77. data/spec/integration/resource/catalog_spec.rb +14 -17
  78. data/spec/integration/resource/type_collection_spec.rb +4 -5
  79. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  80. data/spec/integration/ssl/host_spec.rb +1 -2
  81. data/spec/integration/ssl/key_spec.rb +0 -1
  82. data/spec/integration/test/test_helper_spec.rb +0 -1
  83. data/spec/integration/transaction/report_spec.rb +6 -11
  84. data/spec/integration/transaction_spec.rb +18 -19
  85. data/spec/integration/type/exec_spec.rb +0 -1
  86. data/spec/integration/type/file_spec.rb +13 -14
  87. data/spec/integration/type/package_spec.rb +19 -23
  88. data/spec/integration/type/tidy_spec.rb +1 -2
  89. data/spec/integration/type_spec.rb +0 -1
  90. data/spec/integration/util/autoload_spec.rb +1 -2
  91. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  92. data/spec/integration/util/settings_spec.rb +0 -1
  93. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  94. data/spec/integration/util/windows/principal_spec.rb +0 -1
  95. data/spec/integration/util/windows/process_spec.rb +4 -6
  96. data/spec/integration/util/windows/registry_spec.rb +41 -51
  97. data/spec/integration/util/windows/security_spec.rb +2 -4
  98. data/spec/integration/util/windows/user_spec.rb +18 -20
  99. data/spec/integration/util_spec.rb +4 -7
  100. data/spec/lib/puppet_spec/compiler.rb +1 -1
  101. data/spec/lib/puppet_spec/files.rb +0 -1
  102. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  103. data/spec/lib/puppet_spec/scope.rb +1 -2
  104. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  105. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  106. data/spec/shared_behaviours/file_serving.rb +6 -8
  107. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  108. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  109. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  110. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  111. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  112. data/spec/spec_helper.rb +10 -1
  113. data/spec/unit/agent/disabler_spec.rb +4 -5
  114. data/spec/unit/agent/locker_spec.rb +12 -13
  115. data/spec/unit/agent_spec.rb +80 -85
  116. data/spec/unit/application/agent_spec.rb +88 -93
  117. data/spec/unit/application/apply_spec.rb +82 -83
  118. data/spec/unit/application/config_spec.rb +0 -1
  119. data/spec/unit/application/describe_spec.rb +6 -7
  120. data/spec/unit/application/device_spec.rb +395 -419
  121. data/spec/unit/application/doc_spec.rb +44 -46
  122. data/spec/unit/application/face_base_spec.rb +61 -62
  123. data/spec/unit/application/facts_spec.rb +3 -4
  124. data/spec/unit/application/filebucket_spec.rb +66 -74
  125. data/spec/unit/application/indirection_base_spec.rb +8 -6
  126. data/spec/unit/application/lookup_spec.rb +26 -26
  127. data/spec/unit/application/resource_spec.rb +42 -48
  128. data/spec/unit/application/ssl_spec.rb +3 -3
  129. data/spec/unit/application_spec.rb +82 -92
  130. data/spec/unit/capability_spec.rb +6 -6
  131. data/spec/unit/certificate_factory_spec.rb +3 -5
  132. data/spec/unit/configurer/downloader_spec.rb +20 -21
  133. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  134. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  135. data/spec/unit/configurer_spec.rb +189 -192
  136. data/spec/unit/confine/exists_spec.rb +17 -15
  137. data/spec/unit/confine/false_spec.rb +5 -6
  138. data/spec/unit/confine/feature_spec.rb +7 -5
  139. data/spec/unit/confine/true_spec.rb +5 -6
  140. data/spec/unit/confine/variable_spec.rb +14 -15
  141. data/spec/unit/confine_collection_spec.rb +28 -29
  142. data/spec/unit/confine_spec.rb +13 -14
  143. data/spec/unit/confiner_spec.rb +10 -11
  144. data/spec/unit/context/trusted_information_spec.rb +1 -1
  145. data/spec/unit/daemon_spec.rb +35 -36
  146. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  147. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  148. data/spec/unit/datatypes_spec.rb +3 -4
  149. data/spec/unit/defaults_spec.rb +18 -13
  150. data/spec/unit/environments_spec.rb +7 -7
  151. data/spec/unit/etc_spec.rb +30 -32
  152. data/spec/unit/external/pson_spec.rb +0 -1
  153. data/spec/unit/face/catalog_spec.rb +0 -1
  154. data/spec/unit/face/config_spec.rb +31 -35
  155. data/spec/unit/face/epp_face_spec.rb +3 -4
  156. data/spec/unit/face/facts_spec.rb +5 -6
  157. data/spec/unit/face/generate_spec.rb +4 -5
  158. data/spec/unit/face/help_spec.rb +7 -8
  159. data/spec/unit/face/key_spec.rb +0 -1
  160. data/spec/unit/face/man_spec.rb +1 -2
  161. data/spec/unit/face/module/install_spec.rb +3 -5
  162. data/spec/unit/face/module/list_spec.rb +2 -12
  163. data/spec/unit/face/module/search_spec.rb +11 -9
  164. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  165. data/spec/unit/face/node_spec.rb +23 -24
  166. data/spec/unit/face/parser_spec.rb +3 -3
  167. data/spec/unit/face/plugin_spec.rb +36 -9
  168. data/spec/unit/face/status_spec.rb +0 -1
  169. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  170. data/spec/unit/file_bucket/file_spec.rb +0 -2
  171. data/spec/unit/file_serving/base_spec.rb +14 -15
  172. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  173. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  174. data/spec/unit/file_serving/content_spec.rb +10 -11
  175. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  176. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  177. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  178. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  179. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  180. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  181. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  182. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  183. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  184. data/spec/unit/file_serving/mount_spec.rb +0 -1
  185. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  186. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  187. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  188. data/spec/unit/file_system_spec.rb +2 -2
  189. data/spec/unit/forge/errors_spec.rb +1 -1
  190. data/spec/unit/forge/forge_spec.rb +13 -14
  191. data/spec/unit/forge/module_release_spec.rb +18 -18
  192. data/spec/unit/forge/repository_spec.rb +29 -30
  193. data/spec/unit/forge_spec.rb +15 -11
  194. data/spec/unit/functions/binary_file_spec.rb +3 -3
  195. data/spec/unit/functions/contain_spec.rb +0 -2
  196. data/spec/unit/functions/defined_spec.rb +0 -1
  197. data/spec/unit/functions/epp_spec.rb +2 -2
  198. data/spec/unit/functions/find_file_spec.rb +7 -7
  199. data/spec/unit/functions/include_spec.rb +0 -4
  200. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  201. data/spec/unit/functions/lookup_spec.rb +1 -2
  202. data/spec/unit/functions/module_directory_spec.rb +12 -12
  203. data/spec/unit/functions/require_spec.rb +0 -3
  204. data/spec/unit/functions/shared.rb +5 -8
  205. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  206. data/spec/unit/functions4_spec.rb +9 -10
  207. data/spec/unit/gettext/config_spec.rb +4 -4
  208. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  209. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  210. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  211. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  212. data/spec/unit/hiera_puppet_spec.rb +20 -20
  213. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  214. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  215. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  216. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  217. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  218. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  219. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  220. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  221. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  222. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  223. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  224. data/spec/unit/indirector/envelope_spec.rb +1 -2
  225. data/spec/unit/indirector/exec_spec.rb +4 -5
  226. data/spec/unit/indirector/face_spec.rb +9 -9
  227. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  228. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  229. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  230. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  231. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  232. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  233. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  234. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  235. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  236. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  237. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  238. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  239. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  240. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  241. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  242. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  243. data/spec/unit/indirector/file_server_spec.rb +87 -87
  244. data/spec/unit/indirector/indirection_spec.rb +242 -226
  245. data/spec/unit/indirector/json_spec.rb +7 -9
  246. data/spec/unit/indirector/key/file_spec.rb +21 -22
  247. data/spec/unit/indirector/memory_spec.rb +6 -7
  248. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  249. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  250. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  251. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  252. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  253. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  254. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  255. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  256. data/spec/unit/indirector/none_spec.rb +5 -5
  257. data/spec/unit/indirector/plain_spec.rb +7 -8
  258. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  259. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  260. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  261. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  262. data/spec/unit/indirector/request_spec.rb +11 -12
  263. data/spec/unit/indirector/resource/ral_spec.rb +46 -54
  264. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  265. data/spec/unit/indirector/rest_spec.rb +113 -110
  266. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  267. data/spec/unit/indirector/status/local_spec.rb +0 -1
  268. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  269. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  270. data/spec/unit/indirector/terminus_spec.rb +27 -27
  271. data/spec/unit/indirector/yaml_spec.rb +5 -6
  272. data/spec/unit/indirector_spec.rb +1 -2
  273. data/spec/unit/info_service_spec.rb +1 -1
  274. data/spec/unit/interface/action_builder_spec.rb +0 -1
  275. data/spec/unit/interface/action_manager_spec.rb +0 -1
  276. data/spec/unit/interface/action_spec.rb +2 -3
  277. data/spec/unit/interface/documentation_spec.rb +0 -1
  278. data/spec/unit/interface/face_collection_spec.rb +19 -12
  279. data/spec/unit/interface_spec.rb +3 -3
  280. data/spec/unit/man_spec.rb +3 -4
  281. data/spec/unit/module_spec.rb +46 -51
  282. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  283. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  284. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  285. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  286. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  287. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  288. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  289. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  290. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  291. data/spec/unit/module_tool/tar_spec.rb +12 -13
  292. data/spec/unit/module_tool_spec.rb +7 -12
  293. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  294. data/spec/unit/network/authconfig_spec.rb +17 -18
  295. data/spec/unit/network/authorization_spec.rb +4 -5
  296. data/spec/unit/network/authstore_spec.rb +0 -1
  297. data/spec/unit/network/format_handler_spec.rb +0 -1
  298. data/spec/unit/network/format_spec.rb +9 -10
  299. data/spec/unit/network/format_support_spec.rb +28 -29
  300. data/spec/unit/network/formats_spec.rb +4 -5
  301. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  302. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  303. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  304. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  305. data/spec/unit/network/http/api_spec.rb +0 -2
  306. data/spec/unit/network/http/compression_spec.rb +21 -22
  307. data/spec/unit/network/http/connection_spec.rb +41 -36
  308. data/spec/unit/network/http/factory_spec.rb +5 -6
  309. data/spec/unit/network/http/handler_spec.rb +9 -18
  310. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  311. data/spec/unit/network/http/pool_spec.rb +28 -29
  312. data/spec/unit/network/http/request_spec.rb +0 -2
  313. data/spec/unit/network/http/response_spec.rb +11 -13
  314. data/spec/unit/network/http/route_spec.rb +0 -1
  315. data/spec/unit/network/http/session_spec.rb +1 -2
  316. data/spec/unit/network/http/site_spec.rb +0 -1
  317. data/spec/unit/network/http_pool_spec.rb +18 -9
  318. data/spec/unit/network/http_spec.rb +0 -1
  319. data/spec/unit/network/resolver_spec.rb +25 -26
  320. data/spec/unit/network/rights_spec.rb +52 -53
  321. data/spec/unit/node/environment_spec.rb +14 -15
  322. data/spec/unit/node/facts_spec.rb +5 -7
  323. data/spec/unit/node_spec.rb +4 -10
  324. data/spec/unit/other/selinux_spec.rb +0 -1
  325. data/spec/unit/parameter/boolean_spec.rb +1 -2
  326. data/spec/unit/parameter/package_options_spec.rb +1 -2
  327. data/spec/unit/parameter/path_spec.rb +0 -1
  328. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  329. data/spec/unit/parameter/value_spec.rb +0 -1
  330. data/spec/unit/parameter_spec.rb +9 -9
  331. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  332. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  333. data/spec/unit/parser/compiler_spec.rb +84 -96
  334. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  335. data/spec/unit/parser/files_spec.rb +0 -1
  336. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  337. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  338. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  339. data/spec/unit/parser/functions/file_spec.rb +13 -14
  340. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  341. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  342. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  343. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  344. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  345. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  346. data/spec/unit/parser/functions/split_spec.rb +0 -1
  347. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  348. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  349. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  350. data/spec/unit/parser/functions/template_spec.rb +13 -13
  351. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  352. data/spec/unit/parser/functions_spec.rb +6 -7
  353. data/spec/unit/parser/relationship_spec.rb +0 -1
  354. data/spec/unit/parser/resource_spec.rb +42 -42
  355. data/spec/unit/parser/scope_spec.rb +39 -35
  356. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  357. data/spec/unit/parser/type_loader_spec.rb +17 -19
  358. data/spec/unit/pops/adaptable_spec.rb +0 -1
  359. data/spec/unit/pops/benchmark_spec.rb +0 -1
  360. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  361. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  362. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  363. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  364. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  365. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  366. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  367. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  368. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  371. data/spec/unit/pops/factory_spec.rb +3 -4
  372. data/spec/unit/pops/issues_spec.rb +19 -20
  373. data/spec/unit/pops/loaders/loader_spec.rb +8 -4
  374. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  375. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  376. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  377. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  378. data/spec/unit/pops/migration_spec.rb +3 -5
  379. data/spec/unit/pops/model/model_spec.rb +0 -1
  380. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  381. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  382. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  383. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  384. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  385. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  386. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  387. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  388. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  389. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  390. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  391. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  392. data/spec/unit/pops/pn_spec.rb +0 -1
  393. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  394. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  395. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  396. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  397. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  398. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  399. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  400. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  401. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  402. data/spec/unit/pops/visitor_spec.rb +0 -1
  403. data/spec/unit/property/boolean_spec.rb +1 -1
  404. data/spec/unit/property/ensure_spec.rb +0 -1
  405. data/spec/unit/property/keyvalue_spec.rb +32 -34
  406. data/spec/unit/property/list_spec.rb +26 -27
  407. data/spec/unit/property/ordered_list_spec.rb +10 -14
  408. data/spec/unit/property_spec.rb +42 -43
  409. data/spec/unit/provider/aix_object_spec.rb +47 -45
  410. data/spec/unit/provider/command_spec.rb +9 -9
  411. data/spec/unit/provider/exec/posix_spec.rb +6 -7
  412. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  413. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  414. data/spec/unit/provider/exec_spec.rb +0 -1
  415. data/spec/unit/provider/file/posix_spec.rb +22 -24
  416. data/spec/unit/provider/file/windows_spec.rb +15 -17
  417. data/spec/unit/provider/group/aix_spec.rb +3 -2
  418. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  419. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  420. data/spec/unit/provider/group/pw_spec.rb +11 -11
  421. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  422. data/spec/unit/provider/ldap_spec.rb +61 -62
  423. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  424. data/spec/unit/provider/nameservice_spec.rb +38 -40
  425. data/spec/unit/provider/package/aix_spec.rb +15 -15
  426. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  427. data/spec/unit/provider/package/apt_spec.rb +44 -27
  428. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  429. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  430. data/spec/unit/provider/package/base_spec.rb +4 -4
  431. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  432. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  433. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  434. data/spec/unit/provider/package/gem_spec.rb +51 -43
  435. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  436. data/spec/unit/provider/package/macports_spec.rb +46 -42
  437. data/spec/unit/provider/package/nim_spec.rb +30 -39
  438. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  439. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  440. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  441. data/spec/unit/provider/package/pip_spec.rb +71 -72
  442. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  443. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  444. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  445. data/spec/unit/provider/package/pkgng_spec.rb +17 -18
  446. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  447. data/spec/unit/provider/package/portage_spec.rb +70 -74
  448. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  449. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  450. data/spec/unit/provider/package/sun_spec.rb +16 -18
  451. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  452. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  453. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  454. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  455. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  456. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  457. data/spec/unit/provider/package/windows_spec.rb +36 -32
  458. data/spec/unit/provider/package/yum_spec.rb +7 -7
  459. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  460. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  461. data/spec/unit/provider/service/base_spec.rb +4 -5
  462. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  463. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  464. data/spec/unit/provider/service/debian_spec.rb +38 -38
  465. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  466. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  467. data/spec/unit/provider/service/init_spec.rb +53 -52
  468. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  469. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  470. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  471. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  472. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  473. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  474. data/spec/unit/provider/service/runit_spec.rb +29 -27
  475. data/spec/unit/provider/service/smf_spec.rb +74 -66
  476. data/spec/unit/provider/service/src_spec.rb +46 -47
  477. data/spec/unit/provider/service/systemd_spec.rb +104 -113
  478. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  479. data/spec/unit/provider/service/windows_spec.rb +33 -41
  480. data/spec/unit/provider/user/aix_spec.rb +31 -31
  481. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  482. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  483. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  484. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  485. data/spec/unit/provider/user/pw_spec.rb +37 -35
  486. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  487. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  488. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  489. data/spec/unit/provider_spec.rb +35 -35
  490. data/spec/unit/puppet_pal_2pec.rb +4 -5
  491. data/spec/unit/puppet_pal_spec.rb +0 -1
  492. data/spec/unit/puppet_spec.rb +6 -7
  493. data/spec/unit/relationship_spec.rb +0 -1
  494. data/spec/unit/reports/http_spec.rb +21 -23
  495. data/spec/unit/reports/store_spec.rb +3 -4
  496. data/spec/unit/reports_spec.rb +12 -14
  497. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  498. data/spec/unit/resource/catalog_spec.rb +72 -68
  499. data/spec/unit/resource/status_spec.rb +6 -8
  500. data/spec/unit/resource/type_collection_spec.rb +17 -18
  501. data/spec/unit/resource/type_spec.rb +34 -35
  502. data/spec/unit/resource_spec.rb +36 -32
  503. data/spec/unit/rest/client_spec.rb +58 -27
  504. data/spec/unit/rest/route_spec.rb +5 -5
  505. data/spec/unit/scheduler/job_spec.rb +0 -1
  506. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  507. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  508. data/spec/unit/settings/array_setting_spec.rb +1 -1
  509. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  510. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  511. data/spec/unit/settings/config_file_spec.rb +0 -1
  512. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  513. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  514. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  515. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  516. data/spec/unit/settings/file_setting_spec.rb +44 -46
  517. data/spec/unit/settings/path_setting_spec.rb +1 -2
  518. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  519. data/spec/unit/settings/string_setting_spec.rb +14 -15
  520. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  521. data/spec/unit/settings/value_translator_spec.rb +0 -1
  522. data/spec/unit/settings_spec.rb +228 -235
  523. data/spec/unit/ssl/base_spec.rb +14 -15
  524. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  525. data/spec/unit/ssl/certificate_spec.rb +23 -25
  526. data/spec/unit/ssl/digest_spec.rb +0 -1
  527. data/spec/unit/ssl/host_spec.rb +166 -149
  528. data/spec/unit/ssl/key_spec.rb +30 -31
  529. data/spec/unit/ssl/validator_spec.rb +38 -39
  530. data/spec/unit/task_spec.rb +44 -45
  531. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  532. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  533. data/spec/unit/transaction/event_spec.rb +16 -15
  534. data/spec/unit/transaction/persistence_spec.rb +16 -17
  535. data/spec/unit/transaction/report_spec.rb +11 -12
  536. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  537. data/spec/unit/transaction_spec.rb +100 -101
  538. data/spec/unit/type/component_spec.rb +0 -1
  539. data/spec/unit/type/exec_spec.rb +60 -56
  540. data/spec/unit/type/file/checksum_spec.rb +9 -10
  541. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  542. data/spec/unit/type/file/content_spec.rb +58 -61
  543. data/spec/unit/type/file/ctime_spec.rb +0 -1
  544. data/spec/unit/type/file/ensure_spec.rb +12 -13
  545. data/spec/unit/type/file/group_spec.rb +5 -7
  546. data/spec/unit/type/file/mode_spec.rb +4 -6
  547. data/spec/unit/type/file/mtime_spec.rb +0 -1
  548. data/spec/unit/type/file/owner_spec.rb +6 -8
  549. data/spec/unit/type/file/selinux_spec.rb +17 -19
  550. data/spec/unit/type/file/source_spec.rb +104 -101
  551. data/spec/unit/type/file/type_spec.rb +0 -1
  552. data/spec/unit/type/file_spec.rb +195 -185
  553. data/spec/unit/type/filebucket_spec.rb +4 -5
  554. data/spec/unit/type/group_spec.rb +6 -8
  555. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  556. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  557. data/spec/unit/type/package_spec.rb +56 -57
  558. data/spec/unit/type/resources_spec.rb +72 -74
  559. data/spec/unit/type/schedule_spec.rb +24 -26
  560. data/spec/unit/type/service_spec.rb +48 -48
  561. data/spec/unit/type/stage_spec.rb +0 -1
  562. data/spec/unit/type/tidy_spec.rb +61 -62
  563. data/spec/unit/type/user_spec.rb +24 -25
  564. data/spec/unit/type/whit_spec.rb +0 -1
  565. data/spec/unit/type_spec.rb +55 -54
  566. data/spec/unit/util/at_fork_spec.rb +18 -19
  567. data/spec/unit/util/autoload_spec.rb +55 -56
  568. data/spec/unit/util/backups_spec.rb +34 -35
  569. data/spec/unit/util/character_encoding_spec.rb +5 -5
  570. data/spec/unit/util/checksums_spec.rb +38 -39
  571. data/spec/unit/util/colors_spec.rb +1 -2
  572. data/spec/unit/util/command_line_spec.rb +24 -25
  573. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  574. data/spec/unit/util/diff_spec.rb +7 -8
  575. data/spec/unit/util/errors_spec.rb +0 -1
  576. data/spec/unit/util/execution_spec.rb +185 -161
  577. data/spec/unit/util/execution_stub_spec.rb +0 -1
  578. data/spec/unit/util/feature_spec.rb +21 -14
  579. data/spec/unit/util/filetype_spec.rb +49 -49
  580. data/spec/unit/util/http_proxy_spec.rb +12 -12
  581. data/spec/unit/util/inifile_spec.rb +26 -31
  582. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  583. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  584. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  585. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  586. data/spec/unit/util/lockfile_spec.rb +0 -1
  587. data/spec/unit/util/log/destinations_spec.rb +30 -33
  588. data/spec/unit/util/log_spec.rb +35 -36
  589. data/spec/unit/util/logging_spec.rb +58 -72
  590. data/spec/unit/util/metric_spec.rb +0 -1
  591. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  592. data/spec/unit/util/multi_match_spec.rb +0 -1
  593. data/spec/unit/util/network_device/config_spec.rb +0 -1
  594. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  595. data/spec/unit/util/network_device_spec.rb +7 -9
  596. data/spec/unit/util/package_spec.rb +0 -1
  597. data/spec/unit/util/pidlock_spec.rb +21 -22
  598. data/spec/unit/util/plist_spec.rb +40 -33
  599. data/spec/unit/util/posix_spec.rb +54 -51
  600. data/spec/unit/util/rdoc_spec.rb +9 -10
  601. data/spec/unit/util/reference_spec.rb +0 -1
  602. data/spec/unit/util/resource_template_spec.rb +20 -20
  603. data/spec/unit/util/retry_action_spec.rb +7 -8
  604. data/spec/unit/util/rubygems_spec.rb +7 -8
  605. data/spec/unit/util/run_mode_spec.rb +3 -4
  606. data/spec/unit/util/selinux_spec.rb +79 -72
  607. data/spec/unit/util/splayer_spec.rb +8 -9
  608. data/spec/unit/util/ssl_spec.rb +0 -1
  609. data/spec/unit/util/storage_spec.rb +3 -4
  610. data/spec/unit/util/suidmanager_spec.rb +45 -54
  611. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  612. data/spec/unit/util/tag_set_spec.rb +0 -1
  613. data/spec/unit/util/tagging_spec.rb +0 -1
  614. data/spec/unit/util/terminal_spec.rb +9 -10
  615. data/spec/unit/util/user_attr_spec.rb +1 -2
  616. data/spec/unit/util/warnings_spec.rb +3 -4
  617. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  618. data/spec/unit/util/watcher_spec.rb +51 -21
  619. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  620. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  621. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  622. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  623. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  624. data/spec/unit/util/windows/file_spec.rb +0 -1
  625. data/spec/unit/util/windows/root_certs_spec.rb +0 -1
  626. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  627. data/spec/unit/util/windows/service_spec.rb +66 -68
  628. data/spec/unit/util/windows/sid_spec.rb +11 -13
  629. data/spec/unit/util/windows/string_spec.rb +0 -1
  630. data/spec/unit/util_spec.rb +55 -57
  631. data/spec/unit/version_spec.rb +6 -6
  632. metadata +2 -2
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/indirector/report/rest'
@@ -33,10 +32,10 @@ describe Puppet::Transaction::Report::Rest do
33
32
  end
34
33
 
35
34
  def mock_response(code, body, content_type='text/plain', encoding=nil)
36
- obj = stub('http 200 ok', :code => code.to_s, :body => body)
37
- obj.stubs(:[]).with('content-type').returns(content_type)
38
- obj.stubs(:[]).with('content-encoding').returns(encoding)
39
- obj.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(Puppet.version)
35
+ obj = double('http 200 ok', :code => code.to_s, :body => body)
36
+ allow(obj).to receive(:[]).with('content-type').and_return(content_type)
37
+ allow(obj).to receive(:[]).with('content-encoding').and_return(encoding)
38
+ allow(obj).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return(Puppet.version)
40
39
  obj
41
40
  end
42
41
 
@@ -46,18 +45,18 @@ describe Puppet::Transaction::Report::Rest do
46
45
 
47
46
  describe "#save" do
48
47
  let(:response) { mock_response(200, 'body') }
49
- let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
48
+ let(:connection) { double('mock http connection', :put => response, :verify_callback= => nil) }
50
49
  let(:instance) { model.new('the thing', 'some contents') }
51
50
  let(:request) { save_request(instance.name, instance) }
52
51
  let(:body) { ["store", "http"].to_pson }
53
52
 
54
53
  before :each do
55
- terminus.stubs(:network).returns(connection)
54
+ allow(terminus).to receive(:network).and_return(connection)
56
55
  end
57
56
 
58
57
  it "deserializes the response as an array of report processor names" do
59
58
  response = mock_response('200', body, 'text/pson')
60
- connection.expects(:put).returns response
59
+ expect(connection).to receive(:put).and_return(response)
61
60
 
62
61
  expect(terminus.save(request)).to eq(["store", "http"])
63
62
  end
@@ -68,8 +67,8 @@ describe Puppet::Transaction::Report::Rest do
68
67
  Puppet[:preferred_serialization_format] = "json"
69
68
 
70
69
  response = mock_response('500', '{}', 'text/pson')
71
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
72
- connection.expects(:put).returns response
70
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return("4.10.1")
71
+ expect(connection).to receive(:put).and_return(response)
73
72
 
74
73
  expect {
75
74
  terminus.save(request)
@@ -80,8 +79,8 @@ describe Puppet::Transaction::Report::Rest do
80
79
  Puppet[:preferred_serialization_format] = "pson"
81
80
 
82
81
  response = mock_response('500', '{}', 'text/pson')
83
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
84
- connection.expects(:put).returns response
82
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return("4.10.1")
83
+ expect(connection).to receive(:put).and_return(response)
85
84
 
86
85
  expect {
87
86
  terminus.save(request)
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/transaction/report'
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'matchers/json'
4
3
  require 'puppet/indirector/request'
@@ -20,7 +19,7 @@ describe Puppet::Indirector::Request do
20
19
  end
21
20
 
22
21
  it "should use the name of the provided instance as its key if an instance is provided as the key instead of a string" do
23
- instance = mock 'instance', :name => "mykey"
22
+ instance = double('instance', :name => "mykey")
24
23
  request = Puppet::Indirector::Request.new(:ind, :method, nil, instance)
25
24
  expect(request.key).to eq("mykey")
26
25
  expect(request.instance).to equal(instance)
@@ -195,25 +194,25 @@ describe Puppet::Indirector::Request do
195
194
  end
196
195
 
197
196
  it "should look use the Indirection class to return the appropriate indirection" do
198
- ind = mock 'indirection'
199
- Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns ind
197
+ ind = double('indirection')
198
+ expect(Puppet::Indirector::Indirection).to receive(:instance).with(:myind).and_return(ind)
200
199
  request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
201
200
 
202
201
  expect(request.indirection).to equal(ind)
203
202
  end
204
203
 
205
204
  it "should use its indirection to look up the appropriate model" do
206
- ind = mock 'indirection'
207
- Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns ind
205
+ ind = double('indirection')
206
+ expect(Puppet::Indirector::Indirection).to receive(:instance).with(:myind).and_return(ind)
208
207
  request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
209
208
 
210
- ind.expects(:model).returns "mymodel"
209
+ expect(ind).to receive(:model).and_return("mymodel")
211
210
 
212
211
  expect(request.model).to eq("mymodel")
213
212
  end
214
213
 
215
214
  it "should fail intelligently when asked to find a model but the indirection cannot be found" do
216
- Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns nil
215
+ expect(Puppet::Indirector::Indirection).to receive(:instance).with(:myind).and_return(nil)
217
216
  request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
218
217
 
219
218
  expect { request.model }.to raise_error(ArgumentError)
@@ -442,8 +441,8 @@ describe Puppet::Indirector::Request do
442
441
 
443
442
  context "when SRV returns servers" do
444
443
  before :each do
445
- @dns_mock = mock('dns')
446
- Resolv::DNS.expects(:new).returns(@dns_mock)
444
+ @dns_mock = double('dns')
445
+ expect(Resolv::DNS).to receive(:new).and_return(@dns_mock)
447
446
 
448
447
  @port = 7205
449
448
  @target = 'example.com'
@@ -451,9 +450,9 @@ describe Puppet::Indirector::Request do
451
450
  record.instance_variable_set(:@ttl, 10)
452
451
  @srv_records = [record]
453
452
 
454
- @dns_mock.expects(:getresources).
453
+ expect(@dns_mock).to receive(:getresources).
455
454
  with("_x-puppet._tcp.#{Puppet.settings[:srv_domain]}", Resolv::DNS::Resource::IN::SRV).
456
- returns(@srv_records)
455
+ and_return(@srv_records)
457
456
  end
458
457
 
459
458
  it "yields a request using the server and port from the SRV record" do
@@ -1,43 +1,39 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/indirector/resource/ral'
4
3
 
5
4
  describe "Puppet::Resource::Ral" do
6
-
7
5
  it "disallows remote requests" do
8
6
  expect(Puppet::Resource::Ral.new.allow_remote_requests?).to eq(false)
9
7
  end
10
8
 
11
9
  describe "find" do
12
10
  before do
13
- @request = stub 'request', :key => "user/root"
11
+ @request = double('request', :key => "user/root")
14
12
  end
15
13
 
16
14
  it "should find an existing instance" do
17
- my_resource = stub "my user resource"
15
+ my_resource = double("my user resource")
18
16
 
19
- wrong_instance = stub "wrong user", :name => "bob"
20
- my_instance = stub "my user", :name => "root", :to_resource => my_resource
17
+ wrong_instance = double("wrong user", :name => "bob")
18
+ my_instance = double("my user", :name => "root", :to_resource => my_resource)
21
19
 
22
- require 'puppet/type/user'
23
- Puppet::Type::User.expects(:instances).returns([ wrong_instance, my_instance, wrong_instance ])
20
+ expect(Puppet::Type::User).to receive(:instances).and_return([ wrong_instance, my_instance, wrong_instance ])
24
21
  expect(Puppet::Resource::Ral.new.find(@request)).to eq(my_resource)
25
22
  end
26
23
 
27
24
  it "should produce Puppet::Error instead of ArgumentError" do
28
- @bad_request = stub 'thiswillcauseanerror', :key => "thiswill/causeanerror"
25
+ @bad_request = double('thiswillcauseanerror', :key => "thiswill/causeanerror")
29
26
  expect{Puppet::Resource::Ral.new.find(@bad_request)}.to raise_error(Puppet::Error)
30
27
  end
31
28
 
32
29
  it "if there is no instance, it should create one" do
33
- wrong_instance = stub "wrong user", :name => "bob"
34
- root = mock "Root User"
35
- root_resource = mock "Root Resource"
30
+ wrong_instance = double("wrong user", :name => "bob")
31
+ root = double("Root User")
32
+ root_resource = double("Root Resource")
36
33
 
37
- require 'puppet/type/user'
38
- Puppet::Type::User.expects(:instances).returns([ wrong_instance, wrong_instance ])
39
- Puppet::Type::User.expects(:new).with(has_entry(:name => "root")).returns(root)
40
- root.expects(:to_resource).returns(root_resource)
34
+ expect(Puppet::Type::User).to receive(:instances).and_return([ wrong_instance, wrong_instance ])
35
+ expect(Puppet::Type::User).to receive(:new).with(hash_including(name: "root")).and_return(root)
36
+ expect(root).to receive(:to_resource).and_return(root_resource)
41
37
 
42
38
  result = Puppet::Resource::Ral.new.find(@request)
43
39
 
@@ -47,72 +43,68 @@ describe "Puppet::Resource::Ral" do
47
43
 
48
44
  describe "search" do
49
45
  before do
50
- @request = stub 'request', :key => "user/", :options => {}
46
+ @request = double('request', :key => "user/", :options => {})
51
47
  end
52
48
 
53
49
  it "should convert ral resources into regular resources" do
54
- my_resource = stub "my user resource"
55
- my_instance = stub "my user", :name => "root", :to_resource => my_resource
50
+ my_resource = double("my user resource")
51
+ my_instance = double("my user", :name => "root", :to_resource => my_resource)
56
52
 
57
- require 'puppet/type/user'
58
- Puppet::Type::User.expects(:instances).returns([ my_instance ])
53
+ expect(Puppet::Type::User).to receive(:instances).and_return([ my_instance ])
59
54
  expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
60
55
  end
61
56
 
62
57
  it "should filter results by name if there's a name in the key" do
63
- my_resource = stub "my user resource"
64
- my_resource.stubs(:to_resource).returns(my_resource)
65
- my_resource.stubs(:[]).with(:name).returns("root")
58
+ my_resource = double("my user resource")
59
+ allow(my_resource).to receive(:to_resource).and_return(my_resource)
60
+ allow(my_resource).to receive(:[]).with(:name).and_return("root")
66
61
 
67
- wrong_resource = stub "wrong resource"
68
- wrong_resource.stubs(:to_resource).returns(wrong_resource)
69
- wrong_resource.stubs(:[]).with(:name).returns("bad")
62
+ wrong_resource = double("wrong resource")
63
+ allow(wrong_resource).to receive(:to_resource).and_return(wrong_resource)
64
+ allow(wrong_resource).to receive(:[]).with(:name).and_return("bad")
70
65
 
71
- my_instance = stub "my user", :to_resource => my_resource
72
- wrong_instance = stub "wrong user", :to_resource => wrong_resource
66
+ my_instance = double("my user", :to_resource => my_resource)
67
+ wrong_instance = double("wrong user", :to_resource => wrong_resource)
73
68
 
74
- @request = stub 'request', :key => "user/root", :options => {}
69
+ @request = double('request', :key => "user/root", :options => {})
75
70
 
76
- require 'puppet/type/user'
77
- Puppet::Type::User.expects(:instances).returns([ my_instance, wrong_instance ])
71
+ expect(Puppet::Type::User).to receive(:instances).and_return([ my_instance, wrong_instance ])
78
72
  expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
79
73
  end
80
74
 
81
75
  it "should filter results by query parameters" do
82
- wrong_resource = stub "my user resource"
83
- wrong_resource.stubs(:to_resource).returns(wrong_resource)
84
- wrong_resource.stubs(:[]).with(:name).returns("root")
76
+ wrong_resource = double("my user resource")
77
+ allow(wrong_resource).to receive(:to_resource).and_return(wrong_resource)
78
+ allow(wrong_resource).to receive(:[]).with(:name).and_return("root")
85
79
 
86
- my_resource = stub "wrong resource"
87
- my_resource.stubs(:to_resource).returns(my_resource)
88
- my_resource.stubs(:[]).with(:name).returns("bob")
80
+ my_resource = double("wrong resource")
81
+ allow(my_resource).to receive(:to_resource).and_return(my_resource)
82
+ allow(my_resource).to receive(:[]).with(:name).and_return("bob")
89
83
 
90
- my_instance = stub "my user", :to_resource => my_resource
91
- wrong_instance = stub "wrong user", :to_resource => wrong_resource
84
+ my_instance = double("my user", :to_resource => my_resource)
85
+ wrong_instance = double("wrong user", :to_resource => wrong_resource)
92
86
 
93
- @request = stub 'request', :key => "user/", :options => {:name => "bob"}
87
+ @request = double('request', :key => "user/", :options => {:name => "bob"})
94
88
 
95
- require 'puppet/type/user'
96
- Puppet::Type::User.expects(:instances).returns([ my_instance, wrong_instance ])
89
+ expect(Puppet::Type::User).to receive(:instances).and_return([ my_instance, wrong_instance ])
97
90
  expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
98
91
  end
99
92
 
100
93
  it "should return sorted results" do
101
- a_resource = stub "alice resource"
102
- a_resource.stubs(:to_resource).returns(a_resource)
103
- a_resource.stubs(:title).returns("alice")
94
+ a_resource = double("alice resource")
95
+ allow(a_resource).to receive(:to_resource).and_return(a_resource)
96
+ allow(a_resource).to receive(:title).and_return("alice")
104
97
 
105
- b_resource = stub "bob resource"
106
- b_resource.stubs(:to_resource).returns(b_resource)
107
- b_resource.stubs(:title).returns("bob")
98
+ b_resource = double("bob resource")
99
+ allow(b_resource).to receive(:to_resource).and_return(b_resource)
100
+ allow(b_resource).to receive(:title).and_return("bob")
108
101
 
109
- a_instance = stub "alice user", :to_resource => a_resource
110
- b_instance = stub "bob user", :to_resource => b_resource
102
+ a_instance = double("alice user", :to_resource => a_resource)
103
+ b_instance = double("bob user", :to_resource => b_resource)
111
104
 
112
- @request = stub 'request', :key => "user/", :options => {}
105
+ @request = double('request', :key => "user/", :options => {})
113
106
 
114
- require 'puppet/type/user'
115
- Puppet::Type::User.expects(:instances).returns([ b_instance, a_instance ])
107
+ expect(Puppet::Type::User).to receive(:instances).and_return([ b_instance, a_instance ])
116
108
  expect(Puppet::Resource::Ral.new.search(@request)).to eq([a_resource, b_resource])
117
109
  end
118
110
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/resource'
4
3
  require 'puppet/indirector/memory'
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/util/json'
4
3
  require 'puppet/indirector'
@@ -17,14 +16,14 @@ shared_examples_for "a REST terminus method" do |terminus_method|
17
16
  end
18
17
 
19
18
  it "falls back to pson for future requests" do
20
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
19
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return("4.10.1")
21
20
  terminus.send(terminus_method, request)
22
21
 
23
22
  expect(Puppet[:preferred_serialization_format]).to eq("pson")
24
23
  end
25
24
 
26
25
  it "doesn't change the serialization format if the X-Puppet-Version header is missing" do
27
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(nil)
26
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return(nil)
28
27
 
29
28
  terminus.send(terminus_method, request)
30
29
 
@@ -32,7 +31,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
32
31
  end
33
32
 
34
33
  it "doesn't change the serialization format if the server major version is 5" do
35
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("5.0.3")
34
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return("5.0.3")
36
35
 
37
36
  terminus.send(terminus_method, request)
38
37
 
@@ -40,7 +39,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
40
39
  end
41
40
 
42
41
  it "doesn't change the serialization format if the current format is already pson" do
43
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
42
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return("4.10.1")
44
43
  Puppet[:preferred_serialization_format] = "pson"
45
44
  terminus.send(terminus_method, request)
46
45
 
@@ -77,7 +76,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
77
76
  end
78
77
 
79
78
  it "does not attempt to deserialize the response into a model" do
80
- model.expects(:convert_from).never
79
+ expect(model).not_to receive(:convert_from)
81
80
 
82
81
  expect {
83
82
  terminus.send(terminus_method, request)
@@ -86,8 +85,8 @@ shared_examples_for "a REST terminus method" do |terminus_method|
86
85
 
87
86
  # I'm not sure what this means or if it's used
88
87
  it "if the body is empty raises an http error with the response header" do
89
- response.stubs(:body).returns ""
90
- response.stubs(:message).returns "fhqwhgads"
88
+ allow(response).to receive(:body).and_return("")
89
+ allow(response).to receive(:message).and_return("fhqwhgads")
91
90
 
92
91
  expect {
93
92
  terminus.send(terminus_method, request)
@@ -99,7 +98,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
99
98
  compressed_body = Zlib::Deflate.deflate(body)
100
99
 
101
100
  compressed_response = mock_response(code, compressed_body, 'application/json', 'deflate')
102
- connection.expects(http_method).returns(compressed_response)
101
+ expect(connection).to receive(http_method).and_return(compressed_response)
103
102
 
104
103
  expect {
105
104
  terminus.send(terminus_method, request)
@@ -121,7 +120,7 @@ shared_examples_for "a deserializing terminus method" do |terminus_method|
121
120
  end
122
121
 
123
122
  it "doesn't catch errors in deserialization" do
124
- model.expects(:convert_from).raises(Puppet::Error, "Whoa there")
123
+ expect(model).to receive(:convert_from).and_raise(Puppet::Error, "Whoa there")
125
124
 
126
125
  expect { terminus.send(terminus_method, request) }.to raise_error(Puppet::Error, "Whoa there")
127
126
  end
@@ -182,10 +181,10 @@ describe Puppet::Indirector::REST do
182
181
  end
183
182
 
184
183
  def mock_response(code, body, content_type='text/plain', encoding=nil)
185
- obj = stub('http 200 ok', :code => code.to_s, :body => body)
186
- obj.stubs(:[]).with('content-type').returns(content_type)
187
- obj.stubs(:[]).with('content-encoding').returns(encoding)
188
- obj.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(Puppet.version)
184
+ obj = double('http 200 ok', :code => code.to_s, :body => body)
185
+ allow(obj).to receive(:[]).with('content-type').and_return(content_type)
186
+ allow(obj).to receive(:[]).with('content-encoding').and_return(encoding)
187
+ allow(obj).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return(Puppet.version)
189
188
  obj
190
189
  end
191
190
 
@@ -214,13 +213,13 @@ describe Puppet::Indirector::REST do
214
213
  end
215
214
 
216
215
  it "should use any specified setting to pick the server" do
217
- terminus_class.expects(:server_setting).returns :ca_server
216
+ expect(terminus_class).to receive(:server_setting).and_return(:ca_server)
218
217
  Puppet[:ca_server] = "myserver"
219
218
  expect(terminus_class.server).to eq("myserver")
220
219
  end
221
220
 
222
221
  it "should default to :server for the server setting" do
223
- terminus_class.expects(:server_setting).returns nil
222
+ expect(terminus_class).to receive(:server_setting).and_return(nil)
224
223
  Puppet[:server] = "myserver"
225
224
  expect(terminus_class.server).to eq("myserver")
226
225
  end
@@ -230,39 +229,39 @@ describe Puppet::Indirector::REST do
230
229
  end
231
230
 
232
231
  it "should use any specified setting to pick the port" do
233
- terminus_class.expects(:port_setting).returns :ca_port
232
+ expect(terminus_class).to receive(:port_setting).and_return(:ca_port)
234
233
  Puppet[:ca_port] = "321"
235
234
  expect(terminus_class.port).to eq(321)
236
235
  end
237
236
 
238
237
  it "should default to :port for the port setting" do
239
- terminus_class.expects(:port_setting).returns nil
238
+ expect(terminus_class).to receive(:port_setting).and_return(nil)
240
239
  Puppet[:masterport] = "543"
241
240
  expect(terminus_class.port).to eq(543)
242
241
  end
243
242
 
244
243
  it "should use a failover-selected server if set" do
245
- terminus_class.expects(:server_setting).returns nil
244
+ expect(terminus_class).to receive(:server_setting).and_return(nil)
246
245
  Puppet.override(:server => "myserver") do
247
246
  expect(terminus_class.server).to eq("myserver")
248
247
  end
249
248
  end
250
249
 
251
250
  it "should use a failover-selected port if set" do
252
- terminus_class.expects(:port_setting).returns nil
251
+ expect(terminus_class).to receive(:port_setting).and_return(nil)
253
252
  Puppet.override(:serverport => 321) do
254
253
  expect(terminus_class.port).to eq(321)
255
254
  end
256
255
  end
257
256
 
258
257
  it "should use server_list for server when available" do
259
- terminus_class.expects(:server_setting).returns nil
258
+ expect(terminus_class).to receive(:server_setting).and_return(nil)
260
259
  Puppet[:server_list] = [["foo", "123"]]
261
260
  expect(terminus_class.server).to eq("foo")
262
261
  end
263
262
 
264
263
  it "should prefer failover-selected server from server list" do
265
- terminus_class.expects(:server_setting).returns nil
264
+ expect(terminus_class).to receive(:server_setting).and_return(nil)
266
265
  Puppet[:server_list] = [["foo", "123"],["bar", "321"]]
267
266
  Puppet.override(:server => "bar") do
268
267
  expect(terminus_class.server).to eq("bar")
@@ -270,13 +269,13 @@ describe Puppet::Indirector::REST do
270
269
  end
271
270
 
272
271
  it "should use server_list for port when available" do
273
- terminus_class.expects(:port_setting).returns nil
272
+ expect(terminus_class).to receive(:port_setting).and_return(nil)
274
273
  Puppet[:server_list] = [["foo", "123"]]
275
274
  expect(terminus_class.port).to eq(123)
276
275
  end
277
276
 
278
277
  it "should prefer failover-selected port from server list" do
279
- terminus_class.expects(:port_setting).returns nil
278
+ expect(terminus_class).to receive(:port_setting).and_return(nil)
280
279
  Puppet[:server_list] = [["foo", "123"],["bar", "321"]]
281
280
  Puppet.override(:serverport => "321") do
282
281
  expect(terminus_class.port).to eq(321)
@@ -284,7 +283,7 @@ describe Puppet::Indirector::REST do
284
283
  end
285
284
 
286
285
  it "should use an explicitly specified more-speciic server when failover is active" do
287
- terminus_class.expects(:server_setting).returns :ca_server
286
+ expect(terminus_class).to receive(:server_setting).and_return(:ca_server)
288
287
  Puppet[:ca_server] = "myserver"
289
288
  Puppet.override(:server => "anotherserver") do
290
289
  expect(terminus_class.server).to eq("myserver")
@@ -292,7 +291,7 @@ describe Puppet::Indirector::REST do
292
291
  end
293
292
 
294
293
  it "should use an explicitly specified more-specific port when failover is active" do
295
- terminus_class.expects(:port_setting).returns :ca_port
294
+ expect(terminus_class).to receive(:port_setting).and_return(:ca_port)
296
295
  Puppet[:ca_port] = 321
297
296
  Puppet.override(:serverport => 543) do
298
297
  expect(terminus_class.port).to eq(321)
@@ -300,8 +299,8 @@ describe Puppet::Indirector::REST do
300
299
  end
301
300
 
302
301
  it "should use a default port when a more-specific server is set" do
303
- terminus_class.expects(:server_setting).returns :ca_server
304
- terminus_class.expects(:port_setting).returns :ca_port
302
+ expect(terminus_class).to receive(:server_setting).and_return(:ca_server)
303
+ expect(terminus_class).to receive(:port_setting).and_return(:ca_port)
305
304
  Puppet[:ca_server] = "myserver"
306
305
  Puppet.override(:server => "anotherserver", :port => 666) do
307
306
  expect(terminus_class.port).to eq(8140)
@@ -313,43 +312,43 @@ describe Puppet::Indirector::REST do
313
312
  end
314
313
 
315
314
  it 'excludes yaml from the Accept header' do
316
- model.expects(:supported_formats).returns([:json, :pson, :yaml, :binary])
315
+ expect(model).to receive(:supported_formats).and_return([:json, :pson, :yaml, :binary])
317
316
 
318
317
  expect(terminus.headers['Accept']).to eq('application/json, text/pson, application/octet-stream')
319
318
  end
320
319
 
321
320
  it 'excludes b64_zlib_yaml from the Accept header' do
322
- model.expects(:supported_formats).returns([:json, :pson, :b64_zlib_yaml])
321
+ expect(model).to receive(:supported_formats).and_return([:json, :pson, :b64_zlib_yaml])
323
322
 
324
323
  expect(terminus.headers['Accept']).to eq('application/json, text/pson')
325
324
  end
326
325
 
327
326
  it 'excludes dot from the Accept header' do
328
- model.expects(:supported_formats).returns([:json, :dot])
327
+ expect(model).to receive(:supported_formats).and_return([:json, :dot])
329
328
 
330
329
  expect(terminus.headers['Accept']).to eq('application/json')
331
330
  end
332
331
 
333
332
  describe "when creating an HTTP client" do
334
333
  it "should use the class's server and port if the indirection request provides neither" do
335
- @request = stub 'request', :key => "foo", :server => nil, :port => nil
336
- terminus.class.expects(:port).returns 321
337
- terminus.class.expects(:server).returns "myserver"
338
- Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
334
+ @request = double('request', :key => "foo", :server => nil, :port => nil)
335
+ expect(terminus.class).to receive(:port).and_return(321)
336
+ expect(terminus.class).to receive(:server).and_return("myserver")
337
+ expect(Puppet::Network::HttpPool).to receive(:http_instance).with("myserver", 321).and_return("myconn")
339
338
  expect(terminus.network(@request)).to eq("myconn")
340
339
  end
341
340
 
342
341
  it "should use the server from the indirection request if one is present" do
343
- @request = stub 'request', :key => "foo", :server => "myserver", :port => nil
344
- terminus.class.stubs(:port).returns 321
345
- Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
342
+ @request = double('request', :key => "foo", :server => "myserver", :port => nil)
343
+ allow(terminus.class).to receive(:port).and_return(321)
344
+ expect(Puppet::Network::HttpPool).to receive(:http_instance).with("myserver", 321).and_return("myconn")
346
345
  expect(terminus.network(@request)).to eq("myconn")
347
346
  end
348
347
 
349
348
  it "should use the port from the indirection request if one is present" do
350
- @request = stub 'request', :key => "foo", :server => nil, :port => 321
351
- terminus.class.stubs(:server).returns "myserver"
352
- Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
349
+ @request = double('request', :key => "foo", :server => nil, :port => 321)
350
+ allow(terminus.class).to receive(:server).and_return("myserver")
351
+ expect(Puppet::Network::HttpPool).to receive(:http_instance).with("myserver", 321).and_return("myconn")
353
352
  expect(terminus.network(@request)).to eq("myconn")
354
353
  end
355
354
  end
@@ -357,11 +356,11 @@ describe Puppet::Indirector::REST do
357
356
  describe "#find" do
358
357
  let(:http_method) { :get }
359
358
  let(:response) { mock_response(200, 'body') }
360
- let(:connection) { stub('mock http connection', :get => response, :verify_callback= => nil) }
359
+ let(:connection) { double('mock http connection', :get => response, :verify_callback= => nil) }
361
360
  let(:request) { find_request('foo') }
362
361
 
363
362
  before :each do
364
- terminus.stubs(:network).returns(connection)
363
+ allow(terminus).to receive(:network).and_return(connection)
365
364
  end
366
365
 
367
366
  it_behaves_like 'a REST terminus method', :find
@@ -383,9 +382,11 @@ describe Puppet::Indirector::REST do
383
382
 
384
383
  request = find_request('whoa', params)
385
384
 
386
- connection.expects(:post).with do |uri, body|
387
- body.split("&").sort == params.map {|key,value| "#{key}=#{value}"}.sort
388
- end.returns(mock_response(200, 'body'))
385
+ expect(connection).to receive(:post) do |_,req,_|
386
+ expect(req.split("&").flatten).to match_array(params.map {|key,value| "#{key}=#{value}"})
387
+
388
+ mock_response(200, 'body')
389
+ end
389
390
 
390
391
  terminus.find(request)
391
392
  end
@@ -395,7 +396,7 @@ describe Puppet::Indirector::REST do
395
396
  it "calls get on the connection" do
396
397
  request = find_request('foo bar')
397
398
 
398
- connection.expects(:get).with("#{url_prefix}/test_model/foo%20bar?environment=production&", anything).returns(mock_response('200', 'response body'))
399
+ expect(connection).to receive(:get).with("#{url_prefix}/test_model/foo%20bar?environment=production&", anything).and_return(mock_response('200', 'response body'))
399
400
 
400
401
  expect(terminus.find(request)).to eq(model.new('foo bar', 'response body'))
401
402
  end
@@ -404,14 +405,14 @@ describe Puppet::Indirector::REST do
404
405
  it "returns nil on 404" do
405
406
  response = mock_response('404', nil)
406
407
 
407
- connection.expects(:get).returns(response)
408
+ expect(connection).to receive(:get).and_return(response)
408
409
 
409
410
  expect(terminus.find(request)).to eq(nil)
410
411
  end
411
412
 
412
413
  it 'raises no warning for a 404 (when not asked to do so)' do
413
414
  response = mock_response('404', 'this is the notfound you are looking for')
414
- connection.expects(:get).returns(response)
415
+ expect(connection).to receive(:get).and_return(response)
415
416
  expect{terminus.find(request)}.to_not raise_error()
416
417
  end
417
418
 
@@ -419,7 +420,7 @@ describe Puppet::Indirector::REST do
419
420
  it 'raises an error for a 404 when asked to do so' do
420
421
  request = find_request('foo', :fail_on_404 => true)
421
422
  response = mock_response('404', 'this is the notfound you are looking for')
422
- connection.expects(:get).returns(response)
423
+ expect(connection).to receive(:get).and_return(response)
423
424
 
424
425
  expect do
425
426
  terminus.find(request)
@@ -431,7 +432,7 @@ describe Puppet::Indirector::REST do
431
432
  it 'truncates the URI when it is very long' do
432
433
  request = find_request('foo', :fail_on_404 => true, :long_param => ('A' * 100) + 'B')
433
434
  response = mock_response('404', 'this is the notfound you are looking for')
434
- connection.expects(:get).returns(response)
435
+ expect(connection).to receive(:get).and_return(response)
435
436
 
436
437
  expect do
437
438
  terminus.find(request)
@@ -444,7 +445,7 @@ describe Puppet::Indirector::REST do
444
445
  Puppet.debug = true
445
446
  request = find_request('foo', :fail_on_404 => true, :long_param => ('A' * 100) + 'B')
446
447
  response = mock_response('404', 'this is the notfound you are looking for')
447
- connection.expects(:get).returns(response)
448
+ expect(connection).to receive(:get).and_return(response)
448
449
 
449
450
  expect do
450
451
  terminus.find(request)
@@ -455,9 +456,9 @@ describe Puppet::Indirector::REST do
455
456
  end
456
457
 
457
458
  it "asks the model to deserialize the response body and sets the name on the resulting object to the find key" do
458
- connection.expects(:get).returns response
459
+ expect(connection).to receive(:get).and_return(response)
459
460
 
460
- model.expects(:convert_from).with(response['content-type'], response.body).returns(
461
+ expect(model).to receive(:convert_from).with(response['content-type'], response.body).and_return(
461
462
  model.new('overwritten', 'decoded body')
462
463
  )
463
464
 
@@ -465,42 +466,44 @@ describe Puppet::Indirector::REST do
465
466
  end
466
467
 
467
468
  it "doesn't require the model to support name=" do
468
- connection.expects(:get).returns response
469
- instance = model.new('name', 'decoded body')
469
+ class Puppet::TestModel2 < Puppet::TestModel
470
+ undef_method :name=
471
+ end
472
+
473
+ expect(connection).to receive(:get).and_return(response)
474
+ instance = Puppet::TestModel2.new('name', 'decoded body')
470
475
 
471
- model.expects(:convert_from).with(response['content-type'], response.body).returns(instance)
472
- instance.expects(:respond_to?).with(:name=).returns(false)
473
- instance.expects(:name=).never
476
+ expect(model).to receive(:convert_from).with(response['content-type'], response.body).and_return(instance)
474
477
 
475
478
  expect(terminus.find(request)).to eq(model.new('name', 'decoded body'))
476
479
  end
477
480
 
478
481
  it "provides an Accept header containing the list of supported mime types joined with commas" do
479
- connection.expects(:get).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
482
+ expect(connection).to receive(:get).with(anything, hash_including("Accept" => "application/json, text/pson")).and_return(response)
480
483
 
481
- terminus.model.expects(:supported_formats).returns [:json, :pson]
484
+ expect(terminus.model).to receive(:supported_formats).and_return([:json, :pson])
482
485
  terminus.find(request)
483
486
  end
484
487
 
485
488
  it "provides a version header with the current puppet version" do
486
- connection.expects(:get).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
489
+ expect(connection).to receive(:get).with(anything, hash_including(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).and_return(response)
487
490
 
488
491
  terminus.find(request)
489
492
  end
490
493
 
491
494
  it "adds an Accept-Encoding header" do
492
- terminus.expects(:add_accept_encoding).returns({"accept-encoding" => "gzip"})
495
+ expect(terminus).to receive(:add_accept_encoding).and_return({"accept-encoding" => "gzip"})
493
496
 
494
- connection.expects(:get).with(anything, has_entry("accept-encoding" => "gzip")).returns(response)
497
+ expect(connection).to receive(:get).with(anything, hash_including("accept-encoding" => "gzip")).and_return(response)
495
498
 
496
499
  terminus.find(request)
497
500
  end
498
501
 
499
502
  it "uses only the mime-type from the content-type header when asking the model to deserialize" do
500
503
  response = mock_response('200', 'mydata', "text/plain; charset=utf-8")
501
- connection.expects(:get).returns(response)
504
+ expect(connection).to receive(:get).and_return(response)
502
505
 
503
- model.expects(:convert_from).with("text/plain", "mydata").returns "myobject"
506
+ expect(model).to receive(:convert_from).with("text/plain", "mydata").and_return("myobject")
504
507
 
505
508
  expect(terminus.find(request)).to eq("myobject")
506
509
  end
@@ -510,9 +513,9 @@ describe Puppet::Indirector::REST do
510
513
  compressed_body = Zlib::Deflate.deflate(uncompressed_body)
511
514
 
512
515
  response = mock_response('200', compressed_body, 'text/plain', 'deflate')
513
- connection.expects(:get).returns(response)
516
+ expect(connection).to receive(:get).and_return(response)
514
517
 
515
- model.expects(:convert_from).with("text/plain", uncompressed_body).returns "myobject"
518
+ expect(model).to receive(:convert_from).with("text/plain", uncompressed_body).and_return("myobject")
516
519
 
517
520
  expect(terminus.find(request)).to eq("myobject")
518
521
  end
@@ -521,29 +524,29 @@ describe Puppet::Indirector::REST do
521
524
  describe "#head" do
522
525
  let(:http_method) { :head }
523
526
  let(:response) { mock_response(200, nil) }
524
- let(:connection) { stub('mock http connection', :head => response, :verify_callback= => nil) }
527
+ let(:connection) { double('mock http connection', :head => response, :verify_callback= => nil) }
525
528
  let(:request) { head_request('foo') }
526
529
 
527
530
  before :each do
528
- terminus.stubs(:network).returns(connection)
531
+ allow(terminus).to receive(:network).and_return(connection)
529
532
  end
530
533
 
531
534
  it_behaves_like 'a REST terminus method', :head
532
535
 
533
536
  it "returns true if there was a successful http response" do
534
- connection.expects(:head).returns mock_response('200', nil)
537
+ expect(connection).to receive(:head).and_return(mock_response('200', nil))
535
538
 
536
539
  expect(terminus.head(request)).to eq(true)
537
540
  end
538
541
 
539
542
  it "returns false on a 404 response" do
540
- connection.expects(:head).returns mock_response('404', nil)
543
+ expect(connection).to receive(:head).and_return(mock_response('404', nil))
541
544
 
542
545
  expect(terminus.head(request)).to eq(false)
543
546
  end
544
547
 
545
548
  it "provides a version header with the current puppet version" do
546
- connection.expects(:head).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
549
+ expect(connection).to receive(:head).with(anything, hash_including(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).and_return(response)
547
550
 
548
551
  terminus.head(request)
549
552
  end
@@ -552,18 +555,18 @@ describe Puppet::Indirector::REST do
552
555
  describe "#search" do
553
556
  let(:http_method) { :get }
554
557
  let(:response) { mock_response(200, 'data1,data2,data3') }
555
- let(:connection) { stub('mock http connection', :get => response, :verify_callback= => nil) }
558
+ let(:connection) { double('mock http connection', :get => response, :verify_callback= => nil) }
556
559
  let(:request) { search_request('foo') }
557
560
 
558
561
  before :each do
559
- terminus.stubs(:network).returns(connection)
562
+ allow(terminus).to receive(:network).and_return(connection)
560
563
  end
561
564
 
562
565
  it_behaves_like 'a REST terminus method', :search
563
566
  it_behaves_like 'a deserializing terminus method', :search
564
567
 
565
568
  it "should call the GET http method on a network connection" do
566
- connection.expects(:get).with("#{url_prefix}/test_models/foo?environment=production&", has_key('Accept')).returns mock_response(200, 'data3, data4')
569
+ expect(connection).to receive(:get).with("#{url_prefix}/test_models/foo?environment=production&", hash_including('Accept' => anything)).and_return(mock_response(200, 'data3, data4'))
567
570
 
568
571
  terminus.search(request)
569
572
  end
@@ -571,7 +574,7 @@ describe Puppet::Indirector::REST do
571
574
  it "returns an empty list on 404" do
572
575
  response = mock_response('404', nil)
573
576
 
574
- connection.expects(:get).returns(response)
577
+ expect(connection).to receive(:get).and_return(response)
575
578
 
576
579
  expect(terminus.search(request)).to eq([])
577
580
  end
@@ -581,20 +584,20 @@ describe Puppet::Indirector::REST do
581
584
  end
582
585
 
583
586
  it "should provide an Accept header containing the list of supported formats joined with commas" do
584
- connection.expects(:get).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(mock_response(200, ''))
587
+ expect(connection).to receive(:get).with(anything, hash_including("Accept" => "application/json, text/pson")).and_return(mock_response(200, ''))
585
588
 
586
- terminus.model.expects(:supported_formats).returns [:json, :pson]
589
+ expect(terminus.model).to receive(:supported_formats).and_return([:json, :pson])
587
590
  terminus.search(request)
588
591
  end
589
592
 
590
593
  it "provides a version header with the current puppet version" do
591
- connection.expects(:get).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(mock_response(200, ''))
594
+ expect(connection).to receive(:get).with(anything, hash_including(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).and_return(mock_response(200, ''))
592
595
 
593
596
  terminus.search(request)
594
597
  end
595
598
 
596
599
  it "should return an empty array if serialization returns nil" do
597
- model.stubs(:convert_from_multiple).returns nil
600
+ allow(model).to receive(:convert_from_multiple).and_return(nil)
598
601
 
599
602
  expect(terminus.search(request)).to eq([])
600
603
  end
@@ -603,18 +606,18 @@ describe Puppet::Indirector::REST do
603
606
  describe "#destroy" do
604
607
  let(:http_method) { :delete }
605
608
  let(:response) { mock_response(200, 'body') }
606
- let(:connection) { stub('mock http connection', :delete => response, :verify_callback= => nil) }
609
+ let(:connection) { double('mock http connection', :delete => response, :verify_callback= => nil) }
607
610
  let(:request) { delete_request('foo') }
608
611
 
609
612
  before :each do
610
- terminus.stubs(:network).returns(connection)
613
+ allow(terminus).to receive(:network).and_return(connection)
611
614
  end
612
615
 
613
616
  it_behaves_like 'a REST terminus method', :destroy
614
617
  it_behaves_like 'a deserializing terminus method', :destroy
615
618
 
616
619
  it "should call the DELETE http method on a network connection" do
617
- connection.expects(:delete).with("#{url_prefix}/test_model/foo?environment=production&", has_key('Accept')).returns(response)
620
+ expect(connection).to receive(:delete).with("#{url_prefix}/test_model/foo?environment=production&", hash_including('Accept' => anything)).and_return(response)
618
621
 
619
622
  terminus.destroy(request)
620
623
  end
@@ -626,7 +629,7 @@ describe Puppet::Indirector::REST do
626
629
  end
627
630
 
628
631
  it "should deserialize and return the http response" do
629
- connection.expects(:delete).returns response
632
+ expect(connection).to receive(:delete).and_return(response)
630
633
 
631
634
  expect(terminus.destroy(request)).to eq(model.new('', 'body'))
632
635
  end
@@ -634,20 +637,20 @@ describe Puppet::Indirector::REST do
634
637
  it "returns nil on 404" do
635
638
  response = mock_response('404', nil)
636
639
 
637
- connection.expects(:delete).returns(response)
640
+ expect(connection).to receive(:delete).and_return(response)
638
641
 
639
642
  expect(terminus.destroy(request)).to eq(nil)
640
643
  end
641
644
 
642
645
  it "should provide an Accept header containing the list of supported formats joined with commas" do
643
- connection.expects(:delete).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
646
+ expect(connection).to receive(:delete).with(anything, hash_including("Accept" => "application/json, text/pson")).and_return(response)
644
647
 
645
- terminus.model.expects(:supported_formats).returns [:json, :pson]
648
+ expect(terminus.model).to receive(:supported_formats).and_return([:json, :pson])
646
649
  terminus.destroy(request)
647
650
  end
648
651
 
649
652
  it "provides a version header with the current puppet version" do
650
- connection.expects(:delete).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
653
+ expect(connection).to receive(:delete).with(anything, hash_including(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).and_return(response)
651
654
 
652
655
  terminus.destroy(request)
653
656
  end
@@ -656,18 +659,18 @@ describe Puppet::Indirector::REST do
656
659
  describe "#save" do
657
660
  let(:http_method) { :put }
658
661
  let(:response) { mock_response(200, 'body') }
659
- let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
662
+ let(:connection) { double('mock http connection', :put => response, :verify_callback= => nil) }
660
663
  let(:instance) { model.new('the thing', 'some contents') }
661
664
  let(:request) { save_request(instance.name, instance) }
662
665
 
663
666
  before :each do
664
- terminus.stubs(:network).returns(connection)
667
+ allow(terminus).to receive(:network).and_return(connection)
665
668
  end
666
669
 
667
670
  it_behaves_like 'a REST terminus method', :save
668
671
 
669
672
  it "should call the PUT http method on a network connection" do
670
- connection.expects(:put).with("#{url_prefix}/test_model/the%20thing?environment=production&", anything, has_key("Content-Type")).returns response
673
+ expect(connection).to receive(:put).with("#{url_prefix}/test_model/the%20thing?environment=production&", anything, hash_including("Content-Type")).and_return(response)
671
674
 
672
675
  terminus.save(request)
673
676
  end
@@ -679,8 +682,8 @@ describe Puppet::Indirector::REST do
679
682
  end
680
683
 
681
684
  it "should serialize the instance using the default format and pass the result as the body of the request" do
682
- instance.expects(:render).returns "serial_instance"
683
- connection.expects(:put).with(anything, "serial_instance", anything).returns response
685
+ expect(instance).to receive(:render).and_return("serial_instance")
686
+ expect(connection).to receive(:put).with(anything, "serial_instance", anything).and_return(response)
684
687
 
685
688
  terminus.save(request)
686
689
  end
@@ -688,36 +691,36 @@ describe Puppet::Indirector::REST do
688
691
  it "returns nil on 404" do
689
692
  response = mock_response('404', nil)
690
693
 
691
- connection.expects(:put).returns(response)
694
+ expect(connection).to receive(:put).and_return(response)
692
695
 
693
696
  expect(terminus.save(request)).to eq(nil)
694
697
  end
695
698
 
696
699
  it "returns nil" do
697
- connection.expects(:put).returns response
700
+ expect(connection).to receive(:put).and_return(response)
698
701
 
699
702
  expect(terminus.save(request)).to be_nil
700
703
  end
701
704
 
702
705
  it "should provide an Accept header containing the list of supported formats joined with commas" do
703
- connection.expects(:put).with(anything, anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
706
+ expect(connection).to receive(:put).with(anything, anything, hash_including("Accept" => "application/json, text/pson")).and_return(response)
704
707
 
705
- instance.expects(:render).returns('')
706
- model.expects(:supported_formats).returns [:json, :pson]
707
- instance.expects(:mime).returns "supported"
708
+ expect(instance).to receive(:render).and_return('')
709
+ expect(model).to receive(:supported_formats).and_return([:json, :pson])
710
+ expect(instance).to receive(:mime).and_return("supported")
708
711
 
709
712
  terminus.save(request)
710
713
  end
711
714
 
712
715
  it "provides a version header with the current puppet version" do
713
- connection.expects(:put).with(anything, anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
716
+ expect(connection).to receive(:put).with(anything, anything, hash_including(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).and_return(response)
714
717
 
715
718
  terminus.save(request)
716
719
  end
717
720
 
718
721
  it "should provide a Content-Type header containing the mime-type of the sent object" do
719
- instance.expects(:mime).returns "mime"
720
- connection.expects(:put).with(anything, anything, has_entry('Content-Type' => "mime")).returns(response)
722
+ expect(instance).to receive(:mime).and_return("mime")
723
+ expect(connection).to receive(:put).with(anything, anything, hash_including('Content-Type' => "mime")).and_return(response)
721
724
 
722
725
  terminus.save(request)
723
726
  end
@@ -726,31 +729,31 @@ describe Puppet::Indirector::REST do
726
729
  describe '#handle_response' do
727
730
  # There are multiple request types to choose from, this may not be the one I want for this situation
728
731
  let(:response) { mock_response(200, 'body') }
729
- let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
732
+ let(:connection) { double('mock http connection', :put => response, :verify_callback= => nil) }
730
733
  let(:instance) { model.new('the thing', 'some contents') }
731
734
  let(:request) { save_request(instance.name, instance) }
732
735
 
733
736
  before :each do
734
- terminus.stubs(:network).returns(connection)
737
+ allow(terminus).to receive(:network).and_return(connection)
735
738
  end
736
739
 
737
740
  it 'adds server_agent_version to the context if not already set' do
738
- Puppet.expects(:push_context).with(:server_agent_version => Puppet.version)
741
+ expect(Puppet).to receive(:push_context).with(:server_agent_version => Puppet.version)
739
742
  terminus.handle_response(request, response)
740
743
  end
741
744
 
742
745
  it 'does not add server_agent_version to the context if it is already set' do
743
746
  Puppet.override(:server_agent_version => "5.3.4") do
744
- Puppet.expects(:push_context).never
747
+ expect(Puppet).not_to receive(:push_context)
745
748
  terminus.handle_response(request, response)
746
749
  end
747
750
  end
748
751
 
749
752
  it 'downgrades to pson and emits a warning' do
750
- response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns('4.2.8')
753
+ allow(response).to receive(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).and_return('4.2.8')
751
754
  Puppet[:preferred_serialization_format] = 'other'
752
755
 
753
- Puppet.expects(:warning).with('Downgrading to PSON for future requests')
756
+ expect(Puppet).to receive(:warning).with('Downgrading to PSON for future requests')
754
757
 
755
758
  terminus.handle_response(request, response)
756
759
 
@@ -778,7 +781,7 @@ describe Puppet::Indirector::REST do
778
781
  request = Puppet::Indirector::Request.new(:indirection, method, 'key', nil)
779
782
  stub_response = mock_response('200', 'body')
780
783
 
781
- request.expects(:do_request).with(terminus.class.srv_service, terminus.class.server, terminus.class.port).returns(stub_response)
784
+ expect(request).to receive(:do_request).with(terminus.class.srv_service, terminus.class.server, terminus.class.port).and_return(stub_response)
782
785
 
783
786
  terminus.send(method, request)
784
787
  end