puppet 6.4.0-x86-mingw32 → 6.4.1-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 (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  if Puppet::Util::Platform.windows?
@@ -12,7 +11,6 @@ describe "Puppet::Util::Windows::Security", :if => Puppet::Util::Platform.window
12
11
  include PuppetSpec::Files
13
12
 
14
13
  before :all do
15
-
16
14
  # necessary for localized name of guests
17
15
  guests_name = Puppet::Util::Windows::SID.sid_to_name('S-1-5-32-546')
18
16
  guests = Puppet::Util::Windows::ADSI::Group.new(guests_name)
@@ -99,7 +97,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet::Util::Platform.window
99
97
  describe "on a volume that doesn't support ACLs" do
100
98
  [:owner, :group, :mode].each do |p|
101
99
  it "should return nil #{p}" do
102
- winsec.stubs(:supports_acl?).returns false
100
+ allow(winsec).to receive(:supports_acl?).and_return(false)
103
101
 
104
102
  expect(winsec.send("get_#{p}", path)).to be_nil
105
103
  end
@@ -109,7 +107,7 @@ describe "Puppet::Util::Windows::Security", :if => Puppet::Util::Platform.window
109
107
  describe "on a volume that supports ACLs" do
110
108
  describe "for a normal user" do
111
109
  before :each do
112
- Puppet.features.stubs(:root?).returns(false)
110
+ allow(Puppet.features).to receive(:root?).and_return(false)
113
111
  end
114
112
 
115
113
  after :each do
@@ -1,28 +1,26 @@
1
- #! /usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe "Puppet::Util::Windows::User", :if => Puppet::Util::Platform.windows? do
6
4
  describe "2003 without UAC" do
7
5
  before :each do
8
- Puppet::Util::Windows::Process.stubs(:windows_major_version).returns(5)
9
- Puppet::Util::Windows::Process.stubs(:supports_elevated_security?).returns(false)
6
+ allow(Puppet::Util::Windows::Process).to receive(:windows_major_version).and_return(5)
7
+ allow(Puppet::Util::Windows::Process).to receive(:supports_elevated_security?).and_return(false)
10
8
  end
11
9
 
12
10
  it "should be an admin if user's token contains the Administrators SID" do
13
- Puppet::Util::Windows::User.expects(:check_token_membership).returns(true)
11
+ expect(Puppet::Util::Windows::User).to receive(:check_token_membership).and_return(true)
14
12
 
15
13
  expect(Puppet::Util::Windows::User).to be_admin
16
14
  end
17
15
 
18
16
  it "should not be an admin if user's token doesn't contain the Administrators SID" do
19
- Puppet::Util::Windows::User.expects(:check_token_membership).returns(false)
17
+ expect(Puppet::Util::Windows::User).to receive(:check_token_membership).and_return(false)
20
18
 
21
19
  expect(Puppet::Util::Windows::User).not_to be_admin
22
20
  end
23
21
 
24
22
  it "should raise an exception if we can't check token membership" do
25
- Puppet::Util::Windows::User.expects(:check_token_membership).raises(Puppet::Util::Windows::Error, "Access denied.")
23
+ expect(Puppet::Util::Windows::User).to receive(:check_token_membership).and_raise(Puppet::Util::Windows::Error, "Access denied.")
26
24
 
27
25
  expect { Puppet::Util::Windows::User.admin? }.to raise_error(Puppet::Util::Windows::Error, /Access denied./)
28
26
  end
@@ -30,29 +28,29 @@ describe "Puppet::Util::Windows::User", :if => Puppet::Util::Platform.windows? d
30
28
 
31
29
  context "2008 with UAC" do
32
30
  before :each do
33
- Puppet::Util::Windows::Process.stubs(:windows_major_version).returns(6)
34
- Puppet::Util::Windows::Process.stubs(:supports_elevated_security?).returns(true)
31
+ allow(Puppet::Util::Windows::Process).to receive(:windows_major_version).and_return(6)
32
+ allow(Puppet::Util::Windows::Process).to receive(:supports_elevated_security?).and_return(true)
35
33
  end
36
34
 
37
35
  describe "in local administrators group" do
38
36
  before :each do
39
- Puppet::Util::Windows::User.stubs(:check_token_membership).returns(true)
37
+ allow(Puppet::Util::Windows::User).to receive(:check_token_membership).and_return(true)
40
38
  end
41
39
 
42
40
  it "should be an admin if user is running with elevated privileges" do
43
- Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(true)
41
+ allow(Puppet::Util::Windows::Process).to receive(:elevated_security?).and_return(true)
44
42
 
45
43
  expect(Puppet::Util::Windows::User).to be_admin
46
44
  end
47
45
 
48
46
  it "should not be an admin if user is not running with elevated privileges" do
49
- Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(false)
47
+ allow(Puppet::Util::Windows::Process).to receive(:elevated_security?).and_return(false)
50
48
 
51
49
  expect(Puppet::Util::Windows::User).not_to be_admin
52
50
  end
53
51
 
54
52
  it "should raise an exception if the process fails to open the process token" do
55
- Puppet::Util::Windows::Process.stubs(:elevated_security?).raises(Puppet::Util::Windows::Error, "Access denied.")
53
+ allow(Puppet::Util::Windows::Process).to receive(:elevated_security?).and_raise(Puppet::Util::Windows::Error, "Access denied.")
56
54
 
57
55
  expect { Puppet::Util::Windows::User.admin? }.to raise_error(Puppet::Util::Windows::Error, /Access denied./)
58
56
  end
@@ -60,17 +58,17 @@ describe "Puppet::Util::Windows::User", :if => Puppet::Util::Platform.windows? d
60
58
 
61
59
  describe "not in local administrators group" do
62
60
  before :each do
63
- Puppet::Util::Windows::User.stubs(:check_token_membership).returns(false)
61
+ allow(Puppet::Util::Windows::User).to receive(:check_token_membership).and_return(false)
64
62
  end
65
63
 
66
64
  it "should not be an admin if user is running with elevated privileges" do
67
- Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(true)
65
+ allow(Puppet::Util::Windows::Process).to receive(:elevated_security?).and_return(true)
68
66
 
69
67
  expect(Puppet::Util::Windows::User).not_to be_admin
70
68
  end
71
69
 
72
70
  it "should not be an admin if user is not running with elevated privileges" do
73
- Puppet::Util::Windows::Process.stubs(:elevated_security?).returns(false)
71
+ allow(Puppet::Util::Windows::Process).to receive(:elevated_security?).and_return(false)
74
72
 
75
73
  expect(Puppet::Util::Windows::User).not_to be_admin
76
74
  end
@@ -133,25 +131,25 @@ describe "Puppet::Util::Windows::User", :if => Puppet::Util::Platform.windows? d
133
131
  context "with a correct password" do
134
132
  it "should return true even if account restrictions are in place " do
135
133
  error = Puppet::Util::Windows::Error.new('', Puppet::Util::Windows::User::ERROR_ACCOUNT_RESTRICTION)
136
- Puppet::Util::Windows::User.stubs(:logon_user).raises(error)
134
+ allow(Puppet::Util::Windows::User).to receive(:logon_user).and_raise(error)
137
135
  expect(Puppet::Util::Windows::User.password_is?(username, 'p@ssword')).to be(true)
138
136
  end
139
137
 
140
138
  it "should return true even for an account outside of logon hours" do
141
139
  error = Puppet::Util::Windows::Error.new('', Puppet::Util::Windows::User::ERROR_INVALID_LOGON_HOURS)
142
- Puppet::Util::Windows::User.stubs(:logon_user).raises(error)
140
+ allow(Puppet::Util::Windows::User).to receive(:logon_user).and_raise(error)
143
141
  expect(Puppet::Util::Windows::User.password_is?(username, 'p@ssword')).to be(true)
144
142
  end
145
143
 
146
144
  it "should return true even for an account not allowed to log into this workstation" do
147
145
  error = Puppet::Util::Windows::Error.new('', Puppet::Util::Windows::User::ERROR_INVALID_WORKSTATION)
148
- Puppet::Util::Windows::User.stubs(:logon_user).raises(error)
146
+ allow(Puppet::Util::Windows::User).to receive(:logon_user).and_raise(error)
149
147
  expect(Puppet::Util::Windows::User.password_is?(username, 'p@ssword')).to be(true)
150
148
  end
151
149
 
152
150
  it "should return true even for a disabled account" do
153
151
  error = Puppet::Util::Windows::Error.new('', Puppet::Util::Windows::User::ERROR_ACCOUNT_DISABLED)
154
- Puppet::Util::Windows::User.stubs(:logon_user).raises(error)
152
+ allow(Puppet::Util::Windows::User).to receive(:logon_user).and_raise(error)
155
153
  expect(Puppet::Util::Windows::User.password_is?(username, 'p@ssword')).to be(true)
156
154
  end
157
155
  end
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe Puppet::Util do
@@ -115,11 +113,11 @@ describe Puppet::Util do
115
113
  let (:filepath) { File.expand_path('C:\\' + rune_utf8 + '\\' + filename) }
116
114
 
117
115
  before :each do
118
- FileTest.stubs(:file?).returns false
119
- FileTest.stubs(:file?).with(filepath).returns true
116
+ allow(FileTest).to receive(:file?).and_return(false)
117
+ allow(FileTest).to receive(:file?).with(filepath).and_return(true)
120
118
 
121
- FileTest.stubs(:executable?).returns false
122
- FileTest.stubs(:executable?).with(filepath).returns true
119
+ allow(FileTest).to receive(:executable?).and_return(false)
120
+ allow(FileTest).to receive(:executable?).with(filepath).and_return(true)
123
121
  end
124
122
 
125
123
  it "should be able to use UTF8 characters in the path" do
@@ -129,5 +127,4 @@ describe Puppet::Util do
129
127
  end
130
128
  end
131
129
  end
132
-
133
130
  end
@@ -44,7 +44,7 @@ module PuppetSpec::Compiler
44
44
 
45
45
  def apply_with_error_check(manifest)
46
46
  apply_compiled_manifest(manifest) do |res|
47
- res.expects(:err).never
47
+ expect(res).not_to receive(:err)
48
48
  end
49
49
  end
50
50
 
@@ -9,7 +9,6 @@ module PuppetSpec::Files
9
9
  $global_tempfiles ||= []
10
10
  while path = $global_tempfiles.pop do
11
11
  begin
12
- Dir.unstub(:entries)
13
12
  FileUtils.rm_rf path, :secure => true
14
13
  rescue Errno::ENOENT
15
14
  # nothing to do
@@ -21,7 +21,7 @@ module PuppetSpec
21
21
 
22
22
  def mark_changed(path)
23
23
  app = Puppet::ModuleTool::Applications::Checksummer
24
- app.stubs(:run).with(path).returns(['README'])
24
+ allow(app).to receive(:run).with(path).and_return(['README'])
25
25
  end
26
26
 
27
27
  def graph_should_include(name, options)
@@ -1,4 +1,3 @@
1
-
2
1
  module PuppetSpec::Scope
3
2
  # Initialize a new scope suitable for testing.
4
3
  #
@@ -11,4 +10,4 @@ module PuppetSpec::Scope
11
10
  scope
12
11
  end
13
12
 
14
- end
13
+ end
@@ -5,7 +5,7 @@ shared_examples_for "all parsedfile providers" do |provider, *files|
5
5
 
6
6
  files.flatten.each do |file|
7
7
  it "should rewrite #{file} reasonably unchanged" do
8
- provider.stubs(:default_target).returns(file)
8
+ allow(provider).to receive(:default_target).and_return(file)
9
9
  provider.prefetch
10
10
 
11
11
  text = provider.to_file(provider.target_records(file))
@@ -1,11 +1,10 @@
1
- #! /usr/bin/env ruby
2
1
  shared_examples_for "Puppet::Indirector::FileServerTerminus" do
3
2
  # This only works if the shared behaviour is included before
4
3
  # the 'before' block in the including context.
5
4
  before do
6
5
  Puppet::FileServing::Configuration.instance_variable_set(:@configuration, nil)
7
- Puppet::FileSystem.stubs(:exist?).returns true
8
- Puppet::FileSystem.stubs(:exist?).with(Puppet[:fileserverconfig]).returns(true)
6
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
7
+ allow(Puppet::FileSystem).to receive(:exist?).with(Puppet[:fileserverconfig]).and_return(true)
9
8
 
10
9
  @path = Tempfile.new("file_server_testing")
11
10
  path = @path.path
@@ -19,20 +18,20 @@ shared_examples_for "Puppet::Indirector::FileServerTerminus" do
19
18
  @mount1 = Puppet::FileServing::Configuration::Mount::File.new("one")
20
19
  @mount1.path = @path
21
20
 
22
- @parser = stub 'parser', :changed? => false
23
- @parser.stubs(:parse).returns("one" => @mount1)
21
+ @parser = double('parser', :changed? => false)
22
+ allow(@parser).to receive(:parse).and_return("one" => @mount1)
24
23
 
25
- Puppet::FileServing::Configuration::Parser.stubs(:new).returns(@parser)
24
+ allow(Puppet::FileServing::Configuration::Parser).to receive(:new).and_return(@parser)
26
25
 
27
26
  # Stub out the modules terminus
28
- @modules = mock 'modules terminus'
27
+ @modules = double('modules terminus')
29
28
 
30
29
  @request = Puppet::Indirector::Request.new(:indirection, :method, "puppet://myhost/one/myfile", nil)
31
30
  end
32
31
 
33
32
  it "should use the file server configuration to find files" do
34
- @modules.stubs(:find).returns(nil)
35
- @terminus.indirection.stubs(:terminus).with(:modules).returns(@modules)
33
+ allow(@modules).to receive(:find).and_return(nil)
34
+ allow(@terminus.indirection).to receive(:terminus).with(:modules).and_return(@modules)
36
35
 
37
36
  expect(@terminus.find(@request)).to be_instance_of(@test_class)
38
37
  end
@@ -1,5 +1,3 @@
1
- #! /usr/bin/env ruby
2
-
3
1
  shared_examples_for "Puppet::FileServing::Files" do |indirection|
4
2
  %w[find search].each do |method|
5
3
  let(:request) { Puppet::Indirector::Request.new(indirection, method, 'foo', nil) }
@@ -8,7 +6,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
8
6
  it "should proxy to file terminus if the path is absolute" do
9
7
  request.key = make_absolute('/tmp/foo')
10
8
 
11
- described_class.indirection.terminus(:file).class.any_instance.expects(method).with(request)
9
+ expect_any_instance_of(described_class.indirection.terminus(:file).class).to receive(method).with(request)
12
10
 
13
11
  subject.send(method, request)
14
12
  end
@@ -16,7 +14,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
16
14
  it "should proxy to file terminus if the protocol is file" do
17
15
  request.protocol = 'file'
18
16
 
19
- described_class.indirection.terminus(:file).class.any_instance.expects(method).with(request)
17
+ expect_any_instance_of(described_class.indirection.terminus(:file).class).to receive(method).with(request)
20
18
 
21
19
  subject.send(method, request)
22
20
  end
@@ -34,7 +32,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
34
32
  it "should proxy to rest terminus if default_file_terminus is rest" do
35
33
  Puppet[:default_file_terminus] = "rest"
36
34
 
37
- described_class.indirection.terminus(:rest).class.any_instance.expects(method).with(request)
35
+ expect_any_instance_of(described_class.indirection.terminus(:rest).class).to receive(method).with(request)
38
36
 
39
37
  subject.send(method, request)
40
38
  end
@@ -42,7 +40,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
42
40
  it "should proxy to rest terminus if default_file_terminus is not rest" do
43
41
  Puppet[:default_file_terminus] = 'file_server'
44
42
 
45
- described_class.indirection.terminus(:rest).class.any_instance.expects(method).with(request)
43
+ expect_any_instance_of(described_class.indirection.terminus(:rest).class).to receive(method).with(request)
46
44
 
47
45
  subject.send(method, request)
48
46
  end
@@ -56,7 +54,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
56
54
  it "should proxy to file_server if default_file_terminus is 'file_server'" do
57
55
  Puppet[:default_file_terminus] = 'file_server'
58
56
 
59
- described_class.indirection.terminus(:file_server).class.any_instance.expects(method).with(request)
57
+ expect_any_instance_of(described_class.indirection.terminus(:file_server).class).to receive(method).with(request)
60
58
 
61
59
  subject.send(method, request)
62
60
  end
@@ -64,7 +62,7 @@ shared_examples_for "Puppet::FileServing::Files" do |indirection|
64
62
  it "should proxy to rest if default_file_terminus is 'rest'" do
65
63
  Puppet[:default_file_terminus] = "rest"
66
64
 
67
- described_class.indirection.terminus(:rest).class.any_instance.expects(method).with(request)
65
+ expect_any_instance_of(described_class.indirection.terminus(:rest).class).to receive(method).with(request)
68
66
 
69
67
  subject.send(method, request)
70
68
  end
@@ -1,5 +1,3 @@
1
- #! /usr/bin/env ruby
2
-
3
1
  shared_examples_for "a file_serving model" do
4
2
  include PuppetSpec::Files
5
3
 
@@ -9,7 +7,7 @@ shared_examples_for "a file_serving model" do
9
7
 
10
8
  before :each do
11
9
  # Never connect to the network, no matter what
12
- described_class.indirection.terminus(:rest).class.any_instance.stubs(:find)
10
+ allow_any_instance_of(described_class.indirection.terminus(:rest).class).to receive(:find)
13
11
  end
14
12
 
15
13
  describe "when running the apply application" do
@@ -24,7 +22,7 @@ shared_examples_for "a file_serving model" do
24
22
  "puppet://server/modules/foo/bar" => :rest,
25
23
  }.each do |key, terminus|
26
24
  it "should use the #{terminus} terminus when requesting #{key.inspect}" do
27
- described_class.indirection.terminus(terminus).class.any_instance.expects(:find)
25
+ expect_any_instance_of(described_class.indirection.terminus(terminus).class).to receive(:find)
28
26
 
29
27
  described_class.indirection.find(key)
30
28
  end
@@ -43,7 +41,7 @@ shared_examples_for "a file_serving model" do
43
41
  "puppet://server/modules/foo/bar" => :rest,
44
42
  }.each do |key, terminus|
45
43
  it "should use the #{terminus} terminus when requesting #{key.inspect}" do
46
- described_class.indirection.terminus(terminus).class.any_instance.expects(:find)
44
+ expect_any_instance_of(described_class.indirection.terminus(terminus).class).to receive(:find)
47
45
 
48
46
  described_class.indirection.find(key)
49
47
  end
@@ -32,7 +32,7 @@ shared_examples_for "Hiera indirection" do |test_klass, fixture_dir|
32
32
  end
33
33
 
34
34
  it "should raise an error if we don't have the hiera feature" do
35
- Puppet.features.expects(:hiera?).returns(false)
35
+ expect(Puppet.features).to receive(:hiera?).and_return(false)
36
36
  expect { test_klass.new }.to raise_error RuntimeError,
37
37
  "Hiera terminus not supported without hiera library"
38
38
  end
@@ -50,13 +50,13 @@ shared_examples_for "Hiera indirection" do |test_klass, fixture_dir|
50
50
  end
51
51
 
52
52
  it "should log a warning" do
53
- Puppet.expects(:warning).with(
53
+ expect(Puppet).to receive(:warning).with(
54
54
  "Config file #{path} not found, using Hiera defaults")
55
55
  test_klass.hiera_config
56
56
  end
57
57
 
58
58
  it "should only configure the logger and set it to puppet" do
59
- Puppet.expects(:warning).with(
59
+ expect(Puppet).to receive(:warning).with(
60
60
  "Config file #{path} not found, using Hiera defaults")
61
61
  expect(test_klass.hiera_config).to eq({ :logger => 'puppet' })
62
62
  end
@@ -64,7 +64,6 @@ shared_examples_for "Hiera indirection" do |test_klass, fixture_dir|
64
64
  end
65
65
 
66
66
  describe "the behavior of the find method", :if => Puppet.features.hiera? do
67
-
68
67
  let(:data_binder) { test_klass.new }
69
68
 
70
69
  it "should support looking up an integer" do
@@ -1,4 +1,3 @@
1
-
2
1
  shared_examples_for 'all iterative functions hash handling' do |func|
3
2
  it 'passes a hash entry as an array of the key and value' do
4
3
  catalog = compile_to_catalog(<<-MANIFEST)
@@ -10,8 +10,8 @@ shared_examples_for "A Memory Terminus" do
10
10
 
11
11
  it "should replace existing saved instances when a new instance with the same name is saved" do
12
12
  @searcher.save(@request)
13
- two = stub 'second', :name => @name
14
- trequest = stub 'request', :key => @name, :instance => two
13
+ two = double('second', :name => @name)
14
+ trequest = double('request', :key => @name, :instance => two)
15
15
  @searcher.save(trequest)
16
16
  expect(@searcher.find(@request)).to equal(two)
17
17
  end
@@ -1,6 +1,5 @@
1
1
  shared_examples "RHEL package provider" do |provider_class, provider_name|
2
2
  describe provider_name do
3
-
4
3
  let(:name) { 'mypackage' }
5
4
  let(:resource) do
6
5
  Puppet::Type.type(:package).new(
@@ -47,12 +46,13 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
47
46
  end
48
47
 
49
48
  before do
50
- provider_class.stubs(:command).with(:cmd).returns("/usr/bin/#{provider_name}")
51
- provider.stubs(:rpm).returns 'rpm'
52
- provider.stubs(:get).with(:version).returns '1'
53
- provider.stubs(:get).with(:release).returns '1'
54
- provider.stubs(:get).with(:arch).returns 'i386'
49
+ allow(provider_class).to receive(:command).with(:cmd).and_return("/usr/bin/#{provider_name}")
50
+ allow(provider).to receive(:rpm).and_return('rpm')
51
+ allow(provider).to receive(:get).with(:version).and_return('1')
52
+ allow(provider).to receive(:get).with(:release).and_return('1')
53
+ allow(provider).to receive(:get).with(:arch).and_return('i386')
55
54
  end
55
+
56
56
  describe 'provider features' do
57
57
  it { is_expected.to be_versionable }
58
58
  it { is_expected.to be_install_options }
@@ -66,154 +66,174 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
66
66
  end
67
67
  describe 'when installing' do
68
68
  before(:each) do
69
- Puppet::Util.stubs(:which).with("rpm").returns("/bin/rpm")
70
- provider.stubs(:which).with("rpm").returns("/bin/rpm")
71
- Puppet::Util::Execution.expects(:execute).with(["/bin/rpm", "--version"], {:combine => true, :custom_environment => {}, :failonfail => true}).returns(Puppet::Util::Execution::ProcessOutput.new("4.10.1\n", 0)).at_most_once
72
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns('6')
69
+ allow(Puppet::Util).to receive(:which).with("rpm").and_return("/bin/rpm")
70
+ allow(provider).to receive(:which).with("rpm").and_return("/bin/rpm")
71
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/bin/rpm", "--version"], {:combine => true, :custom_environment => {}, :failonfail => true}).and_return(Puppet::Util::Execution::ProcessOutput.new("4.10.1\n", 0)).at_most(:once)
72
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('6')
73
73
  end
74
+
74
75
  it "should call #{provider_name} install for :installed" do
75
- resource.stubs(:should).with(:ensure).returns :installed
76
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, 'mypackage'])
76
+ allow(resource).to receive(:should).with(:ensure).and_return(:installed)
77
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, 'mypackage'])
77
78
  provider.install
78
79
  end
79
80
 
80
81
  if provider_name == 'yum'
81
82
  context 'on el-5' do
82
83
  before(:each) do
83
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns('5')
84
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('5')
84
85
  end
86
+
85
87
  it "should catch #{provider_name} install failures when status code is wrong" do
86
- resource.stubs(:should).with(:ensure).returns :installed
87
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-e', error_level, '-y', :install, name]).returns(Puppet::Util::Execution::ProcessOutput.new("No package #{name} available.", 0))
88
+ allow(resource).to receive(:should).with(:ensure).and_return(:installed)
89
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-e', error_level, '-y', :install, name]).and_return(Puppet::Util::Execution::ProcessOutput.new("No package #{name} available.", 0))
88
90
  expect {
89
91
  provider.install
90
92
  }.to raise_error(Puppet::Error, "Could not find package #{name}")
91
93
  end
92
94
  end
93
95
  end
96
+
94
97
  it 'should use :install to update' do
95
- provider.expects(:install)
98
+ expect(provider).to receive(:install)
96
99
  provider.update
97
100
  end
101
+
98
102
  it 'should be able to set version' do
99
103
  version = '1.2'
100
104
  resource[:ensure] = version
101
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, "#{name}-#{version}"])
102
- provider.stubs(:query).returns :ensure => version
105
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, "#{name}-#{version}"])
106
+ allow(provider).to receive(:query).and_return(:ensure => version)
103
107
  provider.install
104
108
  end
105
109
  it 'should handle partial versions specified' do
106
110
  version = '1.3.4'
107
111
  resource[:ensure] = version
108
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, 'mypackage-1.3.4'])
109
- provider.stubs(:query).returns :ensure => '1.3.4-1.el6'
112
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, 'mypackage-1.3.4'])
113
+ allow(provider).to receive(:query).and_return(:ensure => '1.3.4-1.el6')
110
114
  provider.install
111
115
  end
116
+
112
117
  it 'should be able to downgrade' do
113
118
  current_version = '1.2'
114
119
  version = '1.0'
115
120
  resource[:ensure] = '1.0'
116
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :downgrade, "#{name}-#{version}"])
117
- provider.stubs(:query).returns(:ensure => current_version).then.returns(:ensure => version)
121
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :downgrade, "#{name}-#{version}"])
122
+ allow(provider).to receive(:query).and_return({:ensure => current_version}, {:ensure => version})
118
123
  provider.install
119
124
  end
125
+
120
126
  it 'should be able to upgrade' do
121
127
  current_version = '1.0'
122
128
  version = '1.2'
123
129
  resource[:ensure] = '1.2'
124
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', upgrade_command, "#{name}-#{version}"])
125
- provider.stubs(:query).returns(:ensure => current_version).then.returns(:ensure => version)
130
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', upgrade_command, "#{name}-#{version}"])
131
+ allow(provider).to receive(:query).and_return({:ensure => current_version}, {:ensure => version})
126
132
  provider.install
127
133
  end
134
+
128
135
  it 'should not run upgrade command if absent and ensure latest' do
129
136
  current_version = ''
130
137
  version = '1.2'
131
138
  resource[:ensure] = :latest
132
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, name])
133
- provider.stubs(:query).returns(:ensure => current_version).then.returns(:ensure => version)
139
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, name])
140
+ allow(provider).to receive(:query).and_return({:ensure => current_version}, {:ensure => version})
134
141
  provider.install
135
142
  end
143
+
136
144
  it 'should run upgrade command if present and ensure latest' do
137
145
  current_version = '1.0'
138
146
  version = '1.2'
139
147
  resource[:ensure] = :latest
140
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', upgrade_command, name])
141
- provider.stubs(:query).returns(:ensure => current_version).then.returns(:ensure => version)
148
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', upgrade_command, name])
149
+ allow(provider).to receive(:query).and_return({:ensure => current_version}, {:ensure => version})
142
150
  provider.install
143
151
  end
152
+
144
153
  it 'should accept install options' do
145
154
  resource[:ensure] = :installed
146
155
  resource[:install_options] = ['-t', {'-x' => 'expackage'}]
147
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', ['-t', '-x=expackage'], :install, name])
156
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', ['-t', '-x=expackage'], :install, name])
148
157
  provider.install
149
158
  end
159
+
150
160
  it 'allow virtual packages' do
151
161
  resource[:ensure] = :installed
152
162
  resource[:allow_virtual] = true
153
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :list, name]).never
154
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, name])
163
+ expect(Puppet::Util::Execution).not_to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :list, name])
164
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, name])
155
165
  provider.install
156
166
  end
167
+
157
168
  it 'moves architecture to end of version' do
158
169
  version = '1.2.3'
159
170
  arch_resource[:ensure] = version
160
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, "#{name}-#{version}.#{arch}"])
161
- arch_provider.stubs(:query).returns :ensure => version
171
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-d', '0', '-e', error_level, '-y', :install, "#{name}-#{version}.#{arch}"])
172
+ allow(arch_provider).to receive(:query).and_return(:ensure => version)
162
173
  arch_provider.install
163
174
  end
164
175
  end
176
+
165
177
  describe 'when uninstalling' do
166
178
  it 'should use erase to purge' do
167
- Puppet::Util::Execution.expects(:execute).with(["/usr/bin/#{provider_name}", '-y', :erase, name])
179
+ expect(Puppet::Util::Execution).to receive(:execute).with(["/usr/bin/#{provider_name}", '-y', :erase, name])
168
180
  provider.purge
169
181
  end
170
182
  end
183
+
171
184
  it 'should be versionable' do
172
185
  expect(provider).to be_versionable
173
186
  end
187
+
174
188
  describe 'determining the latest version available for a package' do
175
189
  it "passes the value of enablerepo install_options when querying" do
176
190
  resource[:install_options] = [
177
191
  {'--enablerepo' => 'contrib'},
178
192
  {'--enablerepo' => 'centosplus'},
179
193
  ]
180
- provider.stubs(:properties).returns({:ensure => '3.4.5'})
181
- described_class.expects(:latest_package_version).with(name, [], ['contrib', 'centosplus'], [])
194
+ allow(provider).to receive(:properties).and_return({:ensure => '3.4.5'})
195
+ expect(described_class).to receive(:latest_package_version).with(name, [], ['contrib', 'centosplus'], [])
182
196
  provider.latest
183
197
  end
198
+
184
199
  it "passes the value of disablerepo install_options when querying" do
185
200
  resource[:install_options] = [
186
201
  {'--disablerepo' => 'updates'},
187
202
  {'--disablerepo' => 'centosplus'},
188
203
  ]
189
- provider.stubs(:properties).returns({:ensure => '3.4.5'})
190
- described_class.expects(:latest_package_version).with(name, ['updates', 'centosplus'], [], [])
204
+ allow(provider).to receive(:properties).and_return({:ensure => '3.4.5'})
205
+ expect(described_class).to receive(:latest_package_version).with(name, ['updates', 'centosplus'], [], [])
191
206
  provider.latest
192
207
  end
208
+
193
209
  it "passes the value of disableexcludes install_options when querying" do
194
210
  resource[:install_options] = [
195
211
  {'--disableexcludes' => 'main'},
196
212
  {'--disableexcludes' => 'centosplus'},
197
213
  ]
198
- provider.stubs(:properties).returns({:ensure => '3.4.5'})
199
- described_class.expects(:latest_package_version).with(name, [], [], ['main', 'centosplus'])
214
+ allow(provider).to receive(:properties).and_return({:ensure => '3.4.5'})
215
+ expect(described_class).to receive(:latest_package_version).with(name, [], [], ['main', 'centosplus'])
200
216
  provider.latest
201
217
  end
218
+
202
219
  describe 'and a newer version is not available' do
203
220
  before :each do
204
- described_class.stubs(:latest_package_version).with(name, [], [], []).returns nil
221
+ allow(described_class).to receive(:latest_package_version).with(name, [], [], []).and_return(nil)
205
222
  end
223
+
206
224
  it 'raises an error the package is not installed' do
207
- provider.stubs(:properties).returns({:ensure => :absent})
225
+ allow(provider).to receive(:properties).and_return({:ensure => :absent})
208
226
  expect {
209
227
  provider.latest
210
228
  }.to raise_error(Puppet::DevError, 'Tried to get latest on a missing package')
211
229
  end
230
+
212
231
  it 'returns version of the currently installed package' do
213
- provider.stubs(:properties).returns({:ensure => '3.4.5'})
232
+ allow(provider).to receive(:properties).and_return({:ensure => '3.4.5'})
214
233
  expect(provider.latest).to eq('3.4.5')
215
234
  end
216
235
  end
236
+
217
237
  describe 'and a newer version is available' do
218
238
  let(:latest_version) do
219
239
  {
@@ -224,12 +244,14 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
224
244
  :arch => 'i686',
225
245
  }
226
246
  end
247
+
227
248
  it 'includes the epoch in the version string' do
228
- described_class.stubs(:latest_package_version).with(name, [], [], []).returns(latest_version)
249
+ allow(described_class).to receive(:latest_package_version).with(name, [], [], []).and_return(latest_version)
229
250
  expect(provider.latest).to eq('1:2.3.4-5')
230
251
  end
231
252
  end
232
253
  end
254
+
233
255
  describe "lazy loading of latest package versions" do
234
256
  before { described_class.clear }
235
257
  after { described_class.clear }
@@ -253,26 +275,30 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
253
275
  end
254
276
  let(:latest_versions) { {name => [mypackage_version]} }
255
277
  let(:enabled_versions) { {name => [mypackage_newerversion]} }
278
+
256
279
  it "returns the version hash if the package was found" do
257
- described_class.expects(:check_updates).with([], [], []).once.returns(latest_versions)
280
+ expect(described_class).to receive(:check_updates).with([], [], []).once.and_return(latest_versions)
258
281
  version = described_class.latest_package_version(name, [], [], [])
259
282
  expect(version).to eq(mypackage_version)
260
283
  end
284
+
261
285
  it "is nil if the package was not found in the query" do
262
- described_class.expects(:check_updates).with([], [], []).once.returns(latest_versions)
286
+ expect(described_class).to receive(:check_updates).with([], [], []).once.and_return(latest_versions)
263
287
  version = described_class.latest_package_version('nopackage', [], [], [])
264
288
  expect(version).to be_nil
265
289
  end
290
+
266
291
  it "caches the package list and reuses that for subsequent queries" do
267
- described_class.expects(:check_updates).with([], [], []).once.returns(latest_versions)
292
+ expect(described_class).to receive(:check_updates).with([], [], []).once.and_return(latest_versions)
268
293
  2.times {
269
294
  version = described_class.latest_package_version(name, [], [], [])
270
295
  expect(version).to eq mypackage_version
271
296
  }
272
297
  end
298
+
273
299
  it "caches separate lists for each combination of 'disablerepo' and 'enablerepo' and 'disableexcludes'" do
274
- described_class.expects(:check_updates).with([], [], []).once.returns(latest_versions)
275
- described_class.expects(:check_updates).with(['disabled'], ['enabled'], ['disableexcludes']).once.returns(enabled_versions)
300
+ expect(described_class).to receive(:check_updates).with([], [], []).once.and_return(latest_versions)
301
+ expect(described_class).to receive(:check_updates).with(['disabled'], ['enabled'], ['disableexcludes']).once.and_return(enabled_versions)
276
302
  2.times {
277
303
  version = described_class.latest_package_version(name, [], [], [])
278
304
  expect(version).to eq mypackage_version
@@ -283,53 +309,67 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
283
309
  }
284
310
  end
285
311
  end
312
+
286
313
  describe "executing #{provider_name} check-update" do
287
314
  it "passes repos to enable to '#{provider_name} check-update'" do
288
- Puppet::Util::Execution.expects(:execute).with do |args, *rest|
289
- expect(args).to eq %W[/usr/bin/#{provider_name} check-update --enablerepo=updates --enablerepo=centosplus]
290
- end.returns(stub(:exitstatus => 0))
315
+ expect(Puppet::Util::Execution).to receive(:execute).with(
316
+ %W[/usr/bin/#{provider_name} check-update --enablerepo=updates --enablerepo=centosplus],
317
+ any_args
318
+ ).and_return(double(:exitstatus => 0))
291
319
  described_class.check_updates([], %W[updates centosplus], [])
292
320
  end
321
+
293
322
  it "passes repos to disable to '#{provider_name} check-update'" do
294
- Puppet::Util::Execution.expects(:execute).with do |args, *rest|
295
- expect(args).to eq %W[/usr/bin/#{provider_name} check-update --disablerepo=updates --disablerepo=centosplus]
296
- end.returns(stub(:exitstatus => 0))
323
+ expect(Puppet::Util::Execution).to receive(:execute).with(
324
+ %W[/usr/bin/#{provider_name} check-update --disablerepo=updates --disablerepo=centosplus],
325
+ any_args
326
+ ).and_return(double(:exitstatus => 0))
297
327
  described_class.check_updates(%W[updates centosplus], [], [])
298
328
  end
329
+
299
330
  it "passes a combination of repos to enable and disable to '#{provider_name} check-update'" do
300
- Puppet::Util::Execution.expects(:execute).with do |args, *rest|
301
- expect(args).to eq %W[/usr/bin/#{provider_name} check-update --disablerepo=updates --disablerepo=centosplus --enablerepo=os --enablerepo=contrib ]
302
- end.returns(stub(:exitstatus => 0))
331
+ expect(Puppet::Util::Execution).to receive(:execute).with(
332
+ %W[/usr/bin/#{provider_name} check-update --disablerepo=updates --disablerepo=centosplus --enablerepo=os --enablerepo=contrib ],
333
+ any_args
334
+ ).and_return(double(:exitstatus => 0))
303
335
  described_class.check_updates(%W[updates centosplus], %W[os contrib], [])
304
336
  end
337
+
305
338
  it "passes disableexcludes to '#{provider_name} check-update'" do
306
- Puppet::Util::Execution.expects(:execute).with do |args, *rest|
307
- expect(args).to eq %W[/usr/bin/#{provider_name} check-update --disableexcludes=main --disableexcludes=centosplus]
308
- end.returns(stub(:exitstatus => 0))
339
+ expect(Puppet::Util::Execution).to receive(:execute).with(
340
+ %W[/usr/bin/#{provider_name} check-update --disableexcludes=main --disableexcludes=centosplus],
341
+ any_args
342
+ ).and_return(double(:exitstatus => 0))
309
343
  described_class.check_updates([], [], %W[main centosplus])
310
344
  end
345
+
311
346
  it "passes all options to '#{provider_name} check-update'" do
312
- Puppet::Util::Execution.expects(:execute).with do |args, *rest|
313
- expect(args).to eq %W[/usr/bin/#{provider_name} check-update --disablerepo=a --disablerepo=b --enablerepo=c --enablerepo=d --disableexcludes=e --disableexcludes=f]
314
- end.returns(stub(:exitstatus => 0))
347
+ expect(Puppet::Util::Execution).to receive(:execute).with(
348
+ %W[/usr/bin/#{provider_name} check-update --disablerepo=a --disablerepo=b --enablerepo=c --enablerepo=d --disableexcludes=e --disableexcludes=f],
349
+ any_args
350
+ ).and_return(double(:exitstatus => 0))
315
351
  described_class.check_updates(%W[a b], %W[c d], %W[e f])
316
352
  end
353
+
317
354
  it "returns an empty hash if '#{provider_name} check-update' returned 0" do
318
- Puppet::Util::Execution.expects(:execute).returns(stub :exitstatus => 0)
355
+ expect(Puppet::Util::Execution).to receive(:execute).and_return(double(:exitstatus => 0))
319
356
  expect(described_class.check_updates([], [], [])).to be_empty
320
357
  end
358
+
321
359
  it "returns a populated hash if '#{provider_name} check-update returned 100'" do
322
- output = stub(:exitstatus => 100)
323
- Puppet::Util::Execution.expects(:execute).returns(output)
324
- described_class.expects(:parse_updates).with(output).returns({:has => :updates})
360
+ output = double(:exitstatus => 100)
361
+ expect(Puppet::Util::Execution).to receive(:execute).and_return(output)
362
+ expect(described_class).to receive(:parse_updates).with(output).and_return({:has => :updates})
325
363
  expect(described_class.check_updates([], [], [])).to eq({:has => :updates})
326
364
  end
365
+
327
366
  it "returns an empty hash if '#{provider_name} check-update' returned an exit code that was not 0 or 100" do
328
- Puppet::Util::Execution.expects(:execute).returns(stub(:exitstatus => 1))
329
- described_class.expects(:warning).with("Could not check for updates, \'/usr/bin/#{provider_name} check-update\' exited with 1")
367
+ expect(Puppet::Util::Execution).to receive(:execute).and_return(double(:exitstatus => 1))
368
+ expect(described_class).to receive(:warning).with("Could not check for updates, \'/usr/bin/#{provider_name} check-update\' exited with 1")
330
369
  expect(described_class.check_updates([], [], [])).to eq({})
331
370
  end
332
371
  end
372
+
333
373
  describe "parsing a line from #{provider_name} check-update" do
334
374
  it "splits up the package name and architecture fields" do
335
375
  checkupdate = %W[curl.i686 7.32.0-10.fc20]
@@ -337,6 +377,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
337
377
  expect(parsed[:name]).to eq 'curl'
338
378
  expect(parsed[:arch]).to eq 'i686'
339
379
  end
380
+
340
381
  it "splits up the epoch, version, and release fields" do
341
382
  checkupdate = %W[dhclient.i686 12:4.1.1-38.P1.el6.centos]
342
383
  parsed = described_class.update_to_hash(*checkupdate)
@@ -344,6 +385,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
344
385
  expect(parsed[:version]).to eq '4.1.1'
345
386
  expect(parsed[:release]).to eq '38.P1.el6.centos'
346
387
  end
388
+
347
389
  it "sets the epoch to 0 when an epoch is not specified" do
348
390
  checkupdate = %W[curl.i686 7.32.0-10.fc20]
349
391
  parsed = described_class.update_to_hash(*checkupdate)