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
@@ -16,11 +16,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
16
16
 
17
17
  describe '.pgrp_to_gid' do
18
18
  it "finds the primary group's gid" do
19
- provider.stubs(:ia_module_args).returns(['-R', 'module'])
19
+ allow(provider).to receive(:ia_module_args).and_return(['-R', 'module'])
20
20
 
21
- group_provider_class.expects(:list_all)
21
+ expect(group_provider_class).to receive(:list_all)
22
22
  .with(provider.ia_module_args)
23
- .returns([{ :name => 'group', :id => 1}])
23
+ .and_return([{ :name => 'group', :id => 1}])
24
24
 
25
25
  expect(provider_class.pgrp_to_gid(provider, 'group')).to eql(1)
26
26
  end
@@ -28,11 +28,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
28
28
 
29
29
  describe '.gid_to_pgrp' do
30
30
  it "finds the gid's primary group" do
31
- provider.stubs(:ia_module_args).returns(['-R', 'module'])
31
+ allow(provider).to receive(:ia_module_args).and_return(['-R', 'module'])
32
32
 
33
- group_provider_class.expects(:list_all)
33
+ expect(group_provider_class).to receive(:list_all)
34
34
  .with(provider.ia_module_args)
35
- .returns([{ :name => 'group', :id => 1}])
35
+ .and_return([{ :name => 'group', :id => 1}])
36
36
 
37
37
  expect(provider_class.gid_to_pgrp(provider, 1)).to eql('group')
38
38
  end
@@ -73,7 +73,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
73
73
  describe '.groups_attribute_to_property' do
74
74
  it "reads the user's groups from the etc/groups file" do
75
75
  groups = ['system', 'adm']
76
- Puppet::Util::POSIX.stubs(:groups_of).with(resource[:name]).returns(groups)
76
+ allow(Puppet::Util::POSIX).to receive(:groups_of).with(resource[:name]).and_return(groups)
77
77
 
78
78
  actual_groups = provider_class.groups_attribute_to_property(provider, 'unused_value')
79
79
  expected_groups = groups.join(',')
@@ -98,19 +98,19 @@ describe 'Puppet::Type::User::Provider::Aix' do
98
98
 
99
99
  describe '#gid=' do
100
100
  let(:value) { 'new_pgrp' }
101
-
102
101
  let(:old_pgrp) { 'old_pgrp' }
103
102
  let(:cur_groups) { 'system,adm' }
103
+
104
104
  before(:each) do
105
- provider.stubs(:gid).returns(old_pgrp)
106
- provider.stubs(:groups).returns(cur_groups)
107
- provider.stubs(:set)
105
+ allow(provider).to receive(:gid).and_return(old_pgrp)
106
+ allow(provider).to receive(:groups).and_return(cur_groups)
107
+ allow(provider).to receive(:set)
108
108
  end
109
109
 
110
110
  it 'raises a Puppet::Error if it fails to set the groups property' do
111
- provider.stubs(:set)
111
+ allow(provider).to receive(:set)
112
112
  .with(:groups, cur_groups)
113
- .raises(Puppet::ExecutionFailure, 'failed to reset the groups!')
113
+ .and_raise(Puppet::ExecutionFailure, 'failed to reset the groups!')
114
114
 
115
115
  expect { provider.gid = value }.to raise_error do |error|
116
116
  expect(error).to be_a(Puppet::Error)
@@ -153,15 +153,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
153
153
 
154
154
  describe '#password=' do
155
155
  let(:mock_tempfile) do
156
- mock_tempfile_obj = mock()
157
- mock_tempfile_obj.stubs(:<<)
158
- mock_tempfile_obj.stubs(:close)
159
- mock_tempfile_obj.stubs(:delete)
160
- mock_tempfile_obj.stubs(:path).returns('tempfile_path')
156
+ mock_tempfile_obj = double()
157
+ allow(mock_tempfile_obj).to receive(:<<)
158
+ allow(mock_tempfile_obj).to receive(:close)
159
+ allow(mock_tempfile_obj).to receive(:delete)
160
+ allow(mock_tempfile_obj).to receive(:path).and_return('tempfile_path')
161
161
 
162
- Tempfile.stubs(:new)
162
+ allow(Tempfile).to receive(:new)
163
163
  .with("puppet_#{provider.name}_pw", :encoding => Encoding::ASCII)
164
- .returns(mock_tempfile_obj)
164
+ .and_return(mock_tempfile_obj)
165
165
 
166
166
  mock_tempfile_obj
167
167
  end
@@ -177,7 +177,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
177
177
  end
178
178
 
179
179
  it 'raises a Puppet::Error if chpasswd fails' do
180
- provider.stubs(:execute).with(cmd, execute_options).returns("failed to change passwd!")
180
+ allow(provider).to receive(:execute).with(cmd, execute_options).and_return("failed to change passwd!")
181
181
  expect { provider.password = 'foo' }.to raise_error do |error|
182
182
  expect(error).to be_a(Puppet::Error)
183
183
  expect(error.message).to match("failed to change passwd!")
@@ -185,15 +185,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
185
185
  end
186
186
 
187
187
  it "changes the user's password" do
188
- provider.expects(:execute).with(cmd, execute_options).returns("")
188
+ expect(provider).to receive(:execute).with(cmd, execute_options).and_return("")
189
189
  provider.password = 'foo'
190
190
  end
191
191
 
192
192
  it "closes and deletes the tempfile" do
193
- provider.stubs(:execute).with(cmd, execute_options).returns("")
193
+ allow(provider).to receive(:execute).with(cmd, execute_options).and_return("")
194
194
 
195
- mock_tempfile.expects(:close).times(2)
196
- mock_tempfile.expects(:delete)
195
+ expect(mock_tempfile).to receive(:close).twice
196
+ expect(mock_tempfile).to receive(:delete)
197
197
 
198
198
  provider.password = 'foo'
199
199
  end
@@ -201,13 +201,13 @@ describe 'Puppet::Type::User::Provider::Aix' do
201
201
 
202
202
  describe '#create' do
203
203
  it 'should create the user' do
204
- provider.resource.stubs(:should).with(anything).returns(nil)
205
- provider.resource.stubs(:should).with(:groups).returns('g1,g2')
206
- provider.resource.stubs(:should).with(:password).returns('password')
204
+ allow(provider.resource).to receive(:should).with(anything).and_return(nil)
205
+ allow(provider.resource).to receive(:should).with(:groups).and_return('g1,g2')
206
+ allow(provider.resource).to receive(:should).with(:password).and_return('password')
207
207
 
208
- provider.expects(:execute)
209
- provider.expects(:groups=).with('g1,g2')
210
- provider.expects(:password=).with('password')
208
+ expect(provider).to receive(:execute)
209
+ expect(provider).to receive(:groups=).with('g1,g2')
210
+ expect(provider).to receive(:password=).with('password')
211
211
 
212
212
  provider.create
213
213
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby -S rspec
2
1
  # encoding: ASCII-8BIT
3
2
  require 'spec_helper'
4
3
 
@@ -295,14 +294,14 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
295
294
  before :each do
296
295
  # Stub out all calls to dscl with default values from above
297
296
  defaults.each do |key, val|
298
- provider.stubs(:merge_attribute_with_dscl).with('Users', username, key, val)
297
+ allow(provider).to receive(:merge_attribute_with_dscl).with('Users', username, key, val)
299
298
  end
300
299
 
301
300
  # Mock the rest of the dscl calls. We can't assume that our Linux
302
301
  # build system will have the dscl binary
303
- provider.stubs(:create_new_user).with(username)
304
- provider.class.stubs(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').returns({'dsAttrTypeStandard:GeneratedUID' => ['GUID']})
305
- provider.stubs(:next_system_id).returns('1000')
302
+ allow(provider).to receive(:create_new_user).with(username)
303
+ allow(provider.class).to receive(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').and_return({'dsAttrTypeStandard:GeneratedUID' => ['GUID']})
304
+ allow(provider).to receive(:next_system_id).and_return('1000')
306
305
  end
307
306
 
308
307
  it 'should not raise any errors when creating a user with default values' do
@@ -313,31 +312,31 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
313
312
  it "should call ##{value}= if a #{value} attribute is specified" do
314
313
  resource[value.intern] = 'somevalue'
315
314
  setter = (value << '=').intern
316
- provider.expects(setter).with('somevalue')
315
+ expect(provider).to receive(setter).with('somevalue')
317
316
  provider.create
318
317
  end
319
318
  end
320
319
 
321
320
  it 'should merge the GroupMembership and GroupMembers dscl values if a groups attribute is specified' do
322
321
  resource[:groups] = 'somegroup'
323
- provider.expects(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembership', username)
324
- provider.expects(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembers', 'GUID')
322
+ expect(provider).to receive(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembership', username)
323
+ expect(provider).to receive(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembers', 'GUID')
325
324
  provider.create
326
325
  end
327
326
 
328
327
  it 'should convert group names into integers' do
329
328
  resource[:gid] = 'somegroup'
330
- Puppet::Util.expects(:gid).with('somegroup').returns(21)
331
- provider.expects(:merge_attribute_with_dscl).with('Users', username, 'PrimaryGroupID', 21)
329
+ expect(Puppet::Util).to receive(:gid).with('somegroup').and_return(21)
330
+ expect(provider).to receive(:merge_attribute_with_dscl).with('Users', username, 'PrimaryGroupID', 21)
332
331
  provider.create
333
332
  end
334
333
  end
335
334
 
336
335
  describe 'self#instances' do
337
336
  it 'should create an array of provider instances' do
338
- provider.class.expects(:get_all_users).returns(['foo', 'bar'])
337
+ expect(provider.class).to receive(:get_all_users).and_return(['foo', 'bar'])
339
338
  ['foo', 'bar'].each do |user|
340
- provider.class.expects(:generate_attribute_hash).with(user).returns({})
339
+ expect(provider.class).to receive(:generate_attribute_hash).with(user).and_return({})
341
340
  end
342
341
  instances = provider.class.instances
343
342
 
@@ -359,12 +358,12 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
359
358
  end
360
359
 
361
360
  it 'should return a hash of user attributes' do
362
- provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Users').returns(user_plist_xml)
361
+ expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Users').and_return(user_plist_xml)
363
362
  expect(provider.class.get_all_users).to eq(user_plist_hash)
364
363
  end
365
364
 
366
365
  it 'should return a hash when passed an empty plist' do
367
- provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Users').returns(empty_plist)
366
+ expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Users').and_return(empty_plist)
368
367
  expect(provider.class.get_all_users).to eq({})
369
368
  end
370
369
  end
@@ -386,11 +385,11 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
386
385
  end
387
386
 
388
387
  before :each do
389
- provider.class.stubs(:get_os_version).returns('10.7')
390
- provider.class.stubs(:get_all_users).returns(testuser_hash)
391
- provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
392
- provider.class.stubs(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
393
- provider.class.stubs(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
388
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
389
+ allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
390
+ allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
391
+ allow(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
392
+ allow(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
394
393
  provider.class.prefetch({})
395
394
  end
396
395
 
@@ -426,16 +425,15 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
426
425
  end
427
426
 
428
427
  before :each do
429
- provider.class.stubs(:get_os_version).returns('10.7')
430
- provider.class.stubs(:get_all_users).returns(testuser_hash)
431
- provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
428
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
429
+ allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
430
+ allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
432
431
  provider.class.prefetch({})
433
432
  end
434
433
 
435
434
  it 'should return a hash of resource attributes' do
436
435
  expect(provider.class.generate_attribute_hash(user_plist_hash.merge(pbkdf2_and_ssha512_shadowhashdata_hash))).to eq(user_plist_resource)
437
436
  end
438
-
439
437
  end
440
438
 
441
439
  describe 'self#generate_attribute_hash empty shadowhashdata' do
@@ -455,9 +453,9 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
455
453
  end
456
454
 
457
455
  it 'should handle empty shadowhashdata' do
458
- provider.class.stubs(:get_os_version).returns('10.7')
459
- provider.class.stubs(:get_all_users).returns([testuser_base])
460
- provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
456
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
457
+ allow(provider.class).to receive(:get_all_users).and_return([testuser_base])
458
+ allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
461
459
  provider.class.prefetch({})
462
460
  expect(provider.class.generate_attribute_hash(user_plist_hash)).to eq(user_plist_resource)
463
461
  end
@@ -465,7 +463,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
465
463
 
466
464
  describe '#delete' do
467
465
  it 'should call dscl when destroying/deleting a resource' do
468
- provider.expects(:dscl).with('.', '-delete', user_path)
466
+ expect(provider).to receive(:dscl).with('.', '-delete', user_path)
469
467
  provider.delete
470
468
  end
471
469
  end
@@ -514,21 +512,20 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
514
512
  }]
515
513
  end
516
514
 
517
-
518
515
  before :each do
519
- provider.class.stubs(:get_all_users).returns(testuser_hash)
520
- provider.class.stubs(:get_os_version).returns('10.7')
516
+ allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
517
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
521
518
  end
522
519
 
523
520
  it "should return a list of groups if the user's name matches GroupMembership" do
524
- provider.class.expects(:get_list_of_groups).returns(group_plist_hash)
525
- provider.class.expects(:get_list_of_groups).returns(group_plist_hash)
521
+ expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash)
522
+ expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash)
526
523
  expect(provider.class.prefetch({}).first.groups).to eq('second,testgroup')
527
524
  end
528
525
 
529
526
  it "should return a list of groups if the user's GUID matches GroupMembers" do
530
- provider.class.expects(:get_list_of_groups).returns(group_plist_hash_guid)
531
- provider.class.expects(:get_list_of_groups).returns(group_plist_hash_guid)
527
+ expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
528
+ expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
532
529
  expect(provider.class.prefetch({}).first.groups).to eq('testgroup,third')
533
530
  end
534
531
  end
@@ -573,66 +570,65 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
573
570
  end
574
571
 
575
572
  before :each do
576
- provider.class.stubs(:get_all_users).returns(testuser_hash)
577
- provider.class.stubs(:get_list_of_groups).returns(group_plist_one_two_three)
573
+ allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
574
+ allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_one_two_three)
578
575
  end
579
576
 
580
577
  it 'should call dscl to add necessary groups' do
581
- provider.class.expects(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').returns({'dsAttrTypeStandard:GeneratedUID' => ['guidnonexistent_user']})
582
- provider.expects(:groups).returns('two,three')
583
- provider.expects(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembership', 'nonexistent_user')
584
- provider.expects(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembers', 'guidnonexistent_user')
578
+ expect(provider.class).to receive(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').and_return({'dsAttrTypeStandard:GeneratedUID' => ['guidnonexistent_user']})
579
+ expect(provider).to receive(:groups).and_return('two,three')
580
+ expect(provider).to receive(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembership', 'nonexistent_user')
581
+ expect(provider).to receive(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembers', 'guidnonexistent_user')
585
582
  provider.class.prefetch({})
586
583
  provider.groups= 'one,two,three'
587
584
  end
588
585
 
589
586
  it 'should call the get_salted_sha512 method on 10.7 and return the correct hash' do
590
- provider.class.expects(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
591
- provider.class.expects(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
587
+ expect(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
588
+ expect(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
592
589
  expect(provider.class.prefetch({}).first.password).to eq(sha512_password_hash)
593
590
  end
594
591
 
595
592
  it 'should call the get_salted_sha512_pbkdf2 method on 10.8 and return the correct hash' do
596
- provider.class.expects(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
597
- provider.class.expects(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
593
+ expect(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
594
+ expect(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
598
595
  expect(provider.class.prefetch({}).last.password).to eq(pbkdf2_password_hash)
599
596
  end
600
-
601
597
  end
602
598
 
603
599
  describe '#password=' do
604
600
  before :each do
605
- provider.stubs(:sleep)
606
- provider.stubs(:flush_dscl_cache)
601
+ allow(provider).to receive(:sleep)
602
+ allow(provider).to receive(:flush_dscl_cache)
607
603
  end
608
604
 
609
605
  it 'should call write_password_to_users_plist when setting the password' do
610
- provider.class.stubs(:get_os_version).returns('10.7')
611
- provider.expects(:write_password_to_users_plist).with(sha512_password_hash)
606
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
607
+ expect(provider).to receive(:write_password_to_users_plist).with(sha512_password_hash)
612
608
  provider.password = sha512_password_hash
613
609
  end
614
610
 
615
611
  it 'should call write_password_to_users_plist when setting the password' do
616
- provider.class.stubs(:get_os_version).returns('10.8')
612
+ allow(provider.class).to receive(:get_os_version).and_return('10.8')
617
613
  resource[:salt] = pbkdf2_salt_value
618
614
  resource[:iterations] = pbkdf2_iterations_value
619
615
  resource[:password] = pbkdf2_password_hash
620
616
 
621
- provider.expects(:write_password_to_users_plist).with(pbkdf2_password_hash)
617
+ expect(provider).to receive(:write_password_to_users_plist).with(pbkdf2_password_hash)
622
618
 
623
619
  provider.password = resource[:password]
624
620
  end
625
621
 
626
622
 
627
623
  it "should raise an error on 10.7 if a password hash that doesn't contain 136 characters is passed" do
628
- provider.class.stubs(:get_os_version).returns('10.7')
624
+ allow(provider.class).to receive(:get_os_version).and_return('10.7')
629
625
  expect { provider.password = 'password' }.to raise_error Puppet::Error, /OS X 10\.7 requires a Salted SHA512 hash password of 136 characters\. Please check your password and try again/
630
626
  end
631
627
  end
632
628
 
633
629
  describe "passwords on 10.8" do
634
630
  before :each do
635
- provider.class.stubs(:get_os_version).returns('10.8')
631
+ allow(provider.class).to receive(:get_os_version).and_return('10.8')
636
632
  end
637
633
 
638
634
  it "should raise an error on 10.8 if a password hash that doesn't contain 256 characters is passed" do
@@ -728,7 +724,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
728
724
  end
729
725
 
730
726
  it 'should return an array of hashes containing group data' do
731
- provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Groups').returns(groups_xml)
727
+ expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Groups').and_return(groups_xml)
732
728
  expect(provider.class.get_list_of_groups).to eq(groups_hash)
733
729
  end
734
730
  end
@@ -757,28 +753,28 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
757
753
  end
758
754
 
759
755
  it 'should return a hash containing a user\'s dscl attribute data' do
760
- provider.class.expects(:dscl).with('-plist', '.', 'read', user_path, 'GeneratedUID').returns(user_guid_xml)
756
+ expect(provider.class).to receive(:dscl).with('-plist', '.', 'read', user_path, 'GeneratedUID').and_return(user_guid_xml)
761
757
  expect(provider.class.get_attribute_from_dscl('Users', username, 'GeneratedUID')).to eq(user_guid_hash)
762
758
  end
763
759
  end
764
760
 
765
761
  describe '#convert_hash_to_binary' do
766
762
  it 'should use plutil to successfully convert an xml plist to a binary plist' do
767
- Puppet::Util::Plist.expects(:dump_plist).with('ruby_hash', :binary).returns('binary_plist_data')
763
+ expect(Puppet::Util::Plist).to receive(:dump_plist).with('ruby_hash', :binary).and_return('binary_plist_data')
768
764
  expect(provider.class.convert_hash_to_binary('ruby_hash')).to eq('binary_plist_data')
769
765
  end
770
766
  end
771
767
 
772
768
  describe '#convert_binary_to_hash' do
773
769
  it 'should accept a binary plist and return a ruby hash containing the plist data' do
774
- Puppet::Util::Plist.expects(:parse_plist).with('binary_plist_data').returns(user_plist_hash)
770
+ expect(Puppet::Util::Plist).to receive(:parse_plist).with('binary_plist_data').and_return(user_plist_hash)
775
771
  expect(provider.class.convert_binary_to_hash('binary_plist_data')).to eq(user_plist_hash)
776
772
  end
777
773
  end
778
774
 
779
775
  describe '#next_system_id' do
780
776
  it 'should return the next available UID number that is not in the list obtained from dscl and is greater than the passed integer value' do
781
- provider.expects(:dscl).with('.', '-list', '/Users', 'uid').returns("kathee 312\ngary 11\ntanny 33\njohn 9\nzach 5")
777
+ expect(provider).to receive(:dscl).with('.', '-list', '/Users', 'uid').and_return("kathee 312\ngary 11\ntanny 33\njohn 9\nzach 5")
782
778
  expect(provider.next_system_id(30)).to eq(34)
783
779
  end
784
780
  end
@@ -809,33 +805,33 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
809
805
 
810
806
  describe '#get_sha1' do
811
807
  let(:password_hash_file) { '/var/db/shadow/hash/user_guid' }
812
- let(:stub_password_file) { stub('connection') }
808
+ let(:stub_password_file) { double('connection') }
813
809
 
814
810
  it 'should return a sha1 hash read from disk' do
815
- Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
816
- File.expects(:file?).with(password_hash_file).returns(true)
817
- File.expects(:readable?).with(password_hash_file).returns(true)
818
- File.expects(:new).with(password_hash_file).returns(stub_password_file)
819
- stub_password_file.expects(:read).returns('sha1_password_hash')
820
- stub_password_file.expects(:close)
811
+ expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
812
+ expect(File).to receive(:file?).with(password_hash_file).and_return(true)
813
+ expect(File).to receive(:readable?).with(password_hash_file).and_return(true)
814
+ expect(File).to receive(:new).with(password_hash_file).and_return(stub_password_file)
815
+ expect(stub_password_file).to receive(:read).and_return('sha1_password_hash')
816
+ expect(stub_password_file).to receive(:close)
821
817
  expect(provider.class.get_sha1('user_guid')).to eq('sha1_password_hash')
822
818
  end
823
819
 
824
820
  it 'should return nil if the password_hash_file does not exist' do
825
- Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(false)
821
+ expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(false)
826
822
  expect(provider.class.get_sha1('user_guid')).to eq(nil)
827
823
  end
828
824
 
829
825
  it 'should return nil if the password_hash_file is not a file' do
830
- Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
831
- File.expects(:file?).with(password_hash_file).returns(false)
826
+ expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
827
+ expect(File).to receive(:file?).with(password_hash_file).and_return(false)
832
828
  expect(provider.class.get_sha1('user_guid')).to eq(nil)
833
829
  end
834
830
 
835
831
  it 'should raise an error if the password_hash_file is not readable' do
836
- Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
837
- File.expects(:file?).with(password_hash_file).returns(true)
838
- File.expects(:readable?).with(password_hash_file).returns(false)
832
+ expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
833
+ expect(File).to receive(:file?).with(password_hash_file).and_return(true)
834
+ expect(File).to receive(:readable?).with(password_hash_file).and_return(false)
839
835
  expect { expect(provider.class.get_sha1('user_guid')).to eq(nil) }.to raise_error(Puppet::Error, /Could not read password hash file at #{password_hash_file}/)
840
836
  end
841
837
  end
@@ -889,26 +885,26 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
889
885
  end
890
886
 
891
887
  it 'should call set_salted_sha512 on 10.7 when given a salted-SHA512 password hash' do
892
- provider.expects(:get_users_plist).returns(sample_users_plist)
893
- provider.expects(:get_shadow_hash_data).with(sample_users_plist).returns(sha512_shadowhashdata)
894
- provider.class.expects(:get_os_version).returns('10.7')
895
- provider.expects(:set_salted_sha512).with(sample_users_plist, sha512_shadowhashdata, sha512_password_hash)
888
+ expect(provider).to receive(:get_users_plist).and_return(sample_users_plist)
889
+ expect(provider).to receive(:get_shadow_hash_data).with(sample_users_plist).and_return(sha512_shadowhashdata)
890
+ expect(provider.class).to receive(:get_os_version).and_return('10.7')
891
+ expect(provider).to receive(:set_salted_sha512).with(sample_users_plist, sha512_shadowhashdata, sha512_password_hash)
896
892
  provider.write_password_to_users_plist(sha512_password_hash)
897
893
  end
898
894
 
899
895
  it 'should call set_salted_pbkdf2 on 10.8 when given a PBKDF2 password hash' do
900
- provider.expects(:get_users_plist).returns(sample_users_plist)
901
- provider.expects(:get_shadow_hash_data).with(sample_users_plist).returns(pbkdf2_shadowhashdata)
902
- provider.class.expects(:get_os_version).returns('10.8')
903
- provider.expects(:set_salted_pbkdf2).with(sample_users_plist, pbkdf2_shadowhashdata, 'entropy', pbkdf2_password_hash)
896
+ expect(provider).to receive(:get_users_plist).and_return(sample_users_plist)
897
+ expect(provider).to receive(:get_shadow_hash_data).with(sample_users_plist).and_return(pbkdf2_shadowhashdata)
898
+ expect(provider.class).to receive(:get_os_version).and_return('10.8')
899
+ expect(provider).to receive(:set_salted_pbkdf2).with(sample_users_plist, pbkdf2_shadowhashdata, 'entropy', pbkdf2_password_hash)
904
900
  provider.write_password_to_users_plist(pbkdf2_password_hash)
905
901
  end
906
902
 
907
903
  it "should delete the SALTED-SHA512 key in the shadow_hash_data hash if it exists on a 10.8 system and write_password_to_users_plist has been called to set the user's password" do
908
- provider.expects(:get_users_plist).returns('users_plist')
909
- provider.expects(:get_shadow_hash_data).with('users_plist').returns(sha512_shadowhashdata)
910
- provider.class.expects(:get_os_version).returns('10.8')
911
- provider.expects(:set_salted_pbkdf2).with('users_plist', {}, 'entropy', pbkdf2_password_hash)
904
+ expect(provider).to receive(:get_users_plist).and_return('users_plist')
905
+ expect(provider).to receive(:get_shadow_hash_data).with('users_plist').and_return(sha512_shadowhashdata)
906
+ expect(provider.class).to receive(:get_os_version).and_return('10.8')
907
+ expect(provider).to receive(:set_salted_pbkdf2).with('users_plist', {}, 'entropy', pbkdf2_password_hash)
912
908
  provider.write_password_to_users_plist(pbkdf2_password_hash)
913
909
  end
914
910
  end
@@ -922,14 +918,14 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
922
918
  end
923
919
 
924
920
  it 'should set the SALTED-SHA512 password hash for a user in 10.7 and call the set_shadow_hash_data method to write the plist to disk' do
925
- provider.class.expects(:convert_hash_to_binary).with(sha512_embedded_bplist_hash).returns(sha512_embedded_bplist)
926
- provider.expects(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
921
+ expect(provider.class).to receive(:convert_hash_to_binary).with(sha512_embedded_bplist_hash).and_return(sha512_embedded_bplist)
922
+ expect(provider).to receive(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
927
923
  provider.set_salted_sha512(users_plist, sha512_embedded_bplist_hash, sha512_password_hash)
928
924
  end
929
925
 
930
926
  it 'should set the salted-SHA512 password, even if a blank shadow_hash_data hash is passed' do
931
- provider.class.expects(:convert_hash_to_binary).with(sha512_shadow_hash_data).returns(sha512_embedded_bplist)
932
- provider.expects(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
927
+ expect(provider.class).to receive(:convert_hash_to_binary).with(sha512_shadow_hash_data).and_return(sha512_embedded_bplist)
928
+ expect(provider).to receive(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
933
929
  provider.set_salted_sha512(users_plist, false, sha512_password_hash)
934
930
  end
935
931
  end
@@ -948,46 +944,46 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
948
944
  # This will also catch the edge-case where a 10.6-style user exists on
949
945
  # a 10.8 system and Puppet attempts to set a password
950
946
  it 'should not fail if shadow_hash_data is not a Hash' do
951
- Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash)).returns('binary_string')
952
- provider.class.expects(:convert_hash_to_binary).with(entropy_shadow_hash_data).returns('binary_plist')
953
- provider.expects(:set_shadow_hash_data).with({'passwd' => '********'}, 'binary_plist')
947
+ expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash)).and_return('binary_string')
948
+ expect(provider.class).to receive(:convert_hash_to_binary).with(entropy_shadow_hash_data).and_return('binary_plist')
949
+ expect(provider).to receive(:set_shadow_hash_data).with({'passwd' => '********'}, 'binary_plist')
954
950
  provider.set_salted_pbkdf2({}, false, 'entropy', pbkdf2_password_hash)
955
951
  end
956
952
 
957
953
  it "should set the PBKDF2 password hash when the 'entropy' field is passed with a valid password hash" do
958
- Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash))
959
- provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
960
- provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
961
- users_plist.expects(:[]=).with('passwd', '********')
954
+ expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash))
955
+ expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
956
+ expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
957
+ expect(users_plist).to receive(:[]=).with('passwd', '********')
962
958
  provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'entropy', pbkdf2_password_hash)
963
959
  end
964
960
 
965
961
  it "should set the PBKDF2 password hash when the 'salt' field is passed with a valid password hash" do
966
- Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_salt_value))
967
- provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
968
- provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
969
- users_plist.expects(:[]=).with('passwd', '********')
962
+ expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_salt_value))
963
+ expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
964
+ expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
965
+ expect(users_plist).to receive(:[]=).with('passwd', '********')
970
966
  provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'salt', pbkdf2_salt_value)
971
967
  end
972
968
 
973
969
  it "should set the PBKDF2 password hash when the 'iterations' field is passed with a valid password hash" do
974
- provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
975
- provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
976
- users_plist.expects(:[]=).with('passwd', '********')
970
+ expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
971
+ expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
972
+ expect(users_plist).to receive(:[]=).with('passwd', '********')
977
973
  provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'iterations', pbkdf2_iterations_value)
978
974
  end
979
975
  end
980
976
 
981
977
  describe '#write_users_plist_to_disk' do
982
978
  it 'should save the passed plist to disk and convert it to a binary plist' do
983
- Puppet::Util::Plist.expects(:write_plist_file).with(user_plist_xml, "#{users_plist_dir}/nonexistent_user.plist", :binary)
979
+ expect(Puppet::Util::Plist).to receive(:write_plist_file).with(user_plist_xml, "#{users_plist_dir}/nonexistent_user.plist", :binary)
984
980
  provider.write_users_plist_to_disk(user_plist_xml)
985
981
  end
986
982
  end
987
983
 
988
984
  describe '#merge_attribute_with_dscl' do
989
985
  it 'should raise an error if a dscl command raises an error' do
990
- provider.expects(:dscl).with('.', '-merge', user_path, 'GeneratedUID', 'GUID').raises(Puppet::ExecutionFailure, 'boom')
986
+ expect(provider).to receive(:dscl).with('.', '-merge', user_path, 'GeneratedUID', 'GUID').and_raise(Puppet::ExecutionFailure, 'boom')
991
987
  expect { provider.merge_attribute_with_dscl('Users', username, 'GeneratedUID', 'GUID') }.to raise_error Puppet::Error, /Could not set the dscl GeneratedUID key with value: GUID/
992
988
  end
993
989
  end
@@ -1001,7 +997,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
1001
997
  end
1002
998
 
1003
999
  it 'should convert a plist to a valid Ruby hash' do
1004
- Puppet::Util::Plist.expects(:read_plist_file).with("#{users_plist_dir}/#{username}.plist").returns(test_hash)
1000
+ expect(Puppet::Util::Plist).to receive(:read_plist_file).with("#{users_plist_dir}/#{username}.plist").and_return(test_hash)
1005
1001
  expect(provider.get_users_plist(username)).to eq(test_hash, )
1006
1002
  end
1007
1003
  end
@@ -1026,7 +1022,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
1026
1022
  it 'should call convert_binary_to_hash() with the string ' +
1027
1023
  'located in the first element of the array of the ShadowHashData key if the ' +
1028
1024
  'passed users_plist contains a ShadowHashData key' do
1029
- provider.class.expects(:convert_binary_to_hash).with('test').returns('returnvalue')
1025
+ expect(provider.class).to receive(:convert_binary_to_hash).with('test').and_return('returnvalue')
1030
1026
  expect(provider.get_shadow_hash_data(shadow_hash)).to eq('returnvalue')
1031
1027
  end
1032
1028
  end
@@ -1039,7 +1035,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
1039
1035
 
1040
1036
  it 'should call Facter.value(:macosx_productversion_major) ONLY ONCE no matter how ' +
1041
1037
  'many times get_os_version() is called' do
1042
- Facter.expects(:value).with(:macosx_productversion_major).once.returns('10.8')
1038
+ expect(Facter).to receive(:value).with(:macosx_productversion_major).once.and_return('10.8')
1043
1039
  expect(provider.class.get_os_version).to eq('10.8')
1044
1040
  expect(provider.class.get_os_version).to eq('10.8')
1045
1041
  expect(provider.class.get_os_version).to eq('10.8')
@@ -1127,8 +1123,8 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
1127
1123
  end
1128
1124
 
1129
1125
  before :each do
1130
- provider.class.stubs(:get_all_users).returns(all_users_hash)
1131
- provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
1126
+ allow(provider.class).to receive(:get_all_users).and_return(all_users_hash)
1127
+ allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
1132
1128
  provider.class.prefetch({})
1133
1129
  end
1134
1130
 
@@ -1138,14 +1134,13 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
1138
1134
  resource[:salt] = pbkdf2_salt_value
1139
1135
  resource[:iterations] = pbkdf2_iterations_value
1140
1136
  resource[:password] = pbkdf2_password_hash
1141
- provider.class.stubs(:get_os_version).returns('10.8')
1142
- provider.stubs(:sleep)
1143
- provider.stubs(:flush_dscl_cache)
1137
+ allow(provider.class).to receive(:get_os_version).and_return('10.8')
1138
+ allow(provider).to receive(:sleep)
1139
+ allow(provider).to receive(:flush_dscl_cache)
1144
1140
 
1145
- provider.expects(:get_users_plist).with('testuser').returns(user_plist_hash)
1146
- provider.expects(:set_salted_pbkdf2).with(user_plist_hash, false, 'entropy', pbkdf2_password_hash)
1141
+ expect(provider).to receive(:get_users_plist).with('testuser').and_return(user_plist_hash)
1142
+ expect(provider).to receive(:set_salted_pbkdf2).with(user_plist_hash, false, 'entropy', pbkdf2_password_hash)
1147
1143
  provider.password = resource[:password]
1148
1144
  end
1149
1145
  end
1150
1146
  end
1151
-