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
@@ -3,12 +3,12 @@ require 'spec_helper'
3
3
  osfamilies = { 'windows' => ['pip.exe'], 'other' => ['pip', 'pip-python'] }
4
4
 
5
5
  describe Puppet::Type.type(:package).provider(:pip) do
6
- before do
6
+ before do
7
7
  @resource = Puppet::Resource.new(:package, "fake_package")
8
8
  @provider = described_class.new(@resource)
9
- @client = stub_everything('client')
10
- @client.stubs(:call).with('package_releases', 'real_package').returns(["1.3", "1.2.5", "1.2.4"])
11
- @client.stubs(:call).with('package_releases', 'fake_package').returns([])
9
+ @client = double('client')
10
+ allow(@client).to receive(:call).with('package_releases', 'real_package').and_return(["1.3", "1.2.5", "1.2.4"])
11
+ allow(@client).to receive(:call).with('package_releases', 'fake_package').and_return([])
12
12
  end
13
13
 
14
14
  context "parse" do
@@ -27,17 +27,17 @@ describe Puppet::Type.type(:package).provider(:pip) do
27
27
 
28
28
  context "cmd" do
29
29
  it "should return 'pip.exe' by default on Windows systems" do
30
- Puppet::Util::Platform.stubs(:windows?).returns true
30
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
31
31
  expect(described_class.cmd[0]).to eq('pip.exe')
32
32
  end
33
33
 
34
34
  it "could return pip-python on legacy redhat systems which rename pip" do
35
- Puppet::Util::Platform.stubs(:windows?).returns false
35
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
36
36
  expect(described_class.cmd[1]).to eq('pip-python')
37
37
  end
38
38
 
39
39
  it "should return pip by default on other systems" do
40
- Puppet::Util::Platform.stubs(:windows?).returns false
40
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
41
41
  expect(described_class.cmd[0]).to eq('pip')
42
42
  end
43
43
  end
@@ -45,18 +45,18 @@ describe Puppet::Type.type(:package).provider(:pip) do
45
45
  context "instances" do
46
46
  osfamilies.each do |osfamily, pip_cmds|
47
47
  it "should return an array on #{osfamily} systems when #{pip_cmds.join(' or ')} is present" do
48
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
48
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
49
49
  pip_cmds.each do |pip_cmd|
50
50
  pip_cmds.each do |cmd|
51
51
  unless cmd == pip_cmd
52
- described_class.expects(:which).with(cmd).returns(nil)
52
+ expect(described_class).to receive(:which).with(cmd).and_return(nil)
53
53
  end
54
54
  end
55
- described_class.stubs(:pip_version).returns('8.0.1')
56
- described_class.expects(:which).with(pip_cmd).returns("/fake/bin/#{pip_cmd}")
57
- p = stub("process")
58
- p.expects(:collect).yields("real_package==1.2.5")
59
- described_class.expects(:execpipe).with(["/fake/bin/#{pip_cmd}", "freeze"]).yields(p)
55
+ allow(described_class).to receive(:pip_version).and_return('8.0.1')
56
+ expect(described_class).to receive(:which).with(pip_cmd).and_return("/fake/bin/#{pip_cmd}")
57
+ p = double("process")
58
+ expect(p).to receive(:collect).and_yield("real_package==1.2.5")
59
+ expect(described_class).to receive(:execpipe).with(["/fake/bin/#{pip_cmd}", "freeze"]).and_yield(p)
60
60
  described_class.instances
61
61
  end
62
62
  end
@@ -65,21 +65,21 @@ describe Puppet::Type.type(:package).provider(:pip) do
65
65
  versions = ['8.1.0', '9.0.1']
66
66
  versions.each do |version|
67
67
  it "should use the --all option when version is '#{version}'" do
68
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
69
- described_class.stubs(:pip_cmd).returns('/fake/bin/pip')
70
- described_class.stubs(:pip_version).returns(version)
71
- p = stub("process")
72
- p.expects(:collect).yields("real_package==1.2.5")
73
- described_class.expects(:execpipe).with(["/fake/bin/pip", "freeze", "--all"]).yields(p)
68
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
69
+ allow(described_class).to receive(:pip_cmd).and_return('/fake/bin/pip')
70
+ allow(described_class).to receive(:pip_version).and_return(version)
71
+ p = double("process")
72
+ expect(p).to receive(:collect).and_yield("real_package==1.2.5")
73
+ expect(described_class).to receive(:execpipe).with(["/fake/bin/pip", "freeze", "--all"]).and_yield(p)
74
74
  described_class.instances
75
75
  end
76
76
  end
77
77
  end
78
78
 
79
79
  it "should return an empty array on #{osfamily} systems when #{pip_cmds.join(' and ')} are missing" do
80
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
80
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
81
81
  pip_cmds.each do |cmd|
82
- described_class.expects(:which).with(cmd).returns nil
82
+ expect(described_class).to receive(:which).with(cmd).and_return(nil)
83
83
  end
84
84
  expect(described_class.instances).to eq([])
85
85
  end
@@ -92,11 +92,11 @@ describe Puppet::Type.type(:package).provider(:pip) do
92
92
  end
93
93
 
94
94
  it "should return a hash when pip and the package are present" do
95
- described_class.expects(:instances).returns [described_class.new({
95
+ expect(described_class).to receive(:instances).and_return([described_class.new({
96
96
  :ensure => "1.2.5",
97
97
  :name => "real_package",
98
98
  :provider => :pip,
99
- })]
99
+ })])
100
100
 
101
101
  expect(@provider.query).to eq({
102
102
  :ensure => "1.2.5",
@@ -106,18 +106,18 @@ describe Puppet::Type.type(:package).provider(:pip) do
106
106
  end
107
107
 
108
108
  it "should return nil when the package is missing" do
109
- described_class.expects(:instances).returns []
109
+ expect(described_class).to receive(:instances).and_return([])
110
110
  expect(@provider.query).to eq(nil)
111
111
  end
112
112
 
113
113
  it "should be case insensitive" do
114
114
  @resource[:name] = "Real_Package"
115
115
 
116
- described_class.expects(:instances).returns [described_class.new({
116
+ expect(described_class).to receive(:instances).and_return([described_class.new({
117
117
  :ensure => "1.2.5",
118
118
  :name => "real_package",
119
119
  :provider => :pip,
120
- })]
120
+ })])
121
121
 
122
122
  expect(@provider.query).to eq({
123
123
  :ensure => "1.2.5",
@@ -130,10 +130,10 @@ describe Puppet::Type.type(:package).provider(:pip) do
130
130
  context "latest" do
131
131
  context "with pip version < 1.5.4" do
132
132
  before :each do
133
- described_class.stubs(:pip_version).returns('1.0.1')
134
- described_class.stubs(:which).with('pip').returns("/fake/bin/pip")
135
- described_class.stubs(:which).with('pip-python').returns("/fake/bin/pip")
136
- described_class.stubs(:which).with('pip.exe').returns("/fake/bin/pip")
133
+ allow(described_class).to receive(:pip_version).and_return('1.0.1')
134
+ allow(described_class).to receive(:which).with('pip').and_return("/fake/bin/pip")
135
+ allow(described_class).to receive(:which).with('pip-python').and_return("/fake/bin/pip")
136
+ allow(described_class).to receive(:which).with('pip.exe').and_return("/fake/bin/pip")
137
137
  end
138
138
 
139
139
  it "should find a version number for new_pip_package" do
@@ -146,7 +146,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
146
146
  Successfully downloaded real-package
147
147
  EOS
148
148
  )
149
- Puppet::Util::Execution.expects(:execpipe).yields(p).once
149
+ expect(Puppet::Util::Execution).to receive(:execpipe).and_yield(p).once
150
150
  @resource[:name] = "real_package"
151
151
  expect(@provider.latest).to eq('0.10.1')
152
152
  end
@@ -176,7 +176,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
176
176
  Storing complete log in /root/.pip/pip.log
177
177
  EOS
178
178
  )
179
- Puppet::Util::Execution.expects(:execpipe).yields(p).once
179
+ expect(Puppet::Util::Execution).to receive(:execpipe).and_yield(p).once
180
180
  @resource[:name] = "fake_package"
181
181
  expect(@provider.latest).to eq(nil)
182
182
  end
@@ -186,10 +186,10 @@ describe Puppet::Type.type(:package).provider(:pip) do
186
186
  # For Pip 1.5.4 and above, you can get a version list from CLI - which allows for native pip behavior
187
187
  # with regards to custom repositories, proxies and the like
188
188
  before :each do
189
- described_class.stubs(:pip_version).returns('1.5.4')
190
- described_class.stubs(:which).with('pip').returns("/fake/bin/pip")
191
- described_class.stubs(:which).with('pip-python').returns("/fake/bin/pip")
192
- described_class.stubs(:which).with('pip.exe').returns("/fake/bin/pip")
189
+ allow(described_class).to receive(:pip_version).and_return('1.5.4')
190
+ allow(described_class).to receive(:which).with('pip').and_return("/fake/bin/pip")
191
+ allow(described_class).to receive(:which).with('pip-python').and_return("/fake/bin/pip")
192
+ allow(described_class).to receive(:which).with('pip.exe').and_return("/fake/bin/pip")
193
193
  end
194
194
 
195
195
  it "should find a version number for real_package" do
@@ -200,7 +200,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
200
200
  No matching distribution found for real-package==versionplease
201
201
  EOS
202
202
  )
203
- Puppet::Util::Execution.expects(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).yields(p).once
203
+ expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).and_yield(p).once
204
204
  @resource[:name] = "real_package"
205
205
  latest = @provider.latest
206
206
  expect(latest).to eq('1.9b1')
@@ -214,7 +214,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
214
214
  No matching distribution found for fake-package==versionplease
215
215
  EOS
216
216
  )
217
- Puppet::Util::Execution.expects(:execpipe).with(["/fake/bin/pip", "install", "fake_package==versionplease"]).yields(p).once
217
+ expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "fake_package==versionplease"]).and_yield(p).once
218
218
  @resource[:name] = "fake_package"
219
219
  expect(@provider.latest).to eq(nil)
220
220
  end
@@ -227,7 +227,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
227
227
  No distributions matching the version for real-package==versionplease
228
228
  EOS
229
229
  )
230
- Puppet::Util::Execution.expects(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).yields(p).once
230
+ expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).and_yield(p).once
231
231
  @resource[:name] = "real_package"
232
232
  latest = @provider.latest
233
233
  expect(latest).to eq('15.0.2')
@@ -244,8 +244,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
244
244
  it "should install" do
245
245
  @resource[:ensure] = :installed
246
246
  @resource[:source] = nil
247
- @provider.expects(:lazy_pip).
248
- with("install", '-q', "fake_package")
247
+ expect(@provider).to receive(:lazy_pip).with("install", '-q', "fake_package")
249
248
  @provider.install
250
249
  end
251
250
 
@@ -253,8 +252,8 @@ describe Puppet::Type.type(:package).provider(:pip) do
253
252
  # The -e flag makes the provider non-idempotent
254
253
  @resource[:ensure] = :installed
255
254
  @resource[:source] = @url
256
- @provider.expects(:lazy_pip).with() do |*args|
257
- not args.include?("-e")
255
+ expect(@provider).to receive(:lazy_pip) do |*args|
256
+ expect(args).not_to include("-e")
258
257
  end
259
258
  @provider.install
260
259
  end
@@ -262,31 +261,28 @@ describe Puppet::Type.type(:package).provider(:pip) do
262
261
  it "should install from SCM" do
263
262
  @resource[:ensure] = :installed
264
263
  @resource[:source] = @url
265
- @provider.expects(:lazy_pip).
266
- with("install", '-q', "#{@url}#egg=fake_package")
264
+ expect(@provider).to receive(:lazy_pip).with("install", '-q', "#{@url}#egg=fake_package")
267
265
  @provider.install
268
266
  end
269
267
 
270
268
  it "should install a particular SCM revision" do
271
269
  @resource[:ensure] = "0123456"
272
270
  @resource[:source] = @url
273
- @provider.expects(:lazy_pip).
274
- with("install", "-q", "#{@url}@0123456#egg=fake_package")
271
+ expect(@provider).to receive(:lazy_pip).with("install", "-q", "#{@url}@0123456#egg=fake_package")
275
272
  @provider.install
276
273
  end
277
274
 
278
275
  it "should install a particular version" do
279
276
  @resource[:ensure] = "0.0.0"
280
277
  @resource[:source] = nil
281
- @provider.expects(:lazy_pip).with("install", "-q", "fake_package==0.0.0")
278
+ expect(@provider).to receive(:lazy_pip).with("install", "-q", "fake_package==0.0.0")
282
279
  @provider.install
283
280
  end
284
281
 
285
282
  it "should upgrade" do
286
283
  @resource[:ensure] = :latest
287
284
  @resource[:source] = nil
288
- @provider.expects(:lazy_pip).
289
- with("install", "-q", "--upgrade", "fake_package")
285
+ expect(@provider).to receive(:lazy_pip).with("install", "-q", "--upgrade", "fake_package")
290
286
  @provider.install
291
287
  end
292
288
 
@@ -294,8 +290,7 @@ describe Puppet::Type.type(:package).provider(:pip) do
294
290
  @resource[:ensure] = :installed
295
291
  @resource[:source] = nil
296
292
  @resource[:install_options] = [{"--timeout" => "10"}, "--no-index"]
297
- @provider.expects(:lazy_pip).
298
- with("install", "-q", "--timeout=10", "--no-index", "fake_package")
293
+ expect(@provider).to receive(:lazy_pip).with("install", "-q", "--timeout=10", "--no-index", "fake_package")
299
294
  @provider.install
300
295
  end
301
296
  end
@@ -303,30 +298,29 @@ describe Puppet::Type.type(:package).provider(:pip) do
303
298
  context "uninstall" do
304
299
  it "should uninstall" do
305
300
  @resource[:name] = "fake_package"
306
- @provider.expects(:lazy_pip).
307
- with('uninstall', '-y', '-q', 'fake_package')
301
+ expect(@provider).to receive(:lazy_pip).with('uninstall', '-y', '-q', 'fake_package')
308
302
  @provider.uninstall
309
303
  end
310
304
  end
311
305
 
312
306
  context "update" do
313
307
  it "should just call install" do
314
- @provider.expects(:install).returns(nil)
308
+ expect(@provider).to receive(:install).and_return(nil)
315
309
  @provider.update
316
310
  end
317
311
  end
318
312
 
319
313
  context "pip_version" do
320
314
  it "should return nil on missing pip" do
321
- described_class.stubs(:pip_cmd).returns(nil)
315
+ allow(described_class).to receive(:pip_cmd).and_return(nil)
322
316
  expect(described_class.pip_version).to eq(nil)
323
317
  end
324
318
 
325
319
  it "should look up version if pip is present" do
326
- described_class.stubs(:pip_cmd).returns('/fake/bin/pip')
327
- p = stub("process")
328
- p.expects(:collect).yields('pip 8.0.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)')
329
- described_class.expects(:execpipe).with(['/fake/bin/pip', '--version']).yields(p)
320
+ allow(described_class).to receive(:pip_cmd).and_return('/fake/bin/pip')
321
+ p = double("process")
322
+ expect(p).to receive(:collect).and_yield('pip 8.0.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)')
323
+ expect(described_class).to receive(:execpipe).with(['/fake/bin/pip', '--version']).and_yield(p)
330
324
  expect(described_class.pip_version).to eq('8.0.2')
331
325
  end
332
326
  end
@@ -337,39 +331,44 @@ describe Puppet::Type.type(:package).provider(:pip) do
337
331
  end
338
332
 
339
333
  it "should succeed if pip is present" do
340
- @provider.stubs(:pip).returns(nil)
334
+ allow(@provider).to receive(:pip).and_return(nil)
341
335
  @provider.method(:lazy_pip).call "freeze"
342
336
  end
343
337
 
344
338
  osfamilies.each do |osfamily, pip_cmds|
345
339
  pip_cmds.each do |pip_cmd|
346
340
  it "should retry on #{osfamily} systems if #{pip_cmd} has not yet been found" do
347
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
348
- @provider.expects(:pip).twice.with('freeze').raises(NoMethodError).then.returns(nil)
341
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
342
+ times_called = 0
343
+ expect(@provider).to receive(:pip).twice.with('freeze') do
344
+ times_called += 1
345
+ raise NoMethodError if times_called == 1
346
+ nil
347
+ end
349
348
  pip_cmds.each do |cmd|
350
349
  unless cmd == pip_cmd
351
- @provider.expects(:which).with(cmd).returns(nil)
350
+ expect(@provider).to receive(:which).with(cmd).and_return(nil)
352
351
  end
353
352
  end
354
- @provider.expects(:which).with(pip_cmd).returns("/fake/bin/#{pip_cmd}")
353
+ expect(@provider).to receive(:which).with(pip_cmd).and_return("/fake/bin/#{pip_cmd}")
355
354
  @provider.method(:lazy_pip).call "freeze"
356
355
  end
357
356
  end
358
357
 
359
358
  it "should fail on #{osfamily} systems if #{pip_cmds.join(' and ')} are missing" do
360
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
361
- @provider.expects(:pip).with('freeze').raises(NoMethodError)
359
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
360
+ expect(@provider).to receive(:pip).with('freeze').and_raise(NoMethodError)
362
361
  pip_cmds.each do |pip_cmd|
363
- @provider.expects(:which).with(pip_cmd).returns(nil)
362
+ expect(@provider).to receive(:which).with(pip_cmd).and_return(nil)
364
363
  end
365
364
  expect { @provider.method(:lazy_pip).call("freeze") }.to raise_error(NoMethodError)
366
365
  end
367
366
 
368
367
  it "should output a useful error message on #{osfamily} systems if #{pip_cmds.join(' and ')} are missing" do
369
- Puppet::Util::Platform.stubs(:windows?).returns (osfamily == 'windows')
370
- @provider.expects(:pip).with('freeze').raises(NoMethodError)
368
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(osfamily == 'windows')
369
+ expect(@provider).to receive(:pip).with('freeze').and_raise(NoMethodError)
371
370
  pip_cmds.each do |pip_cmd|
372
- @provider.expects(:which).with(pip_cmd).returns(nil)
371
+ expect(@provider).to receive(:which).with(pip_cmd).and_return(nil)
373
372
  end
374
373
  expect { @provider.method(:lazy_pip).call("freeze") }.
375
374
  to raise_error(NoMethodError, "Could not locate command #{pip_cmds.join(' and ')}.")
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platform.jruby? do
@@ -16,7 +15,7 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
16
15
  end
17
16
 
18
17
  before :each do
19
- described_class.stubs(:command).with(:pkg).returns('/bin/pkg')
18
+ allow(described_class).to receive(:command).with(:pkg).and_return('/bin/pkg')
20
19
  end
21
20
 
22
21
  def self.it_should_respond_to(*actions)
@@ -32,20 +31,20 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
32
31
  context 'default' do
33
32
  [ 10 ].each do |ver|
34
33
  it "should not be the default provider on Solaris #{ver}" do
35
- Facter.stubs(:value).with(:osfamily).returns(:Solaris)
36
- Facter.stubs(:value).with(:kernelrelease).returns("5.#{ver}")
37
- Facter.stubs(:value).with(:operatingsystem).returns(:Solaris)
38
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("#{ver}")
34
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:Solaris)
35
+ allow(Facter).to receive(:value).with(:kernelrelease).and_return("5.#{ver}")
36
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:Solaris)
37
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
39
38
  expect(described_class).to_not be_default
40
39
  end
41
40
  end
42
41
 
43
42
  [ 11, 12 ].each do |ver|
44
43
  it "should be the default provider on Solaris #{ver}" do
45
- Facter.stubs(:value).with(:osfamily).returns(:Solaris)
46
- Facter.stubs(:value).with(:kernelrelease).returns("5.#{ver}")
47
- Facter.stubs(:value).with(:operatingsystem).returns(:Solaris)
48
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("#{ver}")
44
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:Solaris)
45
+ allow(Facter).to receive(:value).with(:kernelrelease).and_return("5.#{ver}")
46
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:Solaris)
47
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
49
48
  expect(described_class).to be_default
50
49
  end
51
50
  end
@@ -104,61 +103,62 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
104
103
 
105
104
  context ":latest" do
106
105
  before do
107
- described_class.expects(:pkg).with(:refresh)
106
+ expect(described_class).to receive(:pkg).with(:refresh)
108
107
  end
108
+
109
109
  it "should work correctly for ensure latest on solaris 11 (UFOXI) when there are no further packages to install" do
110
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.installed'))
110
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.installed')))
111
111
  expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
112
112
  end
113
113
 
114
114
  it "should work correctly for ensure latest on solaris 11 in the presence of a certificate expiration warning" do
115
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.certificate_warning'))
115
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.certificate_warning')))
116
116
  expect(provider.latest).to eq("1.0.6-0.175.0.0.0.2.537")
117
117
  end
118
118
 
119
119
  it "should work correctly for ensure latest on solaris 11(known UFOXI)" do
120
- Puppet::Util::Execution.expects(:execute)
120
+ expect(Puppet::Util::Execution).to receive(:execute)
121
121
  .with(['/bin/pkg', 'update', '-n', 'dummy'], {:failonfail => false, :combine => true})
122
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
123
- $CHILD_STATUS.stubs(:exitstatus).returns 0
122
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
123
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
124
124
 
125
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.known'))
125
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.known')))
126
126
  expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
127
127
  end
128
128
 
129
129
  it "should work correctly for ensure latest on solaris 11 (IFO)" do
130
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.ifo.installed'))
130
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.ifo.installed')))
131
131
  expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
132
132
  end
133
133
 
134
134
  it "should work correctly for ensure latest on solaris 11(known IFO)" do
135
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'update', '-n', 'dummy'], {:failonfail => false, :combine => true}).returns ''
136
- $CHILD_STATUS.stubs(:exitstatus).returns 0
135
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy'], {:failonfail => false, :combine => true}).and_return('')
136
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
137
137
 
138
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.ifo.known'))
138
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.ifo.known')))
139
139
  expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
140
140
  end
141
141
 
142
142
  it "issues a warning when the certificate has expired" do
143
143
  warning = "Certificate '/var/pkg/ssl/871b4ed0ade09926e6adf95f86bf17535f987684' for publisher 'solarisstudio', needed to access 'https://pkg.oracle.com/solarisstudio/release/', will expire in '29' days."
144
- Puppet.expects(:warning).with("pkg warning: #{warning}")
144
+ expect(Puppet).to receive(:warning).with("pkg warning: #{warning}")
145
145
 
146
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.certificate_warning'))
146
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.certificate_warning')))
147
147
  provider.latest
148
148
  end
149
149
 
150
150
  it "doesn't issue a warning when the certificate hasn't expired" do
151
- Puppet.expects(:warning).with(/pkg warning/).never
151
+ expect(Puppet).not_to receive(:warning).with(/pkg warning/)
152
152
 
153
- described_class.expects(:pkg).with(:list,'-Hvn','dummy').returns File.read(my_fixture('dummy_solaris11.installed'))
153
+ expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.installed')))
154
154
  provider.latest
155
155
  end
156
156
  end
157
157
 
158
158
  context ":instances" do
159
159
  it "should correctly parse lines on solaris 11" do
160
- described_class.expects(:pkg).with(:list, '-Hv').returns File.read(my_fixture('solaris11'))
161
- described_class.expects(:warning).never
160
+ expect(described_class).to receive(:pkg).with(:list, '-Hv').and_return(File.read(my_fixture('solaris11')))
161
+ expect(described_class).not_to receive(:warning)
162
162
  instances = described_class.instances.map { |p| {:name => p.get(:name), :ensure => p.get(:ensure) }}
163
163
  expect(instances.size).to eq(2)
164
164
  expect(instances[0]).to eq({:name => 'dummy/dummy', :ensure => '3.0,5.11-0.175.0.0.0.2.537:20131230T130000Z'})
@@ -167,14 +167,14 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
167
167
 
168
168
  it "should fail on incorrect lines" do
169
169
  fake_output = File.read(my_fixture('incomplete'))
170
- described_class.expects(:pkg).with(:list,'-Hv').returns fake_output
170
+ expect(described_class).to receive(:pkg).with(:list,'-Hv').and_return(fake_output)
171
171
  expect {
172
172
  described_class.instances
173
173
  }.to raise_error(ArgumentError, /Unknown line format pkg/)
174
174
  end
175
175
 
176
176
  it "should fail on unknown package status" do
177
- described_class.expects(:pkg).with(:list,'-Hv').returns File.read(my_fixture('unknown_status'))
177
+ expect(described_class).to receive(:pkg).with(:list,'-Hv').and_return(File.read(my_fixture('unknown_status')))
178
178
  expect {
179
179
  described_class.instances
180
180
  }.to raise_error(ArgumentError, /Unknown format pkg/)
@@ -184,10 +184,10 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
184
184
  context ":query" do
185
185
  context "on solaris 10" do
186
186
  it "should find the package" do
187
- Puppet::Util::Execution.expects(:execute)
187
+ expect(Puppet::Util::Execution).to receive(:execute)
188
188
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
189
- .returns(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris10')), 0))
190
- $CHILD_STATUS.stubs(:exitstatus).returns 0
189
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris10')), 0))
190
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
191
191
  expect(provider.query).to eq({
192
192
  :name => 'dummy',
193
193
  :ensure => '2.5.5,5.10-0.111:20131230T130000Z',
@@ -198,20 +198,20 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
198
198
  end
199
199
 
200
200
  it "should return :absent when the package is not found" do
201
- Puppet::Util::Execution.expects(:execute)
201
+ expect(Puppet::Util::Execution).to receive(:execute)
202
202
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
203
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
204
- $CHILD_STATUS.stubs(:exitstatus).returns 1
203
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
204
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
205
205
  expect(provider.query).to eq({:ensure => :absent, :name => "dummy"})
206
206
  end
207
207
  end
208
208
 
209
209
  context "on solaris 11" do
210
210
  it "should find the package" do
211
- $CHILD_STATUS.stubs(:exitstatus).returns 0
212
- Puppet::Util::Execution.expects(:execute)
211
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
212
+ expect(Puppet::Util::Execution).to receive(:execute)
213
213
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
214
- .returns(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris11.installed')), 0))
214
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris11.installed')), 0))
215
215
  expect(provider.query).to eq({
216
216
  :name => 'dummy',
217
217
  :status => 'installed',
@@ -222,20 +222,19 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
222
222
  end
223
223
 
224
224
  it "should return :absent when the package is not found" do
225
- Puppet::Util::Execution
226
- .expects(:execute)
225
+ expect(Puppet::Util::Execution).to receive(:execute)
227
226
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
228
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
229
- $CHILD_STATUS.stubs(:exitstatus).returns 1
227
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
228
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
230
229
  expect(provider.query).to eq({:ensure => :absent, :name => "dummy"})
231
230
  end
232
231
  end
233
232
 
234
233
  it "should return fail when the packageline cannot be parsed" do
235
- Puppet::Util::Execution.expects(:execute)
234
+ expect(Puppet::Util::Execution).to receive(:execute)
236
235
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
237
- .returns(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('incomplete')), 0))
238
- $CHILD_STATUS.stubs(:exitstatus).returns 0
236
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('incomplete')), 0))
237
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
239
238
  expect {
240
239
  provider.query
241
240
  }.to raise_error(ArgumentError, /Unknown line format/)
@@ -249,91 +248,92 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
249
248
  ].each do |hash|
250
249
  context "with :operatingsystemrelease #{hash[:osrel]}" do
251
250
  before :each do
252
- Facter.stubs(:value).with(:operatingsystemrelease).returns hash[:osrel]
251
+ allow(Facter).to receive(:value).with(:operatingsystemrelease).and_return(hash[:osrel])
253
252
  end
253
+
254
254
  it "should accept all licenses" do
255
- provider.expects(:query).with().returns({:ensure => :absent})
256
- Puppet::Util::Execution.expects(:execute)
255
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
256
+ expect(Puppet::Util::Execution).to receive(:execute)
257
257
  .with(['/bin/pkg', 'install', *hash[:flags], 'dummy'], {:failonfail => false, :combine => true})
258
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
259
- Puppet::Util::Execution.expects(:execute)
258
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
259
+ expect(Puppet::Util::Execution).to receive(:execute)
260
260
  .with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
261
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
262
- $CHILD_STATUS.stubs(:exitstatus).returns 0
261
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
262
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
263
263
  provider.install
264
264
  end
265
265
 
266
266
  it "should install specific version(1)" do
267
267
  # Should install also check if the version installed is the same version we are asked to install? or should we rely on puppet for that?
268
268
  resource[:ensure] = '0.0.7,5.11-0.151006:20131230T130000Z'
269
- $CHILD_STATUS.stubs(:exitstatus).returns 0
270
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
271
- Puppet::Util::Execution.expects(:execute)
269
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
270
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
271
+ expect(Puppet::Util::Execution).to receive(:execute)
272
272
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
273
- .returns(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.6,5.11-0.151006:20131230T130000Z installed -----', 0))
274
- Puppet::Util::Execution.expects(:execute)
273
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.6,5.11-0.151006:20131230T130000Z installed -----', 0))
274
+ expect(Puppet::Util::Execution).to receive(:execute)
275
275
  .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.7,5.11-0.151006:20131230T130000Z'], {:failonfail => false, :combine => true})
276
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
276
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
277
277
  provider.install
278
278
  end
279
279
 
280
280
  it "should install specific version(2)" do
281
281
  resource[:ensure] = '0.0.8'
282
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
283
- Puppet::Util::Execution.expects(:execute)
282
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
283
+ expect(Puppet::Util::Execution).to receive(:execute)
284
284
  .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
285
- .returns(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.7,5.11-0.151006:20131230T130000Z installed -----', 0))
286
- Puppet::Util::Execution.expects(:execute)
285
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.7,5.11-0.151006:20131230T130000Z installed -----', 0))
286
+ expect(Puppet::Util::Execution).to receive(:execute)
287
287
  .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.8'], {:failonfail => false, :combine => true})
288
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
289
- $CHILD_STATUS.stubs(:exitstatus).returns 0
288
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
289
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
290
290
  provider.install
291
291
  end
292
292
 
293
293
  it "should downgrade to specific version" do
294
294
  resource[:ensure] = '0.0.7'
295
- provider.expects(:query).with().returns({:ensure => '0.0.8,5.11-0.151106:20131230T130000Z'})
296
- $CHILD_STATUS.stubs(:exitstatus).returns 0
297
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
298
- Puppet::Util::Execution.expects(:execute)
295
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => '0.0.8,5.11-0.151106:20131230T130000Z'})
296
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
297
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
298
+ expect(Puppet::Util::Execution).to receive(:execute)
299
299
  .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.7'], {:failonfail => false, :combine => true})
300
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
300
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
301
301
  provider.install
302
302
  end
303
303
 
304
304
  it "should install any if version is not specified" do
305
305
  resource[:ensure] = :present
306
- provider.expects(:query).with().returns({:ensure => :absent})
307
- Puppet::Util::Execution.expects(:execute)
306
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
307
+ expect(Puppet::Util::Execution).to receive(:execute)
308
308
  .with(['/bin/pkg', 'install', *hash[:flags], 'dummy'], {:failonfail => false, :combine => true})
309
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
310
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
311
- $CHILD_STATUS.stubs(:exitstatus).returns 0
309
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
310
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
311
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
312
312
  provider.install
313
313
  end
314
314
 
315
315
  it "should install if no version was previously installed, and a specific version was requested" do
316
316
  resource[:ensure] = '0.0.7'
317
- provider.expects(:query).with().returns({:ensure => :absent})
318
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
319
- Puppet::Util::Execution.expects(:execute)
317
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
318
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
319
+ expect(Puppet::Util::Execution).to receive(:execute)
320
320
  .with(['/bin/pkg', 'install', *hash[:flags], 'dummy@0.0.7'], {:failonfail => false, :combine => true})
321
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
322
- $CHILD_STATUS.stubs(:exitstatus).returns 0
321
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
322
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
323
323
  provider.install
324
324
  end
325
325
 
326
326
  it "installs the latest matching version when given implicit version, and none are installed" do
327
327
  resource[:ensure] = '1.0-0.151006'
328
328
  is = :absent
329
- provider.expects(:query).with().returns({:ensure => is})
330
- described_class.expects(:pkg)
329
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => is})
330
+ expect(described_class).to receive(:pkg)
331
331
  .with(:list, '-Hvfa', 'dummy@1.0-0.151006')
332
- .returns(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
333
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
334
- provider.expects(:unhold).with()
335
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
336
- $CHILD_STATUS.stubs(:exitstatus).returns 0
332
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
333
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
334
+ expect(provider).to receive(:unhold).with(no_args)
335
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
336
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
337
337
  provider.insync?(is)
338
338
  provider.install
339
339
  end
@@ -341,12 +341,12 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
341
341
  it "updates to the latest matching version when given implicit version" do
342
342
  resource[:ensure] = '1.0-0.151006'
343
343
  is = '1.0,5.11-0.151006:20140219T191204Z'
344
- provider.expects(:query).with().returns({:ensure => is})
345
- described_class.expects(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').returns File.read(my_fixture('dummy_implicit_version'))
346
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
347
- provider.expects(:unhold).with()
348
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'update', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
349
- $CHILD_STATUS.stubs(:exitstatus).returns 0
344
+ expect(provider).to receive(:query).with(no_args).and_return({:ensure => is})
345
+ expect(described_class).to receive(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').and_return(File.read(my_fixture('dummy_implicit_version')))
346
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
347
+ expect(provider).to receive(:unhold).with(no_args)
348
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
349
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
350
350
  provider.insync?(is)
351
351
  provider.install
352
352
  end
@@ -354,23 +354,23 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
354
354
  it "issues a warning when an implicit version number is used, and in sync" do
355
355
  resource[:ensure] = '1.0-0.151006'
356
356
  is = '1.0,5.11-0.151006:20140220T084443Z'
357
- provider.expects(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
358
- described_class.expects(:pkg)
357
+ expect(provider).to receive(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
358
+ expect(described_class).to receive(:pkg)
359
359
  .with(:list, '-Hvfa', 'dummy@1.0-0.151006')
360
- .returns(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
361
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
362
- $CHILD_STATUS.stubs(:exitstatus).returns 4
360
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
361
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
362
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(4)
363
363
  provider.insync?(is)
364
364
  end
365
365
 
366
366
  it "issues a warning when choosing a version number for an implicit match" do
367
367
  resource[:ensure] = '1.0-0.151006'
368
368
  is = :absent
369
- provider.expects(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
370
- provider.expects(:warning).with("Selecting version '1.0,5.11-0.151006:20140220T084443Z' for implicit '1.0-0.151006'")
371
- described_class.expects(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').returns File.read(my_fixture('dummy_implicit_version'))
372
- Puppet::Util::Execution.expects(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
373
- $CHILD_STATUS.stubs(:exitstatus).returns 0
369
+ expect(provider).to receive(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
370
+ expect(provider).to receive(:warning).with("Selecting version '1.0,5.11-0.151006:20140220T084443Z' for implicit '1.0-0.151006'")
371
+ expect(described_class).to receive(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').and_return(File.read(my_fixture('dummy_implicit_version')))
372
+ expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
373
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
374
374
  provider.insync?(is)
375
375
  end
376
376
  end
@@ -379,17 +379,17 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
379
379
 
380
380
  context ":update" do
381
381
  it "should not raise error if not necessary" do
382
- provider.expects(:install).with(true).returns({:exit => 0})
382
+ expect(provider).to receive(:install).with(true).and_return({:exit => 0})
383
383
  provider.update
384
384
  end
385
385
 
386
386
  it "should not raise error if not necessary (2)" do
387
- provider.expects(:install).with(true).returns({:exit => 4})
387
+ expect(provider).to receive(:install).with(true).and_return({:exit => 4})
388
388
  provider.update
389
389
  end
390
390
 
391
391
  it "should raise error if necessary" do
392
- provider.expects(:install).with(true).returns({:exit => 1})
392
+ expect(provider).to receive(:install).with(true).and_return({:exit => 1})
393
393
  expect {
394
394
  provider.update
395
395
  }.to raise_error(Puppet::Error, /Unable to update/)
@@ -398,14 +398,14 @@ describe Puppet::Type.type(:package).provider(:pkg), unless: Puppet::Util::Platf
398
398
 
399
399
  context ":uninstall" do
400
400
  it "should support current pkg version" do
401
- described_class.expects(:pkg).with(:version).returns('630e1ffc7a19')
402
- described_class.expects(:pkg).with([:uninstall, resource[:name]])
401
+ expect(described_class).to receive(:pkg).with(:version).and_return('630e1ffc7a19')
402
+ expect(described_class).to receive(:pkg).with([:uninstall, resource[:name]])
403
403
  provider.uninstall
404
404
  end
405
405
 
406
406
  it "should support original pkg commands" do
407
- described_class.expects(:pkg).with(:version).returns('052adf36c3f4')
408
- described_class.expects(:pkg).with([:uninstall, '-r', resource[:name]])
407
+ expect(described_class).to receive(:pkg).with(:version).and_return('052adf36c3f4')
408
+ expect(described_class).to receive(:pkg).with([:uninstall, '-r', resource[:name]])
409
409
  provider.uninstall
410
410
  end
411
411
  end