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,5 +1,4 @@
1
1
  # encoding: UTF-8
2
- #!/usr/bin/env ruby
3
2
 
4
3
  require 'spec_helper'
5
4
 
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  require 'puppet/util/windows'
@@ -23,7 +21,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
23
21
  it "sets a handle to the event log" do
24
22
  default_name = Puppet::Util::Windows::String.wide_string('Puppet')
25
23
  # return nil explicitly just to reinforce that we're not leaking eventlog handle
26
- Puppet::Util::Windows::EventLog.any_instance.expects(:RegisterEventSourceW).with(nil, default_name).returns(nil)
24
+ expect_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).with(anything, default_name).and_return(nil)
27
25
  Puppet::Util::Windows::EventLog.new
28
26
  end
29
27
 
@@ -31,7 +29,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
31
29
  before do
32
30
  # RegisterEventSourceW will return NULL on failure
33
31
  # Stubbing prevents leaking eventlog handle
34
- Puppet::Util::Windows::EventLog.any_instance.stubs(:RegisterEventSourceW).returns(Puppet::Util::Windows::EventLog::NULL_HANDLE)
32
+ allow_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).and_return(Puppet::Util::Windows::EventLog::NULL_HANDLE)
35
33
  end
36
34
 
37
35
  it "raises an exception warning that the event log failed to open" do
@@ -40,11 +38,11 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
40
38
 
41
39
  it "passes the exit code to the exception constructor" do
42
40
  fake_error = Puppet::Util::Windows::EventLog::EventLogError.new('foo', 87)
43
- FFI.stubs(:errno).returns(87)
41
+ allow(FFI).to receive(:errno).and_return(87)
44
42
  # All we're testing here is that the constructor actually receives the exit code from FFI.errno (87)
45
43
  # We do so because `expect to...raise_error` doesn't support multiple parameter match arguments
46
44
  # We return fake_error just because `raise` expects an exception class
47
- Puppet::Util::Windows::EventLog::EventLogError.expects(:new).with(regexp_matches(/failed to open Windows eventlog/), 87).returns(fake_error)
45
+ expect(Puppet::Util::Windows::EventLog::EventLogError).to receive(:new).with(/failed to open Windows eventlog/, 87).and_return(fake_error)
48
46
  expect { Puppet::Util::Windows::EventLog.open('foo') }.to raise_error(Puppet::Util::Windows::EventLog::EventLogError)
49
47
  end
50
48
  end
@@ -53,9 +51,9 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
53
51
  describe "#close" do
54
52
  it "closes the handle to the event log" do
55
53
  @handle = "12345"
56
- Puppet::Util::Windows::EventLog.any_instance.stubs(:RegisterEventSourceW).returns(@handle)
54
+ allow_any_instance_of(Puppet::Util::Windows::EventLog).to receive(:RegisterEventSourceW).and_return(@handle)
57
55
  event_log = Puppet::Util::Windows::EventLog.new
58
- event_log.expects(:DeregisterEventSource).with(@handle).returns(1)
56
+ expect(event_log).to receive(:DeregisterEventSource).with(@handle).and_return(1)
59
57
  event_log.close
60
58
  end
61
59
  end
@@ -68,7 +66,7 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
68
66
  context "when an event report fails" do
69
67
  before do
70
68
  # ReportEventW returns 0 on failure, which is mapped to WIN32_FALSE
71
- @event_log.stubs(:ReportEventW).returns(Puppet::Util::Windows::EventLog::WIN32_FALSE)
69
+ allow(@event_log).to receive(:ReportEventW).and_return(Puppet::Util::Windows::EventLog::WIN32_FALSE)
72
70
  end
73
71
 
74
72
  it "raises an exception warning that the event report failed" do
@@ -77,18 +75,17 @@ describe Puppet::Util::Windows::EventLog, :if => Puppet::Util::Platform.windows?
77
75
 
78
76
  it "passes the exit code to the exception constructor" do
79
77
  fake_error = Puppet::Util::Windows::EventLog::EventLogError.new('foo', 5)
80
- FFI.stubs(:errno).returns(5)
78
+ allow(FFI).to receive(:errno).and_return(5)
81
79
  # All we're testing here is that the constructor actually receives the exit code from FFI.errno (5)
82
80
  # We do so because `expect to...raise_error` doesn't support multiple parameter match arguments
83
81
  # We return fake_error just because `raise` expects an exception class
84
- Puppet::Util::Windows::EventLog::EventLogError.expects(:new).with(regexp_matches(/failed to report event/), 5).returns(fake_error)
82
+ expect(Puppet::Util::Windows::EventLog::EventLogError).to receive(:new).with(/failed to report event/, 5).and_return(fake_error)
85
83
  expect { @event_log.report_event(:data => 'foo', :event_type => Puppet::Util::Windows::EventLog::EVENTLOG_ERROR_TYPE, :event_id => 0x03) }.to raise_error(Puppet::Util::Windows::EventLog::EventLogError)
86
84
  end
87
85
  end
88
86
  end
89
87
 
90
88
  describe "self.to_native" do
91
-
92
89
  it "raises an exception if the log level is not supported" do
93
90
  expect { Puppet::Util::Windows::EventLog.to_native(:foo) }.to raise_error(ArgumentError)
94
91
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/util/windows'
4
3
 
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/util/windows'
4
3
 
@@ -12,6 +11,6 @@ describe "Puppet::Util::Windows::RootCerts", :if => Puppet::Util::Platform.windo
12
11
  it "should return an X509 certificate with a subject" do
13
12
  x509 = x509_store.first
14
13
 
15
- expect(x509.subject.to_s).to match(/CN=.*/)
14
+ expect(x509.subject.to_utf8).to match(/CN=.*/)
16
15
  end
17
16
  end
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
  require 'puppet/util/windows'
5
3
 
@@ -1,13 +1,12 @@
1
- #!/usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_windows? do
5
4
  require 'puppet/util/windows'
6
5
 
7
6
  before(:each) do
8
- Puppet::Util::Windows::Error.stubs(:format_error_code)
7
+ allow(Puppet::Util::Windows::Error).to receive(:format_error_code)
9
8
  .with(anything)
10
- .returns("fake error!")
9
+ .and_return("fake error!")
11
10
  end
12
11
 
13
12
  def service_state_str(state)
@@ -22,7 +21,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
22
21
  # just an expectation of subject::SERVICE_STATUS_PROCESS.new in sequence that
23
22
  # returns the value passed in as a param
24
23
  def expect_successful_status_query_and_return(query_return)
25
- subject::SERVICE_STATUS_PROCESS.expects(:new).in_sequence(status_checks).returns(query_return)
24
+ expect(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(query_return)
26
25
  end
27
26
 
28
27
  def expect_successful_status_queries_and_return(*query_returns)
@@ -39,35 +38,34 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
39
38
  # just an expectation of subject::QUERY_SERVICE_CONFIGW.new in sequence that
40
39
  # returns the value passed in as a param
41
40
  def expect_successful_config_query_and_return(query_return)
42
- subject::QUERY_SERVICE_CONFIGW.expects(:new).in_sequence(status_checks).returns(query_return)
41
+ expect(subject::QUERY_SERVICE_CONFIGW).to receive(:new).and_return(query_return)
43
42
  end
44
43
 
45
44
  let(:subject) { Puppet::Util::Windows::Service }
46
- let(:pointer) { mock() }
47
- let(:status_checks) { sequence('status_checks') }
48
- let(:mock_service_name) { mock() }
49
- let(:service) { mock() }
50
- let(:scm) { mock() }
45
+ let(:pointer) { double() }
46
+ let(:mock_service_name) { double() }
47
+ let(:service) { double() }
48
+ let(:scm) { double() }
51
49
  let(:timeout) { 30 }
52
50
 
53
51
  before do
54
- subject.stubs(:QueryServiceStatusEx).returns(1)
55
- subject.stubs(:QueryServiceConfigW).returns(1)
56
- subject.stubs(:ChangeServiceConfigW).returns(1)
57
- subject.stubs(:OpenSCManagerW).returns(scm)
58
- subject.stubs(:OpenServiceW).returns(service)
59
- subject.stubs(:CloseServiceHandle)
60
- subject.stubs(:EnumServicesStatusExW).returns(1)
61
- subject.stubs(:wide_string)
62
- subject::SERVICE_STATUS_PROCESS.stubs(:new)
63
- subject::QUERY_SERVICE_CONFIGW.stubs(:new)
64
- subject::SERVICE_STATUS.stubs(:new).returns({:dwCurrentState => subject::SERVICE_RUNNING})
65
- FFI.stubs(:errno).returns(0)
66
- FFI::MemoryPointer.stubs(:new).yields(pointer)
67
- pointer.stubs(:read_dword)
68
- pointer.stubs(:write_dword)
69
- pointer.stubs(:size)
70
- subject.stubs(:sleep)
52
+ allow(subject).to receive(:QueryServiceStatusEx).and_return(1)
53
+ allow(subject).to receive(:QueryServiceConfigW).and_return(1)
54
+ allow(subject).to receive(:ChangeServiceConfigW).and_return(1)
55
+ allow(subject).to receive(:OpenSCManagerW).and_return(scm)
56
+ allow(subject).to receive(:OpenServiceW).and_return(service)
57
+ allow(subject).to receive(:CloseServiceHandle)
58
+ allow(subject).to receive(:EnumServicesStatusExW).and_return(1)
59
+ allow(subject).to receive(:wide_string)
60
+ allow(subject::SERVICE_STATUS_PROCESS).to receive(:new)
61
+ allow(subject::QUERY_SERVICE_CONFIGW).to receive(:new)
62
+ allow(subject::SERVICE_STATUS).to receive(:new).and_return({:dwCurrentState => subject::SERVICE_RUNNING})
63
+ allow(FFI).to receive(:errno).and_return(0)
64
+ allow(FFI::MemoryPointer).to receive(:new).and_yield(pointer)
65
+ allow(pointer).to receive(:read_dword)
66
+ allow(pointer).to receive(:write_dword)
67
+ allow(pointer).to receive(:size)
68
+ allow(subject).to receive(:sleep)
71
69
  end
72
70
 
73
71
  describe "#exists?" do
@@ -82,7 +80,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
82
80
  let(:service) { FFI::Pointer::NULL_HANDLE }
83
81
 
84
82
  it "returns false if it fails to open because the service does not exist" do
85
- FFI.stubs(:errno).returns(Puppet::Util::Windows::Service::ERROR_SERVICE_DOES_NOT_EXIST)
83
+ allow(FFI).to receive(:errno).and_return(Puppet::Util::Windows::Service::ERROR_SERVICE_DOES_NOT_EXIST)
86
84
 
87
85
  expect(subject.exists?(mock_service_name)).to be false
88
86
  end
@@ -114,7 +112,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
114
112
  final_state_str = Puppet::Util::Windows::Service::SERVICE_STATES[final_state].to_s
115
113
 
116
114
  it "raises a Puppet::Error if the service query fails" do
117
- subject.expects(:QueryServiceStatusEx).in_sequence(status_checks).returns(FFI::WIN32_FALSE)
115
+ expect(subject).to receive(:QueryServiceStatusEx).and_return(FFI::WIN32_FALSE)
118
116
 
119
117
  expect { subject.send(action, mock_service_name, timeout: timeout) }.to raise_error(Puppet::Error)
120
118
  end
@@ -133,7 +131,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
133
131
  { :dwCurrentState => final_state }
134
132
  )
135
133
 
136
- subject.expects(:sleep).with(1)
134
+ expect(subject).to receive(:sleep).with(1)
137
135
 
138
136
  subject.send(action, mock_service_name, timeout: timeout)
139
137
  end
@@ -144,7 +142,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
144
142
  { :dwCurrentState => final_state }
145
143
  )
146
144
 
147
- subject.expects(:sleep).with(10)
145
+ expect(subject).to receive(:sleep).with(10)
148
146
 
149
147
  subject.send(action, mock_service_name, timeout: timeout)
150
148
  end
@@ -239,7 +237,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
239
237
  # This mocks the status query to return the 'final_state' by default. Otherwise,
240
238
  # we will fail the tests in the latter parts of the code where we wait for the
241
239
  # service to finish transitioning to the 'final_state'.
242
- subject::SERVICE_STATUS_PROCESS.stubs(:new).returns(dwCurrentState: final_state)
240
+ allow(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(dwCurrentState: final_state)
243
241
 
244
242
  # Set our service's initial state
245
243
  expect_successful_status_query_and_return(dwCurrentState: unsafe_pending_state)
@@ -265,7 +263,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
265
263
  end
266
264
 
267
265
  it "raises a Puppet::Error if the service query fails" do
268
- subject.expects(:QueryServiceStatusEx).in_sequence(status_checks).returns(FFI::WIN32_FALSE)
266
+ expect(subject).to receive(:QueryServiceStatusEx).and_return(FFI::WIN32_FALSE)
269
267
 
270
268
  expect { subject.send(action, mock_service_name, timeout: timeout) }.to raise_error(Puppet::Error)
271
269
  end
@@ -277,7 +275,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
277
275
  { :dwCurrentState => final_state }
278
276
  )
279
277
 
280
- subject.expects(:sleep).with(1).twice
278
+ expect(subject).to receive(:sleep).with(1).twice
281
279
 
282
280
  subject.send(action, mock_service_name, timeout: timeout)
283
281
  end
@@ -346,7 +344,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
346
344
  let(:initial_state) { subject::SERVICE_STOPPED }
347
345
  let(:mock_state_transition) do
348
346
  lambda do
349
- subject.stubs(:StartServiceW).returns(1)
347
+ allow(subject).to receive(:StartServiceW).and_return(1)
350
348
  end
351
349
  end
352
350
  end
@@ -354,7 +352,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
354
352
  it "raises a Puppet::Error if StartServiceW returns false" do
355
353
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_STOPPED)
356
354
 
357
- subject.expects(:StartServiceW).returns(FFI::WIN32_FALSE)
355
+ expect(subject).to receive(:StartServiceW).and_return(FFI::WIN32_FALSE)
358
356
 
359
357
  expect { subject.start(mock_service_name, timeout: timeout) }.to raise_error(Puppet::Error)
360
358
  end
@@ -365,7 +363,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
365
363
  { dwCurrentState: subject::SERVICE_RUNNING }
366
364
  )
367
365
 
368
- subject.expects(:StartServiceW).returns(1)
366
+ expect(subject).to receive(:StartServiceW).and_return(1)
369
367
 
370
368
  subject.start(mock_service_name, timeout: timeout)
371
369
  end
@@ -398,7 +396,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
398
396
  let(:initial_state) { subject::SERVICE_RUNNING }
399
397
  let(:mock_state_transition) do
400
398
  lambda do
401
- subject.stubs(:ControlService).returns(1)
399
+ allow(subject).to receive(:ControlService).and_return(1)
402
400
  end
403
401
  end
404
402
  end
@@ -406,7 +404,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
406
404
  it "raises a Puppet::Error if ControlService returns false" do
407
405
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_RUNNING)
408
406
 
409
- subject.stubs(:ControlService).returns(FFI::WIN32_FALSE)
407
+ allow(subject).to receive(:ControlService).and_return(FFI::WIN32_FALSE)
410
408
 
411
409
  expect { subject.stop(mock_service_name, timeout: timeout) }.to raise_error(Puppet::Error)
412
410
  end
@@ -417,7 +415,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
417
415
  { dwCurrentState: subject::SERVICE_STOPPED }
418
416
  )
419
417
 
420
- subject.expects(:ControlService).returns(1)
418
+ expect(subject).to receive(:ControlService).and_return(1)
421
419
 
422
420
  subject.stop(mock_service_name, timeout: timeout)
423
421
  end
@@ -459,7 +457,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
459
457
  # performing the transition (in case it is in SERVICE_PAUSE_PENDING).
460
458
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
461
459
 
462
- subject.stubs(:ControlService).returns(1)
460
+ allow(subject).to receive(:ControlService).and_return(1)
463
461
  end
464
462
  end
465
463
  end
@@ -469,11 +467,11 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
469
467
  # This mocks the status query to return the SERVICE_RUNNING state by default.
470
468
  # Otherwise, we will fail the tests in the latter parts of the code where we
471
469
  # wait for the service to finish transitioning to the 'SERVICE_RUNNING' state.
472
- subject::SERVICE_STATUS_PROCESS.stubs(:new).returns(dwCurrentState: subject::SERVICE_RUNNING)
470
+ allow(subject::SERVICE_STATUS_PROCESS).to receive(:new).and_return(dwCurrentState: subject::SERVICE_RUNNING)
473
471
 
474
472
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSE_PENDING)
475
473
 
476
- subject.stubs(:ControlService).returns(1)
474
+ allow(subject).to receive(:ControlService).and_return(1)
477
475
  end
478
476
 
479
477
  include_examples "a service action waiting on a pending transition", service::SERVICE_PAUSE_PENDING do
@@ -485,7 +483,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
485
483
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
486
484
  expect_successful_status_query_and_return(dwCurrentState: subject::SERVICE_PAUSED)
487
485
 
488
- subject.stubs(:ControlService).returns(FFI::WIN32_FALSE)
486
+ allow(subject).to receive(:ControlService).and_return(FFI::WIN32_FALSE)
489
487
 
490
488
  expect { subject.resume(mock_service_name, timeout: timeout) }.to raise_error(Puppet::Error)
491
489
  end
@@ -497,7 +495,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
497
495
  { dwCurrentState: subject::SERVICE_RUNNING }
498
496
  )
499
497
 
500
- subject.expects(:ControlService).returns(1)
498
+ expect(subject).to receive(:ControlService).and_return(1)
501
499
 
502
500
  subject.resume(mock_service_name, timeout: timeout)
503
501
  end
@@ -567,7 +565,6 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
567
565
  end
568
566
 
569
567
  context "when the service can be opened" do
570
-
571
568
  # We need to guard this section explicitly since rspec will always
572
569
  # construct all examples, even if it isn't going to run them.
573
570
  if Puppet.features.microsoft_windows?
@@ -584,9 +581,10 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
584
581
  end
585
582
  end
586
583
  end
584
+
587
585
  it "raises a puppet error if the service query fails" do
588
- subject.expects(:QueryServiceConfigW).in_sequence(status_checks)
589
- subject.expects(:QueryServiceConfigW).in_sequence(status_checks).returns(FFI::WIN32_FALSE)
586
+ expect(subject).to receive(:QueryServiceConfigW)
587
+ expect(subject).to receive(:QueryServiceConfigW).and_return(FFI::WIN32_FALSE)
590
588
  expect{ subject.service_start_type(mock_service_name) }.to raise_error(Puppet::Error)
591
589
  end
592
590
  end
@@ -611,7 +609,7 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
611
609
 
612
610
  context "when the service can be opened" do
613
611
  it "Raises an error on an unsuccessful change" do
614
- subject.expects(:ChangeServiceConfigW).returns(FFI::WIN32_FALSE)
612
+ expect(subject).to receive(:ChangeServiceConfigW).and_return(FFI::WIN32_FALSE)
615
613
  expect{ subject.set_startup_mode(mock_service_name, :SERVICE_DEMAND_START) }.to raise_error(Puppet::Error)
616
614
  end
617
615
  end
@@ -629,36 +627,36 @@ describe "Puppet::Util::Windows::Service", :if => Puppet.features.microsoft_wind
629
627
 
630
628
  context "when the service control manager is open" do
631
629
  let(:cursor) { [ 'svc1', 'svc2', 'svc3' ] }
632
- let(:svc1name_ptr) { mock() }
633
- let(:svc2name_ptr) { mock() }
634
- let(:svc3name_ptr) { mock() }
635
- let(:svc1displayname_ptr) { mock() }
636
- let(:svc2displayname_ptr) { mock() }
637
- let(:svc3displayname_ptr) { mock() }
630
+ let(:svc1name_ptr) { double() }
631
+ let(:svc2name_ptr) { double() }
632
+ let(:svc3name_ptr) { double() }
633
+ let(:svc1displayname_ptr) { double() }
634
+ let(:svc2displayname_ptr) { double() }
635
+ let(:svc3displayname_ptr) { double() }
638
636
  let(:svc1) { { :lpServiceName => svc1name_ptr, :lpDisplayName => svc1displayname_ptr, :ServiceStatusProcess => 'foo' } }
639
637
  let(:svc2) { { :lpServiceName => svc2name_ptr, :lpDisplayName => svc2displayname_ptr, :ServiceStatusProcess => 'foo' } }
640
638
  let(:svc3) { { :lpServiceName => svc3name_ptr, :lpDisplayName => svc3displayname_ptr, :ServiceStatusProcess => 'foo' } }
641
639
 
642
640
  it "Raises an error if EnumServicesStatusExW fails" do
643
- subject.expects(:EnumServicesStatusExW).in_sequence(pointer_sequence)
644
- subject.expects(:EnumServicesStatusExW).in_sequence(pointer_sequence).returns(FFI::WIN32_FALSE)
641
+ expect(subject).to receive(:EnumServicesStatusExW)
642
+ expect(subject).to receive(:EnumServicesStatusExW).and_return(FFI::WIN32_FALSE)
645
643
  expect{ subject.services }.to raise_error(Puppet::Error)
646
644
  end
647
645
 
648
646
  it "Reads the buffer using pointer arithmetic to create a hash of service entries" do
649
647
  # the first read_dword is for reading the bytes required, let that return 3 too.
650
648
  # the second read_dword will actually read the number of services returned
651
- pointer.expects(:read_dword).twice.returns(3)
652
- FFI::Pointer.expects(:new).with(subject::ENUM_SERVICE_STATUS_PROCESSW, pointer).returns(cursor)
653
- subject::ENUM_SERVICE_STATUS_PROCESSW.expects(:new).in_sequence(pointer_sequence).with('svc1').returns(svc1)
654
- subject::ENUM_SERVICE_STATUS_PROCESSW.expects(:new).in_sequence(pointer_sequence).with('svc2').returns(svc2)
655
- subject::ENUM_SERVICE_STATUS_PROCESSW.expects(:new).in_sequence(pointer_sequence).with('svc3').returns(svc3)
656
- svc1name_ptr.expects(:read_arbitrary_wide_string_up_to).returns('svc1')
657
- svc2name_ptr.expects(:read_arbitrary_wide_string_up_to).returns('svc2')
658
- svc3name_ptr.expects(:read_arbitrary_wide_string_up_to).returns('svc3')
659
- svc1displayname_ptr.expects(:read_arbitrary_wide_string_up_to).returns('service 1')
660
- svc2displayname_ptr.expects(:read_arbitrary_wide_string_up_to).returns('service 2')
661
- svc3displayname_ptr.expects(:read_arbitrary_wide_string_up_to).returns('service 3')
649
+ expect(pointer).to receive(:read_dword).twice.and_return(3)
650
+ expect(FFI::Pointer).to receive(:new).with(subject::ENUM_SERVICE_STATUS_PROCESSW, pointer).and_return(cursor)
651
+ expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc1').and_return(svc1)
652
+ expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc2').and_return(svc2)
653
+ expect(subject::ENUM_SERVICE_STATUS_PROCESSW).to receive(:new).with('svc3').and_return(svc3)
654
+ expect(svc1name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc1')
655
+ expect(svc2name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc2')
656
+ expect(svc3name_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('svc3')
657
+ expect(svc1displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 1')
658
+ expect(svc2displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 2')
659
+ expect(svc3displayname_ptr).to receive(:read_arbitrary_wide_string_up_to).and_return('service 3')
662
660
  expect(subject.services).to eq({
663
661
  'svc1' => { :display_name => 'service 1', :service_status_process => 'foo' },
664
662
  'svc2' => { :display_name => 'service 2', :service_status_process => 'foo' },
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
@@ -72,12 +71,12 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
72
71
  end
73
72
 
74
73
  it "should return a SID for a passed user or group name" do
75
- subject.expects(:name_to_principal).with('testers').returns stub(:sid => 'S-1-5-32-547')
74
+ expect(subject).to receive(:name_to_principal).with('testers').and_return(double(:sid => 'S-1-5-32-547'))
76
75
  expect(subject.name_to_sid('testers')).to eq('S-1-5-32-547')
77
76
  end
78
77
 
79
78
  it "should return a SID for a passed fully-qualified user or group name" do
80
- subject.expects(:name_to_principal).with('MACHINE\testers').returns stub(:sid => 'S-1-5-32-547')
79
+ expect(subject).to receive(:name_to_principal).with('MACHINE\testers').and_return(double(:sid => 'S-1-5-32-547'))
81
80
  expect(subject.name_to_sid('MACHINE\testers')).to eq('S-1-5-32-547')
82
81
  end
83
82
 
@@ -100,7 +99,6 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
100
99
  end
101
100
 
102
101
  describe "with non-US languages" do
103
-
104
102
  UMLAUT = [195, 164].pack('c*').force_encoding(Encoding::UTF_8)
105
103
  let(:username) { SecureRandom.uuid.to_s.gsub(/\-/, '')[0..13] + UMLAUT }
106
104
 
@@ -165,20 +163,20 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
165
163
  context "#ads_to_principal" do
166
164
  it "should raise an error for non-WIN32OLE input" do
167
165
  expect {
168
- subject.ads_to_principal(stub('WIN32OLE', { :Name => 'foo' }))
166
+ subject.ads_to_principal(double('WIN32OLE', { :Name => 'foo' }))
169
167
  }.to raise_error(Puppet::Error, /ads_object must be an IAdsUser or IAdsGroup instance/)
170
168
  end
171
169
 
172
170
  it "should raise an error for an empty byte array in the objectSID property" do
173
171
  expect {
174
- subject.ads_to_principal(stub('WIN32OLE', { :objectSID => [], :Name => '', :ole_respond_to? => true }))
172
+ subject.ads_to_principal(double('WIN32OLE', { :objectSID => [], :Name => '', :ole_respond_to? => true }))
175
173
  }.to raise_error(Puppet::Error, /Octet string must be an array of bytes/)
176
174
  end
177
175
 
178
176
  it "should raise an error for a malformed byte array" do
179
177
  expect {
180
178
  invalid_octet = [2]
181
- subject.ads_to_principal(stub('WIN32OLE', { :objectSID => invalid_octet, :Name => '', :ole_respond_to? => true }))
179
+ subject.ads_to_principal(double('WIN32OLE', { :objectSID => invalid_octet, :Name => '', :ole_respond_to? => true }))
182
180
  }.to raise_error do |error|
183
181
  expect(error).to be_a(Puppet::Util::Windows::Error)
184
182
  expect(error.code).to eq(87) # ERROR_INVALID_PARAMETER
@@ -189,7 +187,7 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
189
187
  expect {
190
188
  # S-1-1-1 is a valid SID that will not resolve
191
189
  valid_octet_invalid_user = [1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]
192
- subject.ads_to_principal(stub('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => unknown_name, :ole_respond_to? => true }))
190
+ subject.ads_to_principal(double('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => unknown_name, :ole_respond_to? => true }))
193
191
  }.to raise_error do |error|
194
192
  expect(error).to be_a(Puppet::Error)
195
193
  expect(error.cause.code).to eq(1332) # ERROR_NONE_MAPPED
@@ -199,7 +197,7 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
199
197
  it "should return a Principal object even when the SID is unresolvable, as long as the Name matches" do
200
198
  # S-1-1-1 is a valid SID that will not resolve
201
199
  valid_octet_invalid_user = [1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]
202
- unresolvable_user = stub('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => 'S-1-1-1', :ole_respond_to? => true })
200
+ unresolvable_user = double('WIN32OLE', { :objectSID => valid_octet_invalid_user, :Name => 'S-1-1-1', :ole_respond_to? => true })
203
201
  principal = subject.ads_to_principal(unresolvable_user)
204
202
 
205
203
  expect(principal).to be_an_instance_of(Puppet::Util::Windows::SID::Principal)
@@ -213,13 +211,13 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
213
211
 
214
212
  it "should return a Puppet::Util::Windows::SID::Principal instance for any valid sid" do
215
213
  system_bytes = [1, 1, 0, 0, 0, 0, 0, 5, 18, 0, 0, 0]
216
- adsuser = stub('WIN32OLE', { :objectSID => system_bytes, :Name => 'SYSTEM', :ole_respond_to? => true })
214
+ adsuser = double('WIN32OLE', { :objectSID => system_bytes, :Name => 'SYSTEM', :ole_respond_to? => true })
217
215
  expect(subject.ads_to_principal(adsuser)).to be_an_instance_of(Puppet::Util::Windows::SID::Principal)
218
216
  end
219
217
 
220
218
  it "should properly convert an array of bytes for a well-known non-localized SID, ignoring the Name from the WIN32OLE object" do
221
219
  bytes = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
222
- adsuser = stub('WIN32OLE', { :objectSID => bytes, :Name => unknown_name, :ole_respond_to? => true })
220
+ adsuser = double('WIN32OLE', { :objectSID => bytes, :Name => unknown_name, :ole_respond_to? => true })
223
221
  converted = subject.ads_to_principal(adsuser)
224
222
 
225
223
  expect(converted).to be_an_instance_of Puppet::Util::Windows::SID::Principal
@@ -288,8 +286,8 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
288
286
  end
289
287
 
290
288
  it "should raise if the conversion fails" do
291
- subject.expects(:string_to_sid_ptr).with(sid).
292
- raises(Puppet::Util::Windows::Error.new("Failed to convert string SID: #{sid}", Puppet::Util::Windows::Error::ERROR_ACCESS_DENIED))
289
+ expect(subject).to receive(:string_to_sid_ptr).with(sid).
290
+ and_raise(Puppet::Util::Windows::Error.new("Failed to convert string SID: #{sid}", Puppet::Util::Windows::Error::ERROR_ACCESS_DENIED))
293
291
 
294
292
  expect {
295
293
  subject.string_to_sid_ptr(sid) {|ptr| }