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

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +7 -11
  4. data/lib/puppet/application/device.rb +97 -82
  5. data/lib/puppet/application/filebucket.rb +4 -0
  6. data/lib/puppet/application/ssl.rb +2 -2
  7. data/lib/puppet/configurer.rb +5 -4
  8. data/lib/puppet/defaults.rb +33 -11
  9. data/lib/puppet/indirector/request.rb +28 -15
  10. data/lib/puppet/ssl.rb +1 -1
  11. data/lib/puppet/ssl/certificate.rb +1 -1
  12. data/lib/puppet/ssl/error.rb +1 -1
  13. data/lib/puppet/ssl/host.rb +0 -47
  14. data/lib/puppet/ssl/ssl_provider.rb +2 -2
  15. data/lib/puppet/ssl/state_machine.rb +16 -17
  16. data/lib/puppet/ssl/validator/default_validator.rb +4 -4
  17. data/lib/puppet/ssl/verifier.rb +1 -1
  18. data/lib/puppet/transaction/event_manager.rb +1 -5
  19. data/lib/puppet/util/connection.rb +15 -8
  20. data/lib/puppet/util/monkey_patches.rb +20 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/puppet.pot +135 -68
  23. data/man/man5/puppet.conf.5 +9 -9
  24. data/man/man8/puppet-agent.8 +1 -1
  25. data/man/man8/puppet-apply.8 +1 -1
  26. data/man/man8/puppet-catalog.8 +1 -1
  27. data/man/man8/puppet-config.8 +1 -1
  28. data/man/man8/puppet-describe.8 +1 -1
  29. data/man/man8/puppet-device.8 +1 -1
  30. data/man/man8/puppet-doc.8 +1 -1
  31. data/man/man8/puppet-epp.8 +1 -1
  32. data/man/man8/puppet-facts.8 +1 -1
  33. data/man/man8/puppet-filebucket.8 +1 -1
  34. data/man/man8/puppet-generate.8 +1 -1
  35. data/man/man8/puppet-help.8 +1 -1
  36. data/man/man8/puppet-key.8 +1 -1
  37. data/man/man8/puppet-lookup.8 +1 -1
  38. data/man/man8/puppet-man.8 +1 -1
  39. data/man/man8/puppet-module.8 +1 -1
  40. data/man/man8/puppet-node.8 +1 -1
  41. data/man/man8/puppet-parser.8 +1 -1
  42. data/man/man8/puppet-plugin.8 +1 -1
  43. data/man/man8/puppet-report.8 +1 -1
  44. data/man/man8/puppet-resource.8 +1 -1
  45. data/man/man8/puppet-script.8 +1 -1
  46. data/man/man8/puppet-ssl.8 +1 -1
  47. data/man/man8/puppet-status.8 +1 -1
  48. data/man/man8/puppet.8 +2 -2
  49. data/spec/integration/agent/logging_spec.rb +5 -7
  50. data/spec/integration/application/apply_spec.rb +18 -16
  51. data/spec/integration/application/doc_spec.rb +1 -2
  52. data/spec/integration/application/lookup_spec.rb +5 -5
  53. data/spec/integration/configurer_spec.rb +5 -6
  54. data/spec/integration/defaults_spec.rb +5 -6
  55. data/spec/integration/directory_environments_spec.rb +1 -1
  56. data/spec/integration/faces/config_spec.rb +3 -4
  57. data/spec/integration/faces/documentation_spec.rb +0 -1
  58. data/spec/integration/faces/plugin_spec.rb +1 -1
  59. data/spec/integration/file_bucket/file_spec.rb +2 -4
  60. data/spec/integration/file_serving/content_spec.rb +0 -1
  61. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  62. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  63. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  64. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  65. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  66. data/spec/integration/indirector/facts/facter_spec.rb +4 -5
  67. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  68. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  69. data/spec/integration/network/authconfig_spec.rb +23 -24
  70. data/spec/integration/network/formats_spec.rb +0 -1
  71. data/spec/integration/network/http_pool_spec.rb +3 -3
  72. data/spec/integration/node/environment_spec.rb +0 -1
  73. data/spec/integration/node/facts_spec.rb +9 -10
  74. data/spec/integration/node_spec.rb +6 -7
  75. data/spec/integration/parser/catalog_spec.rb +1 -5
  76. data/spec/integration/parser/collection_spec.rb +1 -2
  77. data/spec/integration/parser/compiler_spec.rb +6 -6
  78. data/spec/integration/parser/scope_spec.rb +1 -1
  79. data/spec/integration/parser/undef_param_spec.rb +1 -1
  80. data/spec/integration/provider/service/init_spec.rb +4 -5
  81. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  82. data/spec/integration/provider/service/windows_spec.rb +1 -2
  83. data/spec/integration/reference/providers_spec.rb +1 -2
  84. data/spec/integration/reports_spec.rb +1 -2
  85. data/spec/integration/resource/catalog_spec.rb +14 -17
  86. data/spec/integration/resource/type_collection_spec.rb +4 -5
  87. data/spec/integration/rest/client_spec.rb +1 -1
  88. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  89. data/spec/integration/ssl/host_spec.rb +1 -2
  90. data/spec/integration/ssl/key_spec.rb +0 -1
  91. data/spec/integration/test/test_helper_spec.rb +0 -1
  92. data/spec/integration/transaction/report_spec.rb +6 -11
  93. data/spec/integration/transaction_spec.rb +18 -19
  94. data/spec/integration/type/exec_spec.rb +0 -1
  95. data/spec/integration/type/file_spec.rb +13 -14
  96. data/spec/integration/type/package_spec.rb +19 -23
  97. data/spec/integration/type/tidy_spec.rb +1 -2
  98. data/spec/integration/type_spec.rb +0 -1
  99. data/spec/integration/util/autoload_spec.rb +1 -2
  100. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  101. data/spec/integration/util/settings_spec.rb +0 -1
  102. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  103. data/spec/integration/util/windows/principal_spec.rb +0 -1
  104. data/spec/integration/util/windows/process_spec.rb +4 -6
  105. data/spec/integration/util/windows/registry_spec.rb +41 -51
  106. data/spec/integration/util/windows/security_spec.rb +2 -4
  107. data/spec/integration/util/windows/user_spec.rb +18 -20
  108. data/spec/integration/util_spec.rb +4 -7
  109. data/spec/lib/puppet_spec/compiler.rb +1 -1
  110. data/spec/lib/puppet_spec/files.rb +0 -1
  111. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  112. data/spec/lib/puppet_spec/scope.rb +1 -2
  113. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  114. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  115. data/spec/shared_behaviours/file_serving.rb +6 -8
  116. data/spec/shared_behaviours/file_serving_model.rb +3 -5
  117. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  118. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  119. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  120. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  121. data/spec/spec_helper.rb +10 -1
  122. data/spec/unit/agent/disabler_spec.rb +4 -5
  123. data/spec/unit/agent/locker_spec.rb +12 -13
  124. data/spec/unit/agent_spec.rb +80 -85
  125. data/spec/unit/application/agent_spec.rb +88 -94
  126. data/spec/unit/application/apply_spec.rb +82 -83
  127. data/spec/unit/application/config_spec.rb +0 -1
  128. data/spec/unit/application/describe_spec.rb +6 -7
  129. data/spec/unit/application/device_spec.rb +379 -384
  130. data/spec/unit/application/doc_spec.rb +44 -46
  131. data/spec/unit/application/face_base_spec.rb +61 -62
  132. data/spec/unit/application/facts_spec.rb +3 -4
  133. data/spec/unit/application/filebucket_spec.rb +66 -74
  134. data/spec/unit/application/indirection_base_spec.rb +8 -6
  135. data/spec/unit/application/lookup_spec.rb +26 -26
  136. data/spec/unit/application/resource_spec.rb +42 -48
  137. data/spec/unit/application/ssl_spec.rb +9 -9
  138. data/spec/unit/application_spec.rb +82 -92
  139. data/spec/unit/capability_spec.rb +6 -6
  140. data/spec/unit/certificate_factory_spec.rb +3 -5
  141. data/spec/unit/configurer/downloader_spec.rb +20 -21
  142. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  143. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  144. data/spec/unit/configurer_spec.rb +189 -192
  145. data/spec/unit/confine/exists_spec.rb +17 -15
  146. data/spec/unit/confine/false_spec.rb +5 -6
  147. data/spec/unit/confine/feature_spec.rb +7 -5
  148. data/spec/unit/confine/true_spec.rb +5 -6
  149. data/spec/unit/confine/variable_spec.rb +14 -15
  150. data/spec/unit/confine_collection_spec.rb +28 -29
  151. data/spec/unit/confine_spec.rb +13 -14
  152. data/spec/unit/confiner_spec.rb +10 -11
  153. data/spec/unit/context/trusted_information_spec.rb +1 -1
  154. data/spec/unit/daemon_spec.rb +35 -36
  155. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  156. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  157. data/spec/unit/datatypes_spec.rb +3 -4
  158. data/spec/unit/defaults_spec.rb +18 -13
  159. data/spec/unit/environments_spec.rb +7 -7
  160. data/spec/unit/etc_spec.rb +30 -32
  161. data/spec/unit/external/pson_spec.rb +0 -1
  162. data/spec/unit/face/catalog_spec.rb +0 -1
  163. data/spec/unit/face/config_spec.rb +31 -35
  164. data/spec/unit/face/epp_face_spec.rb +3 -4
  165. data/spec/unit/face/facts_spec.rb +5 -6
  166. data/spec/unit/face/generate_spec.rb +4 -5
  167. data/spec/unit/face/help_spec.rb +7 -8
  168. data/spec/unit/face/key_spec.rb +0 -1
  169. data/spec/unit/face/man_spec.rb +1 -2
  170. data/spec/unit/face/module/install_spec.rb +3 -5
  171. data/spec/unit/face/module/list_spec.rb +2 -12
  172. data/spec/unit/face/module/search_spec.rb +11 -9
  173. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  174. data/spec/unit/face/node_spec.rb +23 -24
  175. data/spec/unit/face/parser_spec.rb +3 -3
  176. data/spec/unit/face/plugin_spec.rb +36 -9
  177. data/spec/unit/face/status_spec.rb +0 -1
  178. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  179. data/spec/unit/file_bucket/file_spec.rb +0 -2
  180. data/spec/unit/file_serving/base_spec.rb +14 -15
  181. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  182. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  183. data/spec/unit/file_serving/content_spec.rb +10 -11
  184. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  185. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  186. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  187. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  188. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  189. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  190. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  191. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  192. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  193. data/spec/unit/file_serving/mount_spec.rb +0 -1
  194. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  195. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  196. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  197. data/spec/unit/file_system_spec.rb +4 -4
  198. data/spec/unit/forge/errors_spec.rb +1 -1
  199. data/spec/unit/forge/forge_spec.rb +13 -14
  200. data/spec/unit/forge/module_release_spec.rb +18 -18
  201. data/spec/unit/forge/repository_spec.rb +29 -30
  202. data/spec/unit/forge_spec.rb +15 -11
  203. data/spec/unit/functions/binary_file_spec.rb +3 -3
  204. data/spec/unit/functions/contain_spec.rb +0 -2
  205. data/spec/unit/functions/defined_spec.rb +0 -1
  206. data/spec/unit/functions/epp_spec.rb +2 -2
  207. data/spec/unit/functions/find_file_spec.rb +7 -7
  208. data/spec/unit/functions/include_spec.rb +0 -4
  209. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  210. data/spec/unit/functions/lookup_spec.rb +1 -2
  211. data/spec/unit/functions/module_directory_spec.rb +12 -12
  212. data/spec/unit/functions/require_spec.rb +0 -3
  213. data/spec/unit/functions/shared.rb +5 -8
  214. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  215. data/spec/unit/functions4_spec.rb +9 -10
  216. data/spec/unit/gettext/config_spec.rb +4 -4
  217. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  218. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  219. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  220. data/spec/unit/graph/simple_graph_spec.rb +9 -10
  221. data/spec/unit/hiera_puppet_spec.rb +20 -20
  222. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  223. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  224. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  225. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  226. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  227. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  228. data/spec/unit/indirector/certificate/file_spec.rb +0 -1
  229. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  230. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  231. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  232. data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
  233. data/spec/unit/indirector/envelope_spec.rb +1 -2
  234. data/spec/unit/indirector/exec_spec.rb +4 -5
  235. data/spec/unit/indirector/face_spec.rb +9 -9
  236. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  237. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  238. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  239. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  242. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  243. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  244. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  245. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  246. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  247. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  248. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  249. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  250. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  251. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  252. data/spec/unit/indirector/file_server_spec.rb +87 -87
  253. data/spec/unit/indirector/indirection_spec.rb +242 -226
  254. data/spec/unit/indirector/json_spec.rb +7 -9
  255. data/spec/unit/indirector/key/file_spec.rb +21 -22
  256. data/spec/unit/indirector/memory_spec.rb +6 -7
  257. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  258. data/spec/unit/indirector/node/exec_spec.rb +2 -3
  259. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  260. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  261. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  262. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  263. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  265. data/spec/unit/indirector/none_spec.rb +5 -5
  266. data/spec/unit/indirector/plain_spec.rb +7 -8
  267. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  268. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  269. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  270. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  271. data/spec/unit/indirector/request_spec.rb +11 -12
  272. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  273. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  274. data/spec/unit/indirector/rest_spec.rb +113 -110
  275. data/spec/unit/indirector/ssl_file_spec.rb +64 -65
  276. data/spec/unit/indirector/status/local_spec.rb +0 -1
  277. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  278. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  279. data/spec/unit/indirector/terminus_spec.rb +27 -27
  280. data/spec/unit/indirector/yaml_spec.rb +5 -6
  281. data/spec/unit/indirector_spec.rb +1 -2
  282. data/spec/unit/info_service_spec.rb +1 -1
  283. data/spec/unit/interface/action_builder_spec.rb +0 -1
  284. data/spec/unit/interface/action_manager_spec.rb +0 -1
  285. data/spec/unit/interface/action_spec.rb +2 -3
  286. data/spec/unit/interface/documentation_spec.rb +0 -1
  287. data/spec/unit/interface/face_collection_spec.rb +19 -12
  288. data/spec/unit/interface_spec.rb +3 -3
  289. data/spec/unit/man_spec.rb +3 -4
  290. data/spec/unit/module_spec.rb +46 -51
  291. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  292. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  293. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  294. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  295. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  296. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  297. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  298. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  299. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  300. data/spec/unit/module_tool/tar_spec.rb +12 -13
  301. data/spec/unit/module_tool_spec.rb +7 -12
  302. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  303. data/spec/unit/network/authconfig_spec.rb +17 -18
  304. data/spec/unit/network/authorization_spec.rb +4 -5
  305. data/spec/unit/network/authstore_spec.rb +0 -1
  306. data/spec/unit/network/format_handler_spec.rb +0 -1
  307. data/spec/unit/network/format_spec.rb +9 -10
  308. data/spec/unit/network/format_support_spec.rb +28 -29
  309. data/spec/unit/network/formats_spec.rb +4 -5
  310. data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
  311. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  312. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  313. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  314. data/spec/unit/network/http/api_spec.rb +0 -2
  315. data/spec/unit/network/http/compression_spec.rb +21 -22
  316. data/spec/unit/network/http/connection_spec.rb +35 -35
  317. data/spec/unit/network/http/factory_spec.rb +5 -6
  318. data/spec/unit/network/http/handler_spec.rb +9 -18
  319. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  320. data/spec/unit/network/http/pool_spec.rb +33 -34
  321. data/spec/unit/network/http/request_spec.rb +0 -2
  322. data/spec/unit/network/http/response_spec.rb +11 -13
  323. data/spec/unit/network/http/route_spec.rb +0 -1
  324. data/spec/unit/network/http/session_spec.rb +2 -3
  325. data/spec/unit/network/http/site_spec.rb +0 -1
  326. data/spec/unit/network/http_pool_spec.rb +19 -10
  327. data/spec/unit/network/http_spec.rb +0 -1
  328. data/spec/unit/network/resolver_spec.rb +25 -26
  329. data/spec/unit/network/rights_spec.rb +52 -53
  330. data/spec/unit/node/environment_spec.rb +14 -15
  331. data/spec/unit/node/facts_spec.rb +5 -7
  332. data/spec/unit/node_spec.rb +4 -10
  333. data/spec/unit/other/selinux_spec.rb +0 -1
  334. data/spec/unit/parameter/boolean_spec.rb +1 -2
  335. data/spec/unit/parameter/package_options_spec.rb +1 -2
  336. data/spec/unit/parameter/path_spec.rb +0 -1
  337. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  338. data/spec/unit/parameter/value_spec.rb +0 -1
  339. data/spec/unit/parameter_spec.rb +9 -9
  340. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  341. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  342. data/spec/unit/parser/compiler_spec.rb +84 -96
  343. data/spec/unit/parser/environment_compiler_spec.rb +7 -8
  344. data/spec/unit/parser/files_spec.rb +0 -1
  345. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  346. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  347. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  348. data/spec/unit/parser/functions/file_spec.rb +13 -14
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  350. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  351. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  352. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  353. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  354. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  355. data/spec/unit/parser/functions/split_spec.rb +0 -1
  356. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  357. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  358. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  359. data/spec/unit/parser/functions/template_spec.rb +13 -13
  360. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  361. data/spec/unit/parser/functions_spec.rb +6 -7
  362. data/spec/unit/parser/relationship_spec.rb +0 -1
  363. data/spec/unit/parser/resource_spec.rb +42 -42
  364. data/spec/unit/parser/scope_spec.rb +39 -35
  365. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  366. data/spec/unit/parser/type_loader_spec.rb +17 -19
  367. data/spec/unit/pops/adaptable_spec.rb +0 -1
  368. data/spec/unit/pops/benchmark_spec.rb +0 -1
  369. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  370. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  371. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  372. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  373. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  374. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  375. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
  376. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  377. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  378. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  379. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  380. data/spec/unit/pops/factory_spec.rb +3 -4
  381. data/spec/unit/pops/issues_spec.rb +19 -20
  382. data/spec/unit/pops/loaders/loader_spec.rb +9 -5
  383. data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
  384. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  385. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  386. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  387. data/spec/unit/pops/migration_spec.rb +3 -5
  388. data/spec/unit/pops/model/model_spec.rb +0 -1
  389. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  390. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  391. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  392. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  393. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  394. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  395. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  396. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  397. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  398. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  399. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  400. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  401. data/spec/unit/pops/pn_spec.rb +0 -1
  402. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  403. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  404. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  405. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  406. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  407. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  408. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  409. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  410. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  411. data/spec/unit/pops/visitor_spec.rb +0 -1
  412. data/spec/unit/property/boolean_spec.rb +1 -1
  413. data/spec/unit/property/ensure_spec.rb +0 -1
  414. data/spec/unit/property/keyvalue_spec.rb +32 -34
  415. data/spec/unit/property/list_spec.rb +26 -27
  416. data/spec/unit/property/ordered_list_spec.rb +10 -14
  417. data/spec/unit/property_spec.rb +42 -43
  418. data/spec/unit/provider/aix_object_spec.rb +47 -45
  419. data/spec/unit/provider/command_spec.rb +9 -9
  420. data/spec/unit/provider/exec/posix_spec.rb +8 -9
  421. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  422. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  423. data/spec/unit/provider/exec_spec.rb +0 -1
  424. data/spec/unit/provider/file/posix_spec.rb +22 -24
  425. data/spec/unit/provider/file/windows_spec.rb +15 -17
  426. data/spec/unit/provider/group/aix_spec.rb +3 -2
  427. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  428. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  429. data/spec/unit/provider/group/pw_spec.rb +11 -11
  430. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  431. data/spec/unit/provider/ldap_spec.rb +61 -62
  432. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  433. data/spec/unit/provider/nameservice_spec.rb +38 -40
  434. data/spec/unit/provider/package/aix_spec.rb +15 -15
  435. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  436. data/spec/unit/provider/package/apt_spec.rb +44 -27
  437. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  438. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  439. data/spec/unit/provider/package/base_spec.rb +4 -4
  440. data/spec/unit/provider/package/dnf_spec.rb +18 -20
  441. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  442. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  443. data/spec/unit/provider/package/gem_spec.rb +51 -43
  444. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  445. data/spec/unit/provider/package/macports_spec.rb +46 -42
  446. data/spec/unit/provider/package/nim_spec.rb +30 -39
  447. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  448. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  449. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  450. data/spec/unit/provider/package/pip_spec.rb +71 -72
  451. data/spec/unit/provider/package/pkg_spec.rb +113 -114
  452. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  453. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  454. data/spec/unit/provider/package/pkgng_spec.rb +21 -22
  455. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  456. data/spec/unit/provider/package/portage_spec.rb +71 -75
  457. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  458. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  459. data/spec/unit/provider/package/sun_spec.rb +16 -18
  460. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  461. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  462. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  463. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  464. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  465. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  466. data/spec/unit/provider/package/windows_spec.rb +36 -32
  467. data/spec/unit/provider/package/yum_spec.rb +7 -7
  468. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  469. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  470. data/spec/unit/provider/service/base_spec.rb +4 -5
  471. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  472. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  473. data/spec/unit/provider/service/debian_spec.rb +38 -38
  474. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  475. data/spec/unit/provider/service/gentoo_spec.rb +50 -55
  476. data/spec/unit/provider/service/init_spec.rb +53 -52
  477. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  478. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  479. data/spec/unit/provider/service/openrc_spec.rb +43 -45
  480. data/spec/unit/provider/service/openwrt_spec.rb +26 -31
  481. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  482. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  483. data/spec/unit/provider/service/runit_spec.rb +29 -27
  484. data/spec/unit/provider/service/smf_spec.rb +74 -66
  485. data/spec/unit/provider/service/src_spec.rb +46 -47
  486. data/spec/unit/provider/service/systemd_spec.rb +113 -122
  487. data/spec/unit/provider/service/upstart_spec.rb +74 -71
  488. data/spec/unit/provider/service/windows_spec.rb +33 -41
  489. data/spec/unit/provider/user/aix_spec.rb +31 -31
  490. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  491. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  492. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  493. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  494. data/spec/unit/provider/user/pw_spec.rb +37 -35
  495. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  496. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  497. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  498. data/spec/unit/provider_spec.rb +35 -35
  499. data/spec/unit/puppet_pal_2pec.rb +4 -5
  500. data/spec/unit/puppet_pal_spec.rb +0 -1
  501. data/spec/unit/puppet_spec.rb +6 -7
  502. data/spec/unit/relationship_spec.rb +0 -1
  503. data/spec/unit/reports/http_spec.rb +22 -24
  504. data/spec/unit/reports/store_spec.rb +3 -4
  505. data/spec/unit/reports_spec.rb +12 -14
  506. data/spec/unit/resource/capability_finder_spec.rb +15 -17
  507. data/spec/unit/resource/catalog_spec.rb +72 -68
  508. data/spec/unit/resource/status_spec.rb +6 -8
  509. data/spec/unit/resource/type_collection_spec.rb +17 -18
  510. data/spec/unit/resource/type_spec.rb +34 -35
  511. data/spec/unit/resource_spec.rb +36 -32
  512. data/spec/unit/rest/client_spec.rb +56 -25
  513. data/spec/unit/rest/route_spec.rb +5 -5
  514. data/spec/unit/scheduler/job_spec.rb +0 -1
  515. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  516. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  517. data/spec/unit/settings/array_setting_spec.rb +1 -1
  518. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  519. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  520. data/spec/unit/settings/config_file_spec.rb +0 -1
  521. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  522. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  523. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  524. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  525. data/spec/unit/settings/file_setting_spec.rb +44 -46
  526. data/spec/unit/settings/path_setting_spec.rb +1 -2
  527. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  528. data/spec/unit/settings/string_setting_spec.rb +14 -15
  529. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  530. data/spec/unit/settings/value_translator_spec.rb +0 -1
  531. data/spec/unit/settings_spec.rb +228 -235
  532. data/spec/unit/ssl/base_spec.rb +14 -15
  533. data/spec/unit/ssl/certificate_request_spec.rb +62 -58
  534. data/spec/unit/ssl/certificate_spec.rb +23 -25
  535. data/spec/unit/ssl/digest_spec.rb +0 -1
  536. data/spec/unit/ssl/host_spec.rb +147 -130
  537. data/spec/unit/ssl/key_spec.rb +30 -31
  538. data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
  539. data/spec/unit/ssl/state_machine_spec.rb +50 -58
  540. data/spec/unit/ssl/validator_spec.rb +43 -54
  541. data/spec/unit/ssl/verifier_spec.rb +10 -10
  542. data/spec/unit/task_spec.rb +44 -45
  543. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
  544. data/spec/unit/transaction/event_manager_spec.rb +87 -88
  545. data/spec/unit/transaction/event_spec.rb +16 -15
  546. data/spec/unit/transaction/persistence_spec.rb +16 -17
  547. data/spec/unit/transaction/report_spec.rb +11 -12
  548. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  549. data/spec/unit/transaction_spec.rb +100 -101
  550. data/spec/unit/type/component_spec.rb +0 -1
  551. data/spec/unit/type/exec_spec.rb +60 -56
  552. data/spec/unit/type/file/checksum_spec.rb +9 -10
  553. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  554. data/spec/unit/type/file/content_spec.rb +58 -61
  555. data/spec/unit/type/file/ctime_spec.rb +0 -1
  556. data/spec/unit/type/file/ensure_spec.rb +12 -13
  557. data/spec/unit/type/file/group_spec.rb +5 -7
  558. data/spec/unit/type/file/mode_spec.rb +4 -6
  559. data/spec/unit/type/file/mtime_spec.rb +0 -1
  560. data/spec/unit/type/file/owner_spec.rb +6 -8
  561. data/spec/unit/type/file/selinux_spec.rb +17 -19
  562. data/spec/unit/type/file/source_spec.rb +104 -101
  563. data/spec/unit/type/file/type_spec.rb +0 -1
  564. data/spec/unit/type/file_spec.rb +195 -185
  565. data/spec/unit/type/filebucket_spec.rb +4 -5
  566. data/spec/unit/type/group_spec.rb +6 -8
  567. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  568. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  569. data/spec/unit/type/package_spec.rb +56 -57
  570. data/spec/unit/type/resources_spec.rb +72 -74
  571. data/spec/unit/type/schedule_spec.rb +24 -26
  572. data/spec/unit/type/service_spec.rb +49 -49
  573. data/spec/unit/type/stage_spec.rb +0 -1
  574. data/spec/unit/type/tidy_spec.rb +61 -62
  575. data/spec/unit/type/user_spec.rb +24 -25
  576. data/spec/unit/type/whit_spec.rb +0 -1
  577. data/spec/unit/type_spec.rb +55 -54
  578. data/spec/unit/util/at_fork_spec.rb +18 -19
  579. data/spec/unit/util/autoload_spec.rb +55 -56
  580. data/spec/unit/util/backups_spec.rb +34 -35
  581. data/spec/unit/util/character_encoding_spec.rb +5 -5
  582. data/spec/unit/util/checksums_spec.rb +38 -39
  583. data/spec/unit/util/colors_spec.rb +1 -2
  584. data/spec/unit/util/command_line_spec.rb +24 -25
  585. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  586. data/spec/unit/util/diff_spec.rb +7 -8
  587. data/spec/unit/util/errors_spec.rb +0 -1
  588. data/spec/unit/util/execution_spec.rb +185 -161
  589. data/spec/unit/util/execution_stub_spec.rb +0 -1
  590. data/spec/unit/util/feature_spec.rb +23 -14
  591. data/spec/unit/util/filetype_spec.rb +49 -49
  592. data/spec/unit/util/http_proxy_spec.rb +12 -12
  593. data/spec/unit/util/inifile_spec.rb +26 -31
  594. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  595. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  596. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  597. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  598. data/spec/unit/util/lockfile_spec.rb +0 -1
  599. data/spec/unit/util/log/destinations_spec.rb +30 -33
  600. data/spec/unit/util/log_spec.rb +35 -36
  601. data/spec/unit/util/logging_spec.rb +58 -72
  602. data/spec/unit/util/metric_spec.rb +0 -1
  603. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  604. data/spec/unit/util/multi_match_spec.rb +0 -1
  605. data/spec/unit/util/network_device/config_spec.rb +0 -1
  606. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  607. data/spec/unit/util/network_device_spec.rb +7 -9
  608. data/spec/unit/util/package_spec.rb +0 -1
  609. data/spec/unit/util/pidlock_spec.rb +21 -22
  610. data/spec/unit/util/plist_spec.rb +40 -33
  611. data/spec/unit/util/posix_spec.rb +54 -51
  612. data/spec/unit/util/rdoc_spec.rb +9 -10
  613. data/spec/unit/util/reference_spec.rb +0 -1
  614. data/spec/unit/util/resource_template_spec.rb +20 -20
  615. data/spec/unit/util/retry_action_spec.rb +7 -8
  616. data/spec/unit/util/rubygems_spec.rb +7 -8
  617. data/spec/unit/util/run_mode_spec.rb +3 -4
  618. data/spec/unit/util/selinux_spec.rb +79 -72
  619. data/spec/unit/util/splayer_spec.rb +8 -9
  620. data/spec/unit/util/ssl_spec.rb +0 -1
  621. data/spec/unit/util/storage_spec.rb +3 -4
  622. data/spec/unit/util/suidmanager_spec.rb +45 -54
  623. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  624. data/spec/unit/util/tag_set_spec.rb +0 -1
  625. data/spec/unit/util/tagging_spec.rb +0 -1
  626. data/spec/unit/util/terminal_spec.rb +9 -10
  627. data/spec/unit/util/user_attr_spec.rb +1 -2
  628. data/spec/unit/util/warnings_spec.rb +3 -4
  629. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  630. data/spec/unit/util/watcher_spec.rb +51 -21
  631. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  632. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  633. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  634. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  635. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  636. data/spec/unit/util/windows/file_spec.rb +0 -1
  637. data/spec/unit/util/windows/root_certs_spec.rb +1 -2
  638. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  639. data/spec/unit/util/windows/service_spec.rb +66 -68
  640. data/spec/unit/util/windows/sid_spec.rb +11 -13
  641. data/spec/unit/util/windows/string_spec.rb +0 -1
  642. data/spec/unit/util_spec.rb +55 -57
  643. data/spec/unit/version_spec.rb +6 -6
  644. data/spec/unit/x509/cert_provider_spec.rb +14 -14
  645. data/spec/unit/x509/pem_store_spec.rb +5 -5
  646. metadata +2 -2
@@ -8,123 +8,123 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
8
8
  let(:provider) { described_class.new(resource) }
9
9
 
10
10
  before do
11
- resource.stubs(:should).returns "fakeval"
12
- resource.stubs(:should).with(:keys).returns Hash.new
13
- resource.stubs(:[]).returns "fakeval"
11
+ allow(resource).to receive(:should).and_return("fakeval")
12
+ allow(resource).to receive(:should).with(:keys).and_return(Hash.new)
13
+ allow(resource).to receive(:[]).and_return("fakeval")
14
14
  end
15
15
 
16
-
17
16
  describe "#command" do
18
17
  before do
19
- klass = stub("provider")
20
- klass.stubs(:command).with(:foo).returns("userfoo")
21
- klass.stubs(:command).with(:role_foo).returns("rolefoo")
22
- provider.stubs(:class).returns(klass)
18
+ klass = double("provider")
19
+ allow(klass).to receive(:superclass)
20
+ allow(klass).to receive(:command).with(:foo).and_return("userfoo")
21
+ allow(klass).to receive(:command).with(:role_foo).and_return("rolefoo")
22
+ allow(provider).to receive(:class).and_return(klass)
23
23
  end
24
24
 
25
25
  it "should use the command if not a role and ensure!=role" do
26
- provider.stubs(:is_role?).returns(false)
27
- provider.stubs(:exists?).returns(false)
28
- resource.stubs(:[]).with(:ensure).returns(:present)
29
- provider.class.stubs(:foo)
26
+ allow(provider).to receive(:is_role?).and_return(false)
27
+ allow(provider).to receive(:exists?).and_return(false)
28
+ allow(resource).to receive(:[]).with(:ensure).and_return(:present)
29
+ allow(provider.class).to receive(:foo)
30
30
  expect(provider.command(:foo)).to eq("userfoo")
31
31
  end
32
32
 
33
33
  it "should use the role command when a role" do
34
- provider.stubs(:is_role?).returns(true)
34
+ allow(provider).to receive(:is_role?).and_return(true)
35
35
  expect(provider.command(:foo)).to eq("rolefoo")
36
36
  end
37
37
 
38
38
  it "should use the role command when !exists and ensure=role" do
39
- provider.stubs(:is_role?).returns(false)
40
- provider.stubs(:exists?).returns(false)
41
- resource.stubs(:[]).with(:ensure).returns(:role)
39
+ allow(provider).to receive(:is_role?).and_return(false)
40
+ allow(provider).to receive(:exists?).and_return(false)
41
+ allow(resource).to receive(:[]).with(:ensure).and_return(:role)
42
42
  expect(provider.command(:foo)).to eq("rolefoo")
43
43
  end
44
44
  end
45
45
 
46
46
  describe "#transition" do
47
47
  it "should return the type set to whatever is passed in" do
48
- provider.expects(:command).with(:modify).returns("foomod")
48
+ expect(provider).to receive(:command).with(:modify).and_return("foomod")
49
49
  provider.transition("bar").include?("type=bar")
50
50
  end
51
51
  end
52
52
 
53
53
  describe "#create" do
54
54
  before do
55
- provider.stubs(:password=)
55
+ allow(provider).to receive(:password=)
56
56
  end
57
57
 
58
58
  it "should use the add command when the user is not a role" do
59
- provider.stubs(:is_role?).returns(false)
60
- provider.expects(:addcmd).returns("useradd")
61
- provider.expects(:run).at_least_once
59
+ allow(provider).to receive(:is_role?).and_return(false)
60
+ expect(provider).to receive(:addcmd).and_return("useradd")
61
+ expect(provider).to receive(:run).at_least(:once)
62
62
  provider.create
63
63
  end
64
64
 
65
65
  it "should use transition(normal) when the user is a role" do
66
- provider.stubs(:is_role?).returns(true)
67
- provider.expects(:transition).with("normal")
68
- provider.expects(:run)
66
+ allow(provider).to receive(:is_role?).and_return(true)
67
+ expect(provider).to receive(:transition).with("normal")
68
+ expect(provider).to receive(:run)
69
69
  provider.create
70
70
  end
71
71
 
72
72
  it "should set password age rules" do
73
73
  resource = Puppet::Type.type(:user).new :name => "myuser", :password_min_age => 5, :password_max_age => 10, :password_warn_days => 15, :provider => :user_role_add
74
74
  provider = described_class.new(resource)
75
- provider.stubs(:user_attributes)
76
- provider.stubs(:execute)
77
- provider.expects(:execute).with { |cmd, *args| args == ["-n", 5, "-x", 10, '-w', 15, "myuser"] }
75
+ allow(provider).to receive(:user_attributes)
76
+ allow(provider).to receive(:execute)
77
+ expect(provider).to receive(:execute).with([anything, "-n", 5, "-x", 10, '-w', 15, "myuser"])
78
78
  provider.create
79
79
  end
80
80
  end
81
81
 
82
82
  describe "#destroy" do
83
83
  it "should use the delete command if the user exists and is not a role" do
84
- provider.stubs(:exists?).returns(true)
85
- provider.stubs(:is_role?).returns(false)
86
- provider.expects(:deletecmd)
87
- provider.expects(:run)
84
+ allow(provider).to receive(:exists?).and_return(true)
85
+ allow(provider).to receive(:is_role?).and_return(false)
86
+ expect(provider).to receive(:deletecmd)
87
+ expect(provider).to receive(:run)
88
88
  provider.destroy
89
89
  end
90
90
 
91
91
  it "should use the delete command if the user is a role" do
92
- provider.stubs(:exists?).returns(true)
93
- provider.stubs(:is_role?).returns(true)
94
- provider.expects(:deletecmd)
95
- provider.expects(:run)
92
+ allow(provider).to receive(:exists?).and_return(true)
93
+ allow(provider).to receive(:is_role?).and_return(true)
94
+ expect(provider).to receive(:deletecmd)
95
+ expect(provider).to receive(:run)
96
96
  provider.destroy
97
97
  end
98
98
  end
99
99
 
100
100
  describe "#create_role" do
101
101
  it "should use the transition(role) if the user exists" do
102
- provider.stubs(:exists?).returns(true)
103
- provider.stubs(:is_role?).returns(false)
104
- provider.expects(:transition).with("role")
105
- provider.expects(:run)
102
+ allow(provider).to receive(:exists?).and_return(true)
103
+ allow(provider).to receive(:is_role?).and_return(false)
104
+ expect(provider).to receive(:transition).with("role")
105
+ expect(provider).to receive(:run)
106
106
  provider.create_role
107
107
  end
108
108
 
109
109
  it "should use the add command when role doesn't exists" do
110
- provider.stubs(:exists?).returns(false)
111
- provider.expects(:addcmd)
112
- provider.expects(:run)
110
+ allow(provider).to receive(:exists?).and_return(false)
111
+ expect(provider).to receive(:addcmd)
112
+ expect(provider).to receive(:run)
113
113
  provider.create_role
114
114
  end
115
115
  end
116
116
 
117
117
  describe "with :allow_duplicates" do
118
118
  before do
119
- resource.stubs(:allowdupe?).returns true
120
- provider.stubs(:is_role?).returns(false)
121
- provider.stubs(:execute)
122
- resource.stubs(:system?).returns false
123
- provider.expects(:execute).with { |args| args.include?("-o") }
119
+ allow(resource).to receive(:allowdupe?).and_return(true)
120
+ allow(provider).to receive(:is_role?).and_return(false)
121
+ allow(provider).to receive(:execute)
122
+ allow(resource).to receive(:system?).and_return(false)
123
+ expect(provider).to receive(:execute).with(include("-o"), any_args)
124
124
  end
125
125
 
126
126
  it "should add -o when the user is being created" do
127
- provider.stubs(:password=)
127
+ allow(provider).to receive(:password=)
128
128
  provider.create
129
129
  end
130
130
 
@@ -137,14 +137,14 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
137
137
  context "#send" do
138
138
  describe "when getting #{val}" do
139
139
  it "should get the user_attributes" do
140
- provider.expects(:user_attributes)
140
+ expect(provider).to receive(:user_attributes)
141
141
  provider.send(val)
142
142
  end
143
143
 
144
144
  it "should get the #{val} attribute" do
145
- attributes = mock("attributes")
146
- attributes.expects(:[]).with(val)
147
- provider.stubs(:user_attributes).returns(attributes)
145
+ attributes = double("attributes")
146
+ expect(attributes).to receive(:[]).with(val)
147
+ allow(provider).to receive(:user_attributes).and_return(attributes)
148
148
  provider.send(val)
149
149
  end
150
150
  end
@@ -153,33 +153,33 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
153
153
 
154
154
  describe "#keys" do
155
155
  it "should get the user_attributes" do
156
- provider.expects(:user_attributes)
156
+ expect(provider).to receive(:user_attributes)
157
157
  provider.keys
158
158
  end
159
159
 
160
160
  it "should call removed_managed_attributes" do
161
- provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
162
- provider.expects(:remove_managed_attributes)
161
+ allow(provider).to receive(:user_attributes).and_return({ :type => "normal", :foo => "something" })
162
+ expect(provider).to receive(:remove_managed_attributes)
163
163
  provider.keys
164
164
  end
165
165
 
166
166
  it "should removed managed attribute (type, auths, roles, etc)" do
167
- provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
167
+ allow(provider).to receive(:user_attributes).and_return({ :type => "normal", :foo => "something" })
168
168
  expect(provider.keys).to eq({ :foo => "something" })
169
169
  end
170
170
  end
171
171
 
172
172
  describe "#add_properties" do
173
173
  it "should call build_keys_cmd" do
174
- resource.stubs(:should).returns ""
175
- resource.expects(:should).with(:keys).returns({ :foo => "bar" })
176
- provider.expects(:build_keys_cmd).returns([])
174
+ allow(resource).to receive(:should).and_return("")
175
+ expect(resource).to receive(:should).with(:keys).and_return({ :foo => "bar" })
176
+ expect(provider).to receive(:build_keys_cmd).and_return([])
177
177
  provider.add_properties
178
178
  end
179
179
 
180
180
  it "should add the elements of the keys hash to an array" do
181
- resource.stubs(:should).returns ""
182
- resource.expects(:should).with(:keys).returns({ :foo => "bar"})
181
+ allow(resource).to receive(:should).and_return("")
182
+ expect(resource).to receive(:should).with(:keys).and_return({ :foo => "bar"})
183
183
  expect(provider.add_properties).to eq(["-K", "foo=bar"])
184
184
  end
185
185
  end
@@ -192,57 +192,57 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
192
192
 
193
193
  describe "#keys=" do
194
194
  before do
195
- provider.stubs(:is_role?).returns(false)
195
+ allow(provider).to receive(:is_role?).and_return(false)
196
196
  end
197
197
 
198
198
  it "should run a command" do
199
- provider.expects(:run)
199
+ expect(provider).to receive(:run)
200
200
  provider.keys=({})
201
201
  end
202
202
 
203
203
  it "should build the command" do
204
- resource.stubs(:[]).with(:name).returns("someuser")
205
- provider.stubs(:command).returns("usermod")
206
- provider.expects(:build_keys_cmd).returns(["-K", "foo=bar"])
207
- provider.expects(:run).with(["usermod", "-K", "foo=bar", "someuser"], "modify attribute key pairs")
204
+ allow(resource).to receive(:[]).with(:name).and_return("someuser")
205
+ allow(provider).to receive(:command).and_return("usermod")
206
+ expect(provider).to receive(:build_keys_cmd).and_return(["-K", "foo=bar"])
207
+ expect(provider).to receive(:run).with(["usermod", "-K", "foo=bar", "someuser"], "modify attribute key pairs")
208
208
  provider.keys=({})
209
209
  end
210
210
  end
211
211
 
212
212
  describe "#password" do
213
213
  before do
214
- @array = mock "array"
214
+ @array = double("array")
215
215
  end
216
216
 
217
217
  it "should readlines of /etc/shadow" do
218
- File.expects(:readlines).with("/etc/shadow").returns([])
218
+ expect(File).to receive(:readlines).with("/etc/shadow").and_return([])
219
219
  provider.password
220
220
  end
221
221
 
222
222
  it "should reject anything that doesn't start with alpha numerics" do
223
- @array.expects(:reject).returns([])
224
- File.stubs(:readlines).with("/etc/shadow").returns(@array)
223
+ expect(@array).to receive(:reject).and_return([])
224
+ allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
225
225
  provider.password
226
226
  end
227
227
 
228
228
  it "should collect splitting on ':'" do
229
- @array.stubs(:reject).returns(@array)
230
- @array.expects(:collect).returns([])
231
- File.stubs(:readlines).with("/etc/shadow").returns(@array)
229
+ allow(@array).to receive(:reject).and_return(@array)
230
+ expect(@array).to receive(:collect).and_return([])
231
+ allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
232
232
  provider.password
233
233
  end
234
234
 
235
235
  it "should find the matching user" do
236
- resource.stubs(:[]).with(:name).returns("username")
237
- @array.stubs(:reject).returns(@array)
238
- @array.stubs(:collect).returns([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
239
- File.stubs(:readlines).with("/etc/shadow").returns(@array)
236
+ allow(resource).to receive(:[]).with(:name).and_return("username")
237
+ allow(@array).to receive(:reject).and_return(@array)
238
+ allow(@array).to receive(:collect).and_return([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
239
+ allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
240
240
  expect(provider.password).to eq("hashedpassword")
241
241
  end
242
242
 
243
243
  it "should get the right password" do
244
- resource.stubs(:[]).with(:name).returns("username")
245
- File.stubs(:readlines).with("/etc/shadow").returns(["#comment", " nonsense", " ", "username:hashedpassword:stuff:foo:bar:::", "other:pword:yay:::"])
244
+ allow(resource).to receive(:[]).with(:name).and_return("username")
245
+ allow(File).to receive(:readlines).with("/etc/shadow").and_return(["#comment", " nonsense", " ", "username:hashedpassword:stuff:foo:bar:::", "other:pword:yay:::"])
246
246
  expect(provider.password).to eq("hashedpassword")
247
247
  end
248
248
  end
@@ -251,7 +251,7 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
251
251
  let(:path) { tmpfile('etc-shadow') }
252
252
 
253
253
  before :each do
254
- provider.stubs(:target_file_path).returns(path)
254
+ allow(provider).to receive(:target_file_path).and_return(path)
255
255
  end
256
256
 
257
257
  def write_fixture(content)
@@ -267,7 +267,7 @@ FIXTURE
267
267
  end
268
268
 
269
269
  it "should only update the target user" do
270
- Date.expects(:today).returns Date.new(2011,12,07)
270
+ expect(Date).to receive(:today).and_return(Date.new(2011,12,07))
271
271
  write_fixture <<FIXTURE
272
272
  before:seriously:15315:0:99999:7:::
273
273
  fakeval:seriously:15315:0:99999:7:::
@@ -297,7 +297,7 @@ FIXTURE
297
297
  end
298
298
 
299
299
  it "should update the lastchg field" do
300
- Date.expects(:today).returns Date.new(2013,5,12) # 15837 days after 1970-01-01
300
+ expect(Date).to receive(:today).and_return(Date.new(2013,5,12)) # 15837 days after 1970-01-01
301
301
  write_fixture <<FIXTURE
302
302
  before:seriously:15315:0:99999:7:::
303
303
  fakeval:seriously:15629:0:99999:7:::
@@ -316,58 +316,58 @@ EOT
316
316
 
317
317
  describe "#shadow_entry" do
318
318
  it "should return the line for the right user" do
319
- File.stubs(:readlines).returns(["someuser:!:10:5:20:7:1::\n", "fakeval:*:20:10:30:7:2::\n", "testuser:*:30:15:40:7:3::\n"])
319
+ allow(File).to receive(:readlines).and_return(["someuser:!:10:5:20:7:1::\n", "fakeval:*:20:10:30:7:2::\n", "testuser:*:30:15:40:7:3::\n"])
320
320
  expect(provider.shadow_entry).to eq(["fakeval", "*", "20", "10", "30", "7", "2", "", ""])
321
321
  end
322
322
  end
323
323
 
324
324
  describe "#password_max_age" do
325
325
  it "should return a maximum age number" do
326
- File.stubs(:readlines).returns(["fakeval:NP:12345:0:50::::\n"])
326
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345:0:50::::\n"])
327
327
  expect(provider.password_max_age).to eq("50")
328
328
  end
329
329
 
330
330
  it "should return -1 for no maximum" do
331
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
331
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::\n"])
332
332
  expect(provider.password_max_age).to eq(-1)
333
333
  end
334
334
 
335
335
  it "should return -1 for no maximum when failed attempts are present" do
336
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
336
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::3\n"])
337
337
  expect(provider.password_max_age).to eq(-1)
338
338
  end
339
339
  end
340
340
 
341
341
  describe "#password_min_age" do
342
342
  it "should return a minimum age number" do
343
- File.stubs(:readlines).returns(["fakeval:NP:12345:10:50::::\n"])
343
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345:10:50::::\n"])
344
344
  expect(provider.password_min_age).to eq("10")
345
345
  end
346
346
 
347
347
  it "should return -1 for no minimum" do
348
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
348
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::\n"])
349
349
  expect(provider.password_min_age).to eq(-1)
350
350
  end
351
351
 
352
352
  it "should return -1 for no minimum when failed attempts are present" do
353
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
353
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::3\n"])
354
354
  expect(provider.password_min_age).to eq(-1)
355
355
  end
356
356
  end
357
357
 
358
358
  describe "#password_warn_days" do
359
359
  it "should return a warn days number" do
360
- File.stubs(:readlines).returns(["fakeval:NP:12345:10:50:30:::\n"])
360
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345:10:50:30:::\n"])
361
361
  expect(provider.password_warn_days).to eq("30")
362
362
  end
363
363
 
364
364
  it "should return -1 for no warn days" do
365
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
365
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::\n"])
366
366
  expect(provider.password_warn_days).to eq(-1)
367
367
  end
368
368
 
369
369
  it "should return -1 for no warn days when failed attempts are present" do
370
- File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
370
+ allow(File).to receive(:readlines).and_return(["fakeval:NP:12345::::::3\n"])
371
371
  expect(provider.password_warn_days).to eq(-1)
372
372
  end
373
373
  end
@@ -1,17 +1,17 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
- describe Puppet::Type.type(:user).provider(:useradd) do
3
+ RSpec::Matchers.define_negated_matcher :excluding, :include
5
4
 
5
+ describe Puppet::Type.type(:user).provider(:useradd) do
6
6
  before :each do
7
- described_class.stubs(:command).with(:password).returns '/usr/bin/chage'
8
- described_class.stubs(:command).with(:localpassword).returns '/usr/sbin/lchage'
9
- described_class.stubs(:command).with(:add).returns '/usr/sbin/useradd'
10
- described_class.stubs(:command).with(:localadd).returns '/usr/sbin/luseradd'
11
- described_class.stubs(:command).with(:modify).returns '/usr/sbin/usermod'
12
- described_class.stubs(:command).with(:localmodify).returns '/usr/sbin/lusermod'
13
- described_class.stubs(:command).with(:delete).returns '/usr/sbin/userdel'
14
- described_class.stubs(:command).with(:localdelete).returns '/usr/sbin/luserdel'
7
+ allow(described_class).to receive(:command).with(:password).and_return('/usr/bin/chage')
8
+ allow(described_class).to receive(:command).with(:localpassword).and_return('/usr/sbin/lchage')
9
+ allow(described_class).to receive(:command).with(:add).and_return('/usr/sbin/useradd')
10
+ allow(described_class).to receive(:command).with(:localadd).and_return('/usr/sbin/luseradd')
11
+ allow(described_class).to receive(:command).with(:modify).and_return('/usr/sbin/usermod')
12
+ allow(described_class).to receive(:command).with(:localmodify).and_return('/usr/sbin/lusermod')
13
+ allow(described_class).to receive(:command).with(:delete).and_return('/usr/sbin/userdel')
14
+ allow(described_class).to receive(:command).with(:localdelete).and_return('/usr/sbin/luserdel')
15
15
  end
16
16
 
17
17
  let(:resource) do
@@ -25,7 +25,6 @@ describe Puppet::Type.type(:user).provider(:useradd) do
25
25
 
26
26
  let(:provider) { described_class.new(:name => 'myuser') }
27
27
 
28
-
29
28
  let(:shadow_entry) {
30
29
  return unless Puppet.features.libshadow?
31
30
  entry = Struct::PasswdEntry.new
@@ -41,37 +40,36 @@ describe Puppet::Type.type(:user).provider(:useradd) do
41
40
  }
42
41
 
43
42
  describe "#create" do
44
-
45
43
  before do
46
- provider.stubs(:exists?).returns(false)
44
+ allow(provider).to receive(:exists?).and_return(false)
47
45
  end
48
46
 
49
47
  it "should add -g when no gid is specified and group already exists" do
50
- Puppet::Util.stubs(:gid).returns(true)
48
+ allow(Puppet::Util).to receive(:gid).and_return(true)
51
49
  resource[:ensure] = :present
52
- provider.expects(:execute).with(includes('-g'), kind_of(Hash))
50
+ expect(provider).to receive(:execute).with(include('-g'), kind_of(Hash))
53
51
  provider.create
54
52
  end
55
53
 
56
54
  it "should use -G to set groups" do
57
- Facter.stubs(:value).with(:osfamily).returns('Not RedHat')
55
+ allow(Facter).to receive(:value).with(:osfamily).and_return('Not RedHat')
58
56
  resource[:ensure] = :present
59
57
  resource[:groups] = ['group1', 'group2']
60
- provider.expects(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', 'myuser'], kind_of(Hash))
58
+ expect(provider).to receive(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', 'myuser'], kind_of(Hash))
61
59
  provider.create
62
60
  end
63
61
 
64
62
  it "should use -G to set groups without -M on RedHat" do
65
- Facter.stubs(:value).with(:osfamily).returns('RedHat')
63
+ allow(Facter).to receive(:value).with(:osfamily).and_return('RedHat')
66
64
  resource[:ensure] = :present
67
65
  resource[:groups] = ['group1', 'group2']
68
- provider.expects(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', '-M', 'myuser'], kind_of(Hash))
66
+ expect(provider).to receive(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', '-M', 'myuser'], kind_of(Hash))
69
67
  provider.create
70
68
  end
71
69
 
72
70
  it "should add -o when allowdupe is enabled and the user is being created" do
73
71
  resource[:allowdupe] = true
74
- provider.expects(:execute).with(includes('-o'), kind_of(Hash))
72
+ expect(provider).to receive(:execute).with(include('-o'), kind_of(Hash))
75
73
  provider.create
76
74
  end
77
75
 
@@ -79,7 +77,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
79
77
  it "should add -r when system is enabled" do
80
78
  resource[:system] = :true
81
79
  expect(provider).to be_system_users
82
- provider.expects(:execute).with(includes('-r'), kind_of(Hash))
80
+ expect(provider).to receive(:execute).with(include('-r'), kind_of(Hash))
83
81
  provider.create
84
82
  end
85
83
  end
@@ -88,7 +86,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
88
86
  it "should not add -r when system is enabled" do
89
87
  resource[:system] = :true
90
88
  expect(provider).not_to be_system_users
91
- provider.expects(:execute).with(['/usr/sbin/useradd', 'myuser'], kind_of(Hash))
89
+ expect(provider).to receive(:execute).with(['/usr/sbin/useradd', 'myuser'], kind_of(Hash))
92
90
  provider.create
93
91
  end
94
92
  end
@@ -98,8 +96,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
98
96
  resource[:password_min_age] = 5
99
97
  resource[:password_max_age] = 10
100
98
  resource[:password_warn_days] = 15
101
- provider.expects(:execute).with(includes('/usr/sbin/useradd'), kind_of(Hash))
102
- provider.expects(:execute).with(['/usr/bin/chage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
99
+ expect(provider).to receive(:execute).with(include('/usr/sbin/useradd'), kind_of(Hash))
100
+ expect(provider).to receive(:execute).with(['/usr/bin/chage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
103
101
  provider.create
104
102
  end
105
103
 
@@ -108,40 +106,41 @@ describe Puppet::Type.type(:user).provider(:useradd) do
108
106
  described_class.has_feature :libuser
109
107
  resource[:forcelocal] = true
110
108
  end
109
+
111
110
  it "should use luseradd instead of useradd" do
112
- provider.expects(:execute).with(includes('/usr/sbin/luseradd'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
111
+ expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
113
112
  provider.create
114
113
  end
115
114
 
116
115
  it "should NOT use -o when allowdupe=true" do
117
116
  resource[:allowdupe] = :true
118
- provider.expects(:execute).with(Not(includes('-o')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
117
+ expect(provider).to receive(:execute).with(excluding('-o'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
119
118
  provider.create
120
119
  end
121
120
 
122
121
  it "should raise an exception for duplicate UIDs" do
123
122
  resource[:uid] = 505
124
- provider.stubs(:finduser).returns(true)
123
+ allow(provider).to receive(:finduser).and_return(true)
125
124
  expect { provider.create }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
126
125
  end
127
126
 
128
127
  it "should not use -G for luseradd and should call usermod with -G after luseradd when groups property is set" do
129
128
  resource[:groups] = ['group1', 'group2']
130
- provider.expects(:execute).with(all_of(includes('/usr/sbin/luseradd'), Not(includes('-G'))), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
131
- provider.expects(:execute).with(all_of(includes('/usr/sbin/usermod'), includes('-G')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
129
+ expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd').and(excluding('-G')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
130
+ expect(provider).to receive(:execute).with(include('/usr/sbin/usermod').and(include('-G')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
132
131
  provider.create
133
132
  end
134
133
 
135
134
  it "should not use -m when managehome set" do
136
135
  resource[:managehome] = :true
137
- provider.expects(:execute).with(Not(includes('-m')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
136
+ expect(provider).to receive(:execute).with(excluding('-m'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
138
137
  provider.create
139
138
  end
140
139
 
141
140
  it "should not use -e with luseradd, should call usermod with -e after luseradd when expiry is set" do
142
141
  resource[:expiry] = '2038-01-24'
143
- provider.expects(:execute).with(all_of(includes('/usr/sbin/luseradd'), Not(includes('-e'))), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
144
- provider.expects(:execute).with(all_of(includes('/usr/sbin/usermod'), includes('-e')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
142
+ expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd').and(excluding('-e')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
143
+ expect(provider).to receive(:execute).with(include('/usr/sbin/usermod').and(include('-e')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
145
144
  provider.create
146
145
  end
147
146
 
@@ -150,8 +149,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
150
149
  resource[:password_min_age] = 5
151
150
  resource[:password_max_age] = 10
152
151
  resource[:password_warn_days] = 15
153
- provider.expects(:execute).with(includes('/usr/sbin/luseradd'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
154
- provider.expects(:execute).with(['/usr/sbin/lchage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
152
+ expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
153
+ expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
155
154
  provider.create
156
155
  end
157
156
  end
@@ -159,12 +158,11 @@ describe Puppet::Type.type(:user).provider(:useradd) do
159
158
  describe "on systems that allow to set shell" do
160
159
  it "should trigger shell validation" do
161
160
  resource[:shell] = '/bin/bash'
162
- provider.expects(:check_valid_shell)
163
- provider.expects(:execute).with(includes('-s'), kind_of(Hash))
161
+ expect(provider).to receive(:check_valid_shell)
162
+ expect(provider).to receive(:execute).with(include('-s'), kind_of(Hash))
164
163
  provider.create
165
164
  end
166
165
  end
167
-
168
166
  end
169
167
 
170
168
  describe '#modify' do
@@ -175,34 +173,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
175
173
  end
176
174
 
177
175
  it "should use usermod" do
178
- provider.expects(:execute).with(['/usr/sbin/usermod', '-u', 150, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
176
+ expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-u', 150, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
179
177
  provider.uid = 150
180
178
  end
181
179
 
182
180
  it "should use -o when allowdupe=true" do
183
181
  resource[:allowdupe] = :true
184
- provider.expects(:execute).with(includes('-o'), has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
182
+ expect(provider).to receive(:execute).with(include('-o'), hash_including(failonfail: true, combine: true, custom_environment: {}))
185
183
  provider.uid = 505
186
184
  end
187
185
 
188
186
  it 'should use chage for password_min_age' do
189
- provider.expects(:execute).with(['/usr/bin/chage', '-m', 100, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
187
+ expect(provider).to receive(:execute).with(['/usr/bin/chage', '-m', 100, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
190
188
  provider.password_min_age = 100
191
189
  end
192
190
 
193
191
  it 'should use chage for password_max_age' do
194
- provider.expects(:execute).with(['/usr/bin/chage', '-M', 101, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
192
+ expect(provider).to receive(:execute).with(['/usr/bin/chage', '-M', 101, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
195
193
  provider.password_max_age = 101
196
194
  end
197
195
 
198
196
  it 'should use chage for password_warn_days' do
199
- provider.expects(:execute).with(['/usr/bin/chage', '-W', 99, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
197
+ expect(provider).to receive(:execute).with(['/usr/bin/chage', '-W', 99, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
200
198
  provider.password_warn_days = 99
201
199
  end
202
200
 
203
201
  it 'should not call check_allow_dup if not modifying the uid' do
204
- provider.expects(:check_allow_dup).never
205
- provider.expects(:execute)
202
+ expect(provider).not_to receive(:check_allow_dup)
203
+ expect(provider).to receive(:execute)
206
204
  provider.home = 'foo/bar'
207
205
  end
208
206
  end
@@ -214,34 +212,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
214
212
  end
215
213
 
216
214
  it "should use lusermod and not usermod" do
217
- provider.expects(:execute).with(['/usr/sbin/lusermod', '-u', 150, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
215
+ expect(provider).to receive(:execute).with(['/usr/sbin/lusermod', '-u', 150, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
218
216
  provider.uid = 150
219
217
  end
220
218
 
221
219
  it "should NOT use -o when allowdupe=true" do
222
220
  resource[:allowdupe] = :true
223
- provider.expects(:execute).with(Not(includes('-o')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
221
+ expect(provider).to receive(:execute).with(excluding('-o'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
224
222
  provider.uid = 505
225
223
  end
226
224
 
227
225
  it "should raise an exception for duplicate UIDs" do
228
226
  resource[:uid] = 505
229
- provider.stubs(:finduser).returns(true)
227
+ allow(provider).to receive(:finduser).and_return(true)
230
228
  expect { provider.uid = 505 }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
231
229
  end
232
230
 
233
231
  it 'should use lchage for password_warn_days' do
234
- provider.expects(:execute).with(['/usr/sbin/lchage', '-W', 99, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
232
+ expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-W', 99, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
235
233
  provider.password_warn_days = 99
236
234
  end
237
235
 
238
236
  it 'should use lchage for password_min_age' do
239
- provider.expects(:execute).with(['/usr/sbin/lchage', '-m', 100, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
237
+ expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-m', 100, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
240
238
  provider.password_min_age = 100
241
239
  end
242
240
 
243
241
  it 'should use lchage for password_max_age' do
244
- provider.expects(:execute).with(['/usr/sbin/lchage', '-M', 101, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
242
+ expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-M', 101, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
245
243
  provider.password_max_age = 101
246
244
  end
247
245
  end
@@ -250,35 +248,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
250
248
  describe "#uid=" do
251
249
  it "should add -o when allowdupe is enabled and the uid is being modified" do
252
250
  resource[:allowdupe] = :true
253
- provider.expects(:execute).with(['/usr/sbin/usermod', '-u', 150, '-o', 'myuser'], has_entry(:custom_environment, {}))
251
+ expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-u', 150, '-o', 'myuser'], hash_including(custom_environment: {}))
254
252
  provider.uid = 150
255
253
  end
256
254
  end
257
255
 
258
256
  describe "#expiry=" do
259
257
  it "should pass expiry to usermod as MM/DD/YY when on Solaris" do
260
- Facter.expects(:value).with(:operatingsystem).returns 'Solaris'
258
+ expect(Facter).to receive(:value).with(:operatingsystem).and_return('Solaris')
261
259
  resource[:expiry] = '2012-10-31'
262
- provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '10/31/2012', 'myuser'], has_entry(:custom_environment, {}))
260
+ expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '10/31/2012', 'myuser'], hash_including(custom_environment: {}))
263
261
  provider.expiry = '2012-10-31'
264
262
  end
265
263
 
266
264
  it "should pass expiry to usermod as YYYY-MM-DD when not on Solaris" do
267
- Facter.expects(:value).with(:operatingsystem).returns 'not_solaris'
265
+ expect(Facter).to receive(:value).with(:operatingsystem).and_return('not_solaris')
268
266
  resource[:expiry] = '2012-10-31'
269
- provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '2012-10-31', 'myuser'], has_entry(:custom_environment, {}))
267
+ expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '2012-10-31', 'myuser'], hash_including(custom_environment: {}))
270
268
  provider.expiry = '2012-10-31'
271
269
  end
272
270
 
273
271
  it "should use -e with an empty string when the expiry property is removed" do
274
272
  resource[:expiry] = :absent
275
- provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], has_entry(:custom_environment, {}))
273
+ expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], hash_including(custom_environment: {}))
276
274
  provider.expiry = :absent
277
275
  end
278
276
  end
279
277
 
280
278
  describe "#check_allow_dup" do
281
-
282
279
  it "should return an array with a flag if dup is allowed" do
283
280
  resource[:allowdupe] = :true
284
281
  expect(provider.check_allow_dup).to eq(["-o"])
@@ -292,25 +289,25 @@ describe Puppet::Type.type(:user).provider(:useradd) do
292
289
 
293
290
  describe "#check_system_users" do
294
291
  it "should check system users" do
295
- described_class.expects(:system_users?).returns true
296
- resource.expects(:system?)
292
+ expect(described_class).to receive(:system_users?).and_return(true)
293
+ expect(resource).to receive(:system?)
297
294
  provider.check_system_users
298
295
  end
299
296
 
300
297
  it "should return an array with a flag if it's a system user" do
301
- described_class.expects(:system_users?).returns true
298
+ expect(described_class).to receive(:system_users?).and_return(true)
302
299
  resource[:system] = :true
303
300
  expect(provider.check_system_users).to eq(["-r"])
304
301
  end
305
302
 
306
303
  it "should return an empty array if it's not a system user" do
307
- described_class.expects(:system_users?).returns true
304
+ expect(described_class).to receive(:system_users?).and_return(true)
308
305
  resource[:system] = :false
309
306
  expect(provider.check_system_users).to eq([])
310
307
  end
311
308
 
312
309
  it "should return an empty array if system user is not featured" do
313
- described_class.expects(:system_users?).returns false
310
+ expect(described_class).to receive(:system_users?).and_return(false)
314
311
  resource[:system] = :true
315
312
  expect(provider.check_system_users).to eq([])
316
313
  end
@@ -319,29 +316,29 @@ describe Puppet::Type.type(:user).provider(:useradd) do
319
316
  describe "#check_manage_home" do
320
317
  it "should return an array with -m flag if home is managed" do
321
318
  resource[:managehome] = :true
322
- provider.expects(:execute).with(includes('-m'), has_entry(:custom_environment, {}))
319
+ expect(provider).to receive(:execute).with(include('-m'), hash_including(custom_environment: {}))
323
320
  provider.create
324
321
  end
325
322
 
326
323
  it "should return an array with -r flag if home is managed" do
327
324
  resource[:managehome] = :true
328
325
  resource[:ensure] = :absent
329
- provider.stubs(:exists?).returns(true)
330
- provider.expects(:execute).with(includes('-r'), has_entry(:custom_environment, {}))
326
+ allow(provider).to receive(:exists?).and_return(true)
327
+ expect(provider).to receive(:execute).with(include('-r'), hash_including(custom_environment: {}))
331
328
  provider.delete
332
329
  end
333
330
 
334
331
  it "should use -M flag if home is not managed and on Redhat" do
335
- Facter.stubs(:value).with(:osfamily).returns("RedHat")
332
+ allow(Facter).to receive(:value).with(:osfamily).and_return("RedHat")
336
333
  resource[:managehome] = :false
337
- provider.expects(:execute).with(includes('-M'), kind_of(Hash))
334
+ expect(provider).to receive(:execute).with(include('-M'), kind_of(Hash))
338
335
  provider.create
339
336
  end
340
337
 
341
338
  it "should not use -M flag if home is not managed and not on Redhat" do
342
- Facter.stubs(:value).with(:osfamily).returns("not RedHat")
339
+ allow(Facter).to receive(:value).with(:osfamily).and_return("not RedHat")
343
340
  resource[:managehome] = :false
344
- provider.expects(:execute).with(Not(includes('-M')), kind_of(Hash))
341
+ expect(provider).to receive(:execute).with(excluding('-M'), kind_of(Hash))
345
342
  provider.create
346
343
  end
347
344
  end
@@ -355,22 +352,22 @@ describe Puppet::Type.type(:user).provider(:useradd) do
355
352
  end
356
353
 
357
354
  it "should call command with :add" do
358
- provider.expects(:command).with(:add)
355
+ expect(provider).to receive(:command).with(:add)
359
356
  provider.addcmd
360
357
  end
361
358
 
362
359
  it "should add properties" do
363
- provider.expects(:add_properties).returns(['-foo_add_properties'])
360
+ expect(provider).to receive(:add_properties).and_return(['-foo_add_properties'])
364
361
  expect(provider.addcmd).to include '-foo_add_properties'
365
362
  end
366
363
 
367
364
  it "should check and add if dup allowed" do
368
- provider.expects(:check_allow_dup).returns(['-allow_dup_flag'])
365
+ expect(provider).to receive(:check_allow_dup).and_return(['-allow_dup_flag'])
369
366
  expect(provider.addcmd).to include '-allow_dup_flag'
370
367
  end
371
368
 
372
369
  it "should check and add if home is managed" do
373
- provider.expects(:check_manage_home).returns(['-manage_home_flag'])
370
+ expect(provider).to receive(:check_manage_home).and_return(['-manage_home_flag'])
374
371
  expect(provider.addcmd).to include '-manage_home_flag'
375
372
  end
376
373
 
@@ -400,26 +397,26 @@ describe Puppet::Type.type(:user).provider(:useradd) do
400
397
  end
401
398
 
402
399
  it "should return an array with the full command and expiry as MM/DD/YY when on Solaris" do
403
- Facter.stubs(:value).with(:operatingsystem).returns 'Solaris'
404
- described_class.expects(:system_users?).returns true
400
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return('Solaris')
401
+ expect(described_class).to receive(:system_users?).and_return(true)
405
402
  resource[:expiry] = "2012-08-18"
406
403
  expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '08/18/2012', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
407
404
  end
408
405
 
409
406
  it "should return an array with the full command and expiry as YYYY-MM-DD when not on Solaris" do
410
- Facter.stubs(:value).with(:operatingsystem).returns 'not_solaris'
411
- described_class.expects(:system_users?).returns true
407
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return('not_solaris')
408
+ expect(described_class).to receive(:system_users?).and_return(true)
412
409
  resource[:expiry] = "2012-08-18"
413
410
  expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '2012-08-18', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
414
411
  end
415
412
 
416
413
  it "should return an array without -e if expiry is undefined full command" do
417
- described_class.expects(:system_users?).returns true
414
+ expect(described_class).to receive(:system_users?).and_return(true)
418
415
  expect(provider.addcmd).to eq(["/usr/sbin/useradd", "-G", "somegroup", "-o", "-m", "-r", "myuser"])
419
416
  end
420
417
 
421
418
  it "should pass -e \"\" if the expiry has to be removed" do
422
- described_class.expects(:system_users?).returns true
419
+ expect(described_class).to receive(:system_users?).and_return(true)
423
420
  resource[:expiry] = :absent
424
421
 
425
422
  expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
@@ -471,18 +468,18 @@ describe Puppet::Type.type(:user).provider(:useradd) do
471
468
  end
472
469
 
473
470
  it "should return absent if libshadow feature is not present" do
474
- Puppet.features.stubs(:libshadow?).returns false
471
+ allow(Puppet.features).to receive(:libshadow?).and_return(false)
475
472
  # Shadow::Passwd.expects(:getspnam).never # if we really don't have libshadow we dont have Shadow::Passwd either
476
473
  expect(provider.send(property)).to eq(:absent)
477
474
  end
478
475
 
479
476
  it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
480
- Shadow::Passwd.expects(:getspnam).with('myuser').returns nil
477
+ expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(nil)
481
478
  expect(provider.send(property)).to eq(:absent)
482
479
  end
483
480
 
484
481
  it "should return the correct value if libshadow is present", :if => Puppet.features.libshadow? do
485
- Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
482
+ expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
486
483
  expect(provider.send(property)).to eq(expected_value)
487
484
  end
488
485
 
@@ -495,7 +492,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
495
492
  canonical_name = [253, 241].pack('C*').force_encoding(Encoding::EUC_KR)
496
493
  provider = described_class.new(:name => '??', :canonical_name => canonical_name)
497
494
 
498
- Shadow::Passwd.expects(:getspnam).with(canonical_name).returns shadow_entry
495
+ expect(Shadow::Passwd).to receive(:getspnam).with(canonical_name).and_return(shadow_entry)
499
496
  provider.password
500
497
  end
501
498
  end
@@ -507,23 +504,23 @@ describe Puppet::Type.type(:user).provider(:useradd) do
507
504
  end
508
505
 
509
506
  it "should return absent if libshadow feature is not present" do
510
- Puppet.features.stubs(:libshadow?).returns false
507
+ allow(Puppet.features).to receive(:libshadow?).and_return(false)
511
508
  expect(provider.expiry).to eq(:absent)
512
509
  end
513
510
 
514
511
  it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
515
- Shadow::Passwd.expects(:getspnam).with('myuser').returns nil
512
+ expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(nil)
516
513
  expect(provider.expiry).to eq(:absent)
517
514
  end
518
515
 
519
516
  it "should return absent if expiry is -1", :if => Puppet.features.libshadow? do
520
517
  shadow_entry.sp_expire = -1
521
- Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
518
+ expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
522
519
  expect(provider.expiry).to eq(:absent)
523
520
  end
524
521
 
525
522
  it "should convert to YYYY-MM-DD", :if => Puppet.features.libshadow? do
526
- Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
523
+ expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
527
524
  expect(provider.expiry).to eq('2013-01-01')
528
525
  end
529
526
  end
@@ -540,7 +537,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
540
537
  # command(:password) is only called inside passcmd if
541
538
  # password_min_age or password_max_age is set
542
539
  resource[:password_min_age] = 123
543
- provider.expects(:command).with(:password)
540
+ expect(provider).to receive(:command).with(:password)
544
541
  provider.passcmd
545
542
  end
546
543
 
@@ -597,7 +594,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
597
594
  end
598
595
 
599
596
  it "should raise an error if the shell is not executable" do
600
- FileTest.stubs(:executable?).with('LICENSE').returns false
597
+ allow(FileTest).to receive(:executable?).with('LICENSE').and_return(false)
601
598
  resource[:shell] = 'LICENSE'
602
599
  expect { provider.check_valid_shell }.to raise_error(Puppet::Error, /Shell LICENSE must be executable/)
603
600
  end
@@ -605,26 +602,30 @@ describe Puppet::Type.type(:user).provider(:useradd) do
605
602
 
606
603
  describe "#delete" do
607
604
  before do
608
- provider.stubs(:exists?).returns(true)
605
+ allow(provider).to receive(:exists?).and_return(true)
609
606
  resource[:ensure] = :absent
610
607
  end
608
+
611
609
  describe "on systems with the libuser and forcelocal=false" do
612
610
  before do
613
611
  described_class.has_feature :libuser
614
612
  resource[:forcelocal] = false
615
613
  end
614
+
616
615
  it "should use userdel to delete users" do
617
- provider.expects(:execute).with(includes('/usr/sbin/userdel'), has_entry(:custom_environment, {}))
616
+ expect(provider).to receive(:execute).with(include('/usr/sbin/userdel'), hash_including(custom_environment: {}))
618
617
  provider.delete
619
618
  end
620
619
  end
620
+
621
621
  describe "on systems with the libuser and forcelocal=true" do
622
622
  before do
623
623
  described_class.has_feature :libuser
624
624
  resource[:forcelocal] = true
625
625
  end
626
+
626
627
  it "should use luserdel to delete users" do
627
- provider.expects(:execute).with(includes('/usr/sbin/luserdel'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
628
+ expect(provider).to receive(:execute).with(include('/usr/sbin/luserdel'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
628
629
  provider.delete
629
630
  end
630
631
  end