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
@@ -1,14 +1,15 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
3
+ RSpec::Matchers.define_negated_matcher :excluding, :include
4
+
4
5
  describe Puppet::Type.type(:group).provider(:groupadd) do
5
6
  before do
6
- described_class.stubs(:command).with(:add).returns '/usr/sbin/groupadd'
7
- described_class.stubs(:command).with(:delete).returns '/usr/sbin/groupdel'
8
- described_class.stubs(:command).with(:modify).returns '/usr/sbin/groupmod'
9
- described_class.stubs(:command).with(:localadd).returns '/usr/sbin/lgroupadd'
10
- described_class.stubs(:command).with(:localdelete).returns '/usr/sbin/lgroupdel'
11
- described_class.stubs(:command).with(:localmodify).returns '/usr/sbin/lgroupmod'
7
+ allow(described_class).to receive(:command).with(:add).and_return('/usr/sbin/groupadd')
8
+ allow(described_class).to receive(:command).with(:delete).and_return('/usr/sbin/groupdel')
9
+ allow(described_class).to receive(:command).with(:modify).and_return('/usr/sbin/groupmod')
10
+ allow(described_class).to receive(:command).with(:localadd).and_return('/usr/sbin/lgroupadd')
11
+ allow(described_class).to receive(:command).with(:localdelete).and_return('/usr/sbin/lgroupdel')
12
+ allow(described_class).to receive(:command).with(:localmodify).and_return('/usr/sbin/lgroupmod')
12
13
  end
13
14
 
14
15
  let(:resource) { Puppet::Type.type(:group).new(:name => 'mygroup', :provider => provider) }
@@ -16,19 +17,19 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
16
17
 
17
18
  describe "#create" do
18
19
  before do
19
- provider.stubs(:exists?).returns(false)
20
+ allow(provider).to receive(:exists?).and_return(false)
20
21
  end
21
22
 
22
23
  it "should add -o when allowdupe is enabled and the group is being created" do
23
24
  resource[:allowdupe] = :true
24
- provider.expects(:execute).with(['/usr/sbin/groupadd', '-o', 'mygroup'], kind_of(Hash))
25
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupadd', '-o', 'mygroup'], kind_of(Hash))
25
26
  provider.create
26
27
  end
27
28
 
28
29
  describe "on system that feature system_groups", :if => described_class.system_groups? do
29
30
  it "should add -r when system is enabled and the group is being created" do
30
31
  resource[:system] = :true
31
- provider.expects(:execute).with(['/usr/sbin/groupadd', '-r', 'mygroup'], kind_of(Hash))
32
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupadd', '-r', 'mygroup'], kind_of(Hash))
32
33
  provider.create
33
34
  end
34
35
  end
@@ -36,7 +37,7 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
36
37
  describe "on system that do not feature system_groups", :unless => described_class.system_groups? do
37
38
  it "should not add -r when system is enabled and the group is being created" do
38
39
  resource[:system] = :true
39
- provider.expects(:execute).with(['/usr/sbin/groupadd', 'mygroup'], kind_of(Hash))
40
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupadd', 'mygroup'], kind_of(Hash))
40
41
  provider.create
41
42
  end
42
43
  end
@@ -48,29 +49,29 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
48
49
  end
49
50
 
50
51
  it "should use lgroupadd instead of groupadd" do
51
- provider.expects(:execute).with(includes('/usr/sbin/lgroupadd'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
52
+ expect(provider).to receive(:execute).with(including('/usr/sbin/lgroupadd'), hash_including(:custom_environment => hash_including('LIBUSER_CONF')))
52
53
  provider.create
53
54
  end
54
55
 
55
56
  it "should NOT pass -o to lgroupadd" do
56
57
  resource[:allowdupe] = :true
57
- provider.expects(:execute).with(Not(includes('-o')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
58
+ expect(provider).to receive(:execute).with(excluding('-o'), hash_including(:custom_environment => hash_including('LIBUSER_CONF')))
58
59
  provider.create
59
60
  end
60
61
 
61
62
  it "should raise an exception for duplicate GID if allowdupe is not set and duplicate GIDs exist" do
62
63
  resource[:gid] = 505
63
- provider.stubs(:findgroup).returns(true)
64
+ allow(provider).to receive(:findgroup).and_return(true)
64
65
  expect { provider.create }.to raise_error(Puppet::Error, "GID 505 already exists, use allowdupe to force group creation")
65
66
  end
66
67
  end
67
-
68
68
  end
69
69
 
70
70
  describe "#modify" do
71
71
  before do
72
- provider.stubs(:exists?).returns(true)
72
+ allow(provider).to receive(:exists?).and_return(true)
73
73
  end
74
+
74
75
  describe "on systems with the libuser and forcelocal=false" do
75
76
  before do
76
77
  described_class.has_feature(:libuser)
@@ -78,16 +79,17 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
78
79
  end
79
80
 
80
81
  it "should use groupmod" do
81
- provider.expects(:execute).with(['/usr/sbin/groupmod', '-g', 150, 'mygroup'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
82
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupmod', '-g', 150, 'mygroup'], hash_including({:failonfail => true, :combine => true, :custom_environment => {}}))
82
83
  provider.gid = 150
83
84
  end
84
85
 
85
86
  it "should pass -o to groupmod" do
86
87
  resource[:allowdupe] = :true
87
- provider.expects(:execute).with(['/usr/sbin/groupmod', '-g', 150, '-o', 'mygroup'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
88
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupmod', '-g', 150, '-o', 'mygroup'], hash_including({:failonfail => true, :combine => true, :custom_environment => {}}))
88
89
  provider.gid = 150
89
90
  end
90
91
  end
92
+
91
93
  describe "on systems with the libuser and forcelocal=true" do
92
94
  before do
93
95
  described_class.has_feature(:libuser)
@@ -95,19 +97,20 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
95
97
  end
96
98
 
97
99
  it "should use lgroupmod instead of groupmod" do
98
- provider.expects(:execute).with(['/usr/sbin/lgroupmod', '-g', 150, 'mygroup'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
100
+ expect(provider).to receive(:execute).with(['/usr/sbin/lgroupmod', '-g', 150, 'mygroup'], hash_including(:custom_environment => hash_including('LIBUSER_CONF')))
99
101
  provider.gid = 150
100
102
  end
101
103
 
102
104
  it "should NOT pass -o to lgroupmod" do
103
105
  resource[:allowdupe] = :true
104
- provider.expects(:execute).with(['/usr/sbin/lgroupmod', '-g', 150, 'mygroup'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
106
+ expect(provider).to receive(:execute).with(['/usr/sbin/lgroupmod', '-g', 150, 'mygroup'], hash_including(:custom_environment => hash_including('LIBUSER_CONF')))
105
107
  provider.gid = 150
106
108
  end
109
+
107
110
  it "should raise an exception for duplicate GID if allowdupe is not set and duplicate GIDs exist" do
108
111
  resource[:gid] = 150
109
112
  resource[:allowdupe] = :false
110
- provider.stubs(:findgroup).returns(true)
113
+ allow(provider).to receive(:findgroup).and_return(true)
111
114
  expect { provider.gid = 150 }.to raise_error(Puppet::Error, "GID 150 already exists, use allowdupe to force group creation")
112
115
  end
113
116
  end
@@ -116,15 +119,16 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
116
119
  describe "#gid=" do
117
120
  it "should add -o when allowdupe is enabled and the gid is being modified" do
118
121
  resource[:allowdupe] = :true
119
- provider.expects(:execute).with(['/usr/sbin/groupmod', '-g', 150, '-o', 'mygroup'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
122
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupmod', '-g', 150, '-o', 'mygroup'], hash_including({:failonfail => true, :combine => true, :custom_environment => {}}))
120
123
  provider.gid = 150
121
124
  end
122
125
  end
123
126
 
124
127
  describe "#delete" do
125
128
  before do
126
- provider.stubs(:exists?).returns(true)
129
+ allow(provider).to receive(:exists?).and_return(true)
127
130
  end
131
+
128
132
  describe "on systems with the libuser and forcelocal=false" do
129
133
  before do
130
134
  described_class.has_feature(:libuser)
@@ -132,10 +136,11 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
132
136
  end
133
137
 
134
138
  it "should use groupdel" do
135
- provider.expects(:execute).with(['/usr/sbin/groupdel', 'mygroup'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
139
+ expect(provider).to receive(:execute).with(['/usr/sbin/groupdel', 'mygroup'], hash_including({:failonfail => true, :combine => true, :custom_environment => {}}))
136
140
  provider.delete
137
141
  end
138
142
  end
143
+
139
144
  describe "on systems with the libuser and forcelocal=true" do
140
145
  before do
141
146
  described_class.has_feature(:libuser)
@@ -143,10 +148,9 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
143
148
  end
144
149
 
145
150
  it "should use lgroupdel instead of groupdel" do
146
- provider.expects(:execute).with(['/usr/sbin/lgroupdel', 'mygroup'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
151
+ expect(provider).to receive(:execute).with(['/usr/sbin/lgroupdel', 'mygroup'], hash_including(:custom_environment => hash_including('LIBUSER_CONF')))
147
152
  provider.delete
148
153
  end
149
154
  end
150
155
  end
151
156
  end
152
-
@@ -32,38 +32,38 @@ describe Puppet::Type.type(:group).provider(:ldap) do
32
32
  describe "when being created" do
33
33
  before do
34
34
  # So we don't try to actually talk to ldap
35
- @connection = mock 'connection'
36
- described_class.manager.stubs(:connect).yields @connection
35
+ @connection = double('connection')
36
+ allow(described_class.manager).to receive(:connect).and_yield(@connection)
37
37
  end
38
38
 
39
39
  describe "with no gid specified" do
40
40
  it "should pick the first available GID after the largest existing GID" do
41
41
  low = {:name=>["luke"], :gid=>["600"]}
42
42
  high = {:name=>["testing"], :gid=>["640"]}
43
- described_class.manager.expects(:search).returns([low, high])
43
+ expect(described_class.manager).to receive(:search).and_return([low, high])
44
44
 
45
- resource = stub 'resource', :should => %w{whatever}
46
- resource.stubs(:should).with(:gid).returns nil
47
- resource.stubs(:should).with(:ensure).returns :present
45
+ resource = double('resource', :should => %w{whatever})
46
+ allow(resource).to receive(:should).with(:gid).and_return(nil)
47
+ allow(resource).to receive(:should).with(:ensure).and_return(:present)
48
48
  instance = described_class.new(:name => "luke", :ensure => :absent)
49
- instance.stubs(:resource).returns resource
49
+ allow(instance).to receive(:resource).and_return(resource)
50
50
 
51
- @connection.expects(:add).with { |dn, attrs| attrs["gidNumber"] == ["641"] }
51
+ expect(@connection).to receive(:add).with(anything, hash_including("gidNumber" => ["641"]))
52
52
 
53
53
  instance.create
54
54
  instance.flush
55
55
  end
56
56
 
57
57
  it "should pick '501' as its GID if no groups are found" do
58
- described_class.manager.expects(:search).returns nil
58
+ expect(described_class.manager).to receive(:search).and_return(nil)
59
59
 
60
- resource = stub 'resource', :should => %w{whatever}
61
- resource.stubs(:should).with(:gid).returns nil
62
- resource.stubs(:should).with(:ensure).returns :present
60
+ resource = double('resource', :should => %w{whatever})
61
+ allow(resource).to receive(:should).with(:gid).and_return(nil)
62
+ allow(resource).to receive(:should).with(:ensure).and_return(:present)
63
63
  instance = described_class.new(:name => "luke", :ensure => :absent)
64
- instance.stubs(:resource).returns resource
64
+ allow(instance).to receive(:resource).and_return(resource)
65
65
 
66
- @connection.expects(:add).with { |dn, attrs| attrs["gidNumber"] == ["501"] }
66
+ expect(@connection).to receive(:add).with(anything, hash_including("gidNumber" => ["501"]))
67
67
 
68
68
  instance.create
69
69
  instance.flush
@@ -77,21 +77,21 @@ describe Puppet::Type.type(:group).provider(:ldap) do
77
77
 
78
78
  describe "when converting from a group name to GID" do
79
79
  it "should use the ldap manager to look up the GID" do
80
- described_class.manager.expects(:search).with("cn=foo")
80
+ expect(described_class.manager).to receive(:search).with("cn=foo")
81
81
  described_class.name2id("foo")
82
82
  end
83
83
 
84
84
  it "should return nil if no group is found" do
85
- described_class.manager.expects(:search).with("cn=foo").returns nil
85
+ expect(described_class.manager).to receive(:search).with("cn=foo").and_return(nil)
86
86
  expect(described_class.name2id("foo")).to be_nil
87
- described_class.manager.expects(:search).with("cn=bar").returns []
87
+ expect(described_class.manager).to receive(:search).with("cn=bar").and_return([])
88
88
  expect(described_class.name2id("bar")).to be_nil
89
89
  end
90
90
 
91
91
  # We shouldn't ever actually have more than one gid, but it doesn't hurt
92
92
  # to test for the possibility.
93
93
  it "should return the first gid from the first returned group" do
94
- described_class.manager.expects(:search).with("cn=foo").returns [{:name => "foo", :gid => [10, 11]}, {:name => :bar, :gid => [20, 21]}]
94
+ expect(described_class.manager).to receive(:search).with("cn=foo").and_return([{:name => "foo", :gid => [10, 11]}, {:name => :bar, :gid => [20, 21]}])
95
95
  expect(described_class.name2id("foo")).to eq(10)
96
96
  end
97
97
  end
@@ -12,46 +12,46 @@ describe Puppet::Type.type(:group).provider(:pw) do
12
12
  describe "when creating groups" do
13
13
  let :provider do
14
14
  prov = resource.provider
15
- prov.expects(:exists?).returns nil
15
+ expect(prov).to receive(:exists?).and_return(nil)
16
16
  prov
17
17
  end
18
18
 
19
19
  it "should run pw with no additional flags when no properties are given" do
20
20
  expect(provider.addcmd).to eq([described_class.command(:pw), "groupadd", "testgroup"])
21
- provider.expects(:execute).with([described_class.command(:pw), "groupadd", "testgroup"], kind_of(Hash))
21
+ expect(provider).to receive(:execute).with([described_class.command(:pw), "groupadd", "testgroup"], kind_of(Hash))
22
22
  provider.create
23
23
  end
24
24
 
25
25
  it "should use -o when allowdupe is enabled" do
26
26
  resource[:allowdupe] = true
27
- provider.expects(:execute).with(includes("-o"), kind_of(Hash))
27
+ expect(provider).to receive(:execute).with(include("-o"), kind_of(Hash))
28
28
  provider.create
29
29
  end
30
30
 
31
31
  it "should use -g with the correct argument when the gid property is set" do
32
32
  resource[:gid] = 12345
33
- provider.expects(:execute).with(all_of(includes("-g"), includes(12345)), kind_of(Hash))
33
+ expect(provider).to receive(:execute).with(include("-g") & include(12345), kind_of(Hash))
34
34
  provider.create
35
35
  end
36
36
 
37
37
  it "should use -M with the correct argument when the members property is set" do
38
38
  resource[:members] = "user1"
39
- provider.expects(:execute).with(all_of(includes("-M"), includes("user1")), kind_of(Hash))
39
+ expect(provider).to receive(:execute).with(include("-M") & include("user1"), kind_of(Hash))
40
40
  provider.create
41
41
  end
42
42
 
43
43
  it "should use -M with all the given users when the members property is set to an array" do
44
44
  resource[:members] = ["user1", "user2"]
45
- provider.expects(:execute).with(all_of(includes("-M"), includes("user1,user2")), kind_of(Hash))
45
+ expect(provider).to receive(:execute).with(include("-M") & include("user1,user2"), kind_of(Hash))
46
46
  provider.create
47
47
  end
48
48
  end
49
49
 
50
50
  describe "when deleting groups" do
51
51
  it "should run pw with no additional flags" do
52
- provider.expects(:exists?).returns true
52
+ expect(provider).to receive(:exists?).and_return(true)
53
53
  expect(provider.deletecmd).to eq([described_class.command(:pw), "groupdel", "testgroup"])
54
- provider.expects(:execute).with([described_class.command(:pw), "groupdel", "testgroup"], has_entry(:custom_environment, {}))
54
+ expect(provider).to receive(:execute).with([described_class.command(:pw), "groupdel", "testgroup"], hash_including(:custom_environment => {}))
55
55
  provider.delete
56
56
  end
57
57
  end
@@ -59,19 +59,19 @@ describe Puppet::Type.type(:group).provider(:pw) do
59
59
  describe "when modifying groups" do
60
60
  it "should run pw with the correct arguments" do
61
61
  expect(provider.modifycmd("gid", 12345)).to eq([described_class.command(:pw), "groupmod", "testgroup", "-g", 12345])
62
- provider.expects(:execute).with([described_class.command(:pw), "groupmod", "testgroup", "-g", 12345], has_entry(:custom_environment, {}))
62
+ expect(provider).to receive(:execute).with([described_class.command(:pw), "groupmod", "testgroup", "-g", 12345], hash_including(:custom_environment => {}))
63
63
  provider.gid = 12345
64
64
  end
65
65
 
66
66
  it "should use -M with the correct argument when the members property is changed" do
67
67
  resource[:members] = "user1"
68
- provider.expects(:execute).with(all_of(includes("-M"), includes("user2")), has_entry(:custom_environment, {}))
68
+ expect(provider).to receive(:execute).with(include("-M") & include("user2"), hash_including(:custom_environment, {}))
69
69
  provider.members = "user2"
70
70
  end
71
71
 
72
72
  it "should use -M with all the given users when the members property is changed with an array" do
73
73
  resource[:members] = ["user1", "user2"]
74
- provider.expects(:execute).with(all_of(includes("-M"), includes("user3,user4")), has_entry(:custom_environment, {}))
74
+ expect(provider).to receive(:execute).with(include("-M") & include("user3,user4"), hash_including(:custom_environment, {}))
75
75
  provider.members = ["user3", "user4"]
76
76
  end
77
77
  end
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet::Util::Platform.windows? do
@@ -11,39 +9,37 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet::Util:
11
9
  end
12
10
 
13
11
  let(:provider) { resource.provider }
14
-
15
- let(:connection) { stub 'connection' }
12
+ let(:connection) { double('connection') }
16
13
 
17
14
  before :each do
18
- Puppet::Util::Windows::ADSI.stubs(:computer_name).returns('testcomputername')
19
- Puppet::Util::Windows::ADSI.stubs(:connect).returns connection
15
+ allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return('testcomputername')
16
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(connection)
20
17
  # this would normally query the system, but not needed for these tests
21
- Puppet::Util::Windows::ADSI::Group.stubs(:localized_domains).returns([])
18
+ allow(Puppet::Util::Windows::ADSI::Group).to receive(:localized_domains).and_return([])
22
19
  end
23
20
 
24
21
  describe ".instances" do
25
22
  it "should enumerate all groups" do
26
23
  names = ['group1', 'group2', 'group3']
27
- stub_groups = names.map{|n| stub(:name => n)}
24
+ stub_groups = names.map{|n| double(:name => n)}
28
25
 
29
- connection.stubs(:execquery).with('select name from win32_group where localaccount = "TRUE"').returns stub_groups
26
+ allow(connection).to receive(:execquery).with('select name from win32_group where localaccount = "TRUE"').and_return(stub_groups)
30
27
 
31
28
  expect(described_class.instances.map(&:name)).to match(names)
32
29
  end
33
30
  end
34
31
 
35
32
  describe "group type :members property helpers" do
36
-
37
- let(:user1) { stub(:account => 'user1', :domain => '.', :sid => 'user1sid') }
38
- let(:user2) { stub(:account => 'user2', :domain => '.', :sid => 'user2sid') }
39
- let(:user3) { stub(:account => 'user3', :domain => '.', :sid => 'user3sid') }
33
+ let(:user1) { double(:account => 'user1', :domain => '.', :sid => 'user1sid') }
34
+ let(:user2) { double(:account => 'user2', :domain => '.', :sid => 'user2sid') }
35
+ let(:user3) { double(:account => 'user3', :domain => '.', :sid => 'user3sid') }
40
36
  let(:invalid_user) { SecureRandom.uuid }
41
37
 
42
38
  before :each do
43
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user1').returns(user1)
44
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user2').returns(user2)
45
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user3').returns(user3)
46
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with(invalid_user).returns(nil)
39
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user1').and_return(user1)
40
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user2').and_return(user2)
41
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user3').and_return(user3)
42
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with(invalid_user).and_return(nil)
47
43
  end
48
44
 
49
45
  describe "#members_insync?" do
@@ -212,19 +208,24 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet::Util:
212
208
  expect(provider.members_to_s(input)).to be_empty
213
209
  end
214
210
  end
211
+
215
212
  it "should return an empty string on empty or nil users" do
216
213
  expect(provider.members_to_s([])).to be_empty
217
214
  expect(provider.members_to_s(nil)).to be_empty
218
215
  end
216
+
219
217
  it "should return a user string like DOMAIN\\USER" do
220
218
  expect(provider.members_to_s(['user1'])).to eq('.\user1')
221
219
  end
220
+
222
221
  it "should return a user string like DOMAIN\\USER,DOMAIN2\\USER2" do
223
222
  expect(provider.members_to_s(['user1', 'user2'])).to eq('.\user1,.\user2')
224
223
  end
224
+
225
225
  it "should return the username when it cannot be resolved to a SID (for the sake of resource_harness error messages)" do
226
226
  expect(provider.members_to_s([invalid_user])).to eq("#{invalid_user}")
227
227
  end
228
+
228
229
  it "should return the username when it cannot be resolved to a SID (for the sake of resource_harness error messages)" do
229
230
  expect(provider.members_to_s([invalid_user])).to eq("#{invalid_user}")
230
231
  end
@@ -232,50 +233,50 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet::Util:
232
233
  end
233
234
 
234
235
  describe "when managing members" do
235
- let(:user1) { stub(:account => 'user1', :domain => '.', :sid => 'user1sid') }
236
- let(:user2) { stub(:account => 'user2', :domain => '.', :sid => 'user2sid') }
237
- let(:user3) { stub(:account => 'user3', :domain => '.', :sid => 'user3sid') }
236
+ let(:user1) { double(:account => 'user1', :domain => '.', :sid => 'user1sid') }
237
+ let(:user2) { double(:account => 'user2', :domain => '.', :sid => 'user2sid') }
238
+ let(:user3) { double(:account => 'user3', :domain => '.', :sid => 'user3sid') }
238
239
 
239
240
  before :each do
240
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user1').returns(user1)
241
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user2').returns(user2)
242
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user3').returns(user3)
241
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user1').and_return(user1)
242
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user2').and_return(user2)
243
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user3').and_return(user3)
243
244
 
244
245
  resource[:auth_membership] = true
245
246
  end
246
247
 
247
248
  it "should be able to provide a list of members" do
248
- provider.group.stubs(:members).returns [
249
+ allow(provider.group).to receive(:members).and_return([
249
250
  'user1',
250
251
  'user2',
251
252
  'user3',
252
- ]
253
+ ])
253
254
 
254
255
  expected_member_sids = [user1.sid, user2.sid, user3.sid]
255
256
  expected_members = ['user1', 'user2', 'user3']
256
- provider.stubs(:members_to_s)
257
+ allow(provider).to receive(:members_to_s)
257
258
  .with(expected_member_sids)
258
- .returns(expected_members.join(','))
259
+ .and_return(expected_members.join(','))
259
260
 
260
261
  expect(provider.members).to match_array(expected_members)
261
262
  end
262
263
 
263
264
  it "should be able to set group members" do
264
- provider.group.stubs(:members).returns ['user1', 'user2']
265
+ allow(provider.group).to receive(:members).and_return(['user1', 'user2'])
265
266
 
266
267
  member_sids = [
267
- stub(:account => 'user1', :domain => 'testcomputername', :sid => 1),
268
- stub(:account => 'user2', :domain => 'testcomputername', :sid => 2),
269
- stub(:account => 'user3', :domain => 'testcomputername', :sid => 3),
268
+ double(:account => 'user1', :domain => 'testcomputername', :sid => 1),
269
+ double(:account => 'user2', :domain => 'testcomputername', :sid => 2),
270
+ double(:account => 'user3', :domain => 'testcomputername', :sid => 3),
270
271
  ]
271
272
 
272
- provider.group.stubs(:member_sids).returns(member_sids[0..1])
273
+ allow(provider.group).to receive(:member_sids).and_return(member_sids[0..1])
273
274
 
274
- Puppet::Util::Windows::SID.expects(:name_to_principal).with('user2').returns(member_sids[1])
275
- Puppet::Util::Windows::SID.expects(:name_to_principal).with('user3').returns(member_sids[2])
275
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user2').and_return(member_sids[1])
276
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('user3').and_return(member_sids[2])
276
277
 
277
- provider.group.expects(:remove_member_sids).with(member_sids[0])
278
- provider.group.expects(:add_member_sids).with(member_sids[2])
278
+ expect(provider.group).to receive(:remove_member_sids).with(member_sids[0])
279
+ expect(provider.group).to receive(:add_member_sids).with(member_sids[2])
279
280
 
280
281
  provider.members = ['user2', 'user3']
281
282
  end
@@ -285,69 +286,68 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet::Util:
285
286
  it "should be able to create a group" do
286
287
  resource[:members] = ['user1', 'user2']
287
288
 
288
- group = stub 'group'
289
- Puppet::Util::Windows::ADSI::Group.expects(:create).with('testers').returns group
289
+ group = double('group')
290
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:create).with('testers').and_return(group)
290
291
 
291
- create = sequence('create')
292
- group.expects(:commit).in_sequence(create)
292
+ expect(group).to receive(:commit).ordered
293
293
  # due to PUP-1967, defaultto false will set the default to nil
294
- group.expects(:set_members).with(['user1', 'user2'], nil).in_sequence(create)
294
+ expect(group).to receive(:set_members).with(['user1', 'user2'], nil).ordered
295
295
 
296
296
  provider.create
297
297
  end
298
298
 
299
299
  it 'should not create a group if a user by the same name exists' do
300
- Puppet::Util::Windows::ADSI::Group.expects(:create).with('testers').raises( Puppet::Error.new("Cannot create group if user 'testers' exists.") )
300
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:create).with('testers').and_raise(Puppet::Error.new("Cannot create group if user 'testers' exists."))
301
301
  expect{ provider.create }.to raise_error( Puppet::Error,
302
302
  /Cannot create group if user 'testers' exists./ )
303
303
  end
304
304
 
305
305
  it "should fail with an actionable message when trying to create an active directory group" do
306
306
  resource[:name] = 'DOMAIN\testdomaingroup'
307
- Puppet::Util::Windows::ADSI::User.expects(:exists?).with(resource[:name]).returns(false)
308
- connection.expects(:Create)
309
- connection.expects(:SetInfo).raises( WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
307
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:exists?).with(resource[:name]).and_return(false)
308
+ expect(connection).to receive(:Create)
309
+ expect(connection).to receive(:SetInfo).and_raise( WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
310
310
 
311
311
  expect{ provider.create }.to raise_error(Puppet::Error)
312
312
  end
313
313
 
314
314
  it 'should commit a newly created group' do
315
- provider.group.expects( :commit )
315
+ expect(provider.group).to receive( :commit )
316
316
 
317
317
  provider.flush
318
318
  end
319
319
  end
320
320
 
321
321
  it "should be able to test whether a group exists" do
322
- Puppet::Util::Windows::SID.stubs(:name_to_principal).returns(nil)
323
- Puppet::Util::Windows::ADSI.stubs(:connect).returns stub('connection', :Class => 'Group')
322
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
323
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(double('connection', :Class => 'Group'))
324
324
  expect(provider).to be_exists
325
325
 
326
- Puppet::Util::Windows::ADSI.stubs(:connect).returns nil
326
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(nil)
327
327
  expect(provider).not_to be_exists
328
328
  end
329
329
 
330
330
  it "should be able to delete a group" do
331
- connection.expects(:Delete).with('group', 'testers')
331
+ expect(connection).to receive(:Delete).with('group', 'testers')
332
332
 
333
333
  provider.delete
334
334
  end
335
335
 
336
336
  it 'should not run commit on a deleted group' do
337
- connection.expects(:Delete).with('group', 'testers')
338
- connection.expects(:SetInfo).never
337
+ expect(connection).to receive(:Delete).with('group', 'testers')
338
+ expect(connection).not_to receive(:SetInfo)
339
339
 
340
340
  provider.delete
341
341
  provider.flush
342
342
  end
343
343
 
344
344
  it "should report the group's SID as gid" do
345
- Puppet::Util::Windows::SID.expects(:name_to_sid).with('testers').returns('S-1-5-32-547')
345
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testers').and_return('S-1-5-32-547')
346
346
  expect(provider.gid).to eq('S-1-5-32-547')
347
347
  end
348
348
 
349
349
  it "should fail when trying to manage the gid property" do
350
- provider.expects(:fail).with { |msg| msg =~ /gid is read-only/ }
350
+ expect(provider).to receive(:fail).with(/gid is read-only/)
351
351
  provider.send(:gid=, 500)
352
352
  end
353
353