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,8 +1,3 @@
1
- #! /usr/bin/env ruby
2
- #
3
- # Unit testing for the Init service Provider
4
- #
5
-
6
1
  require 'spec_helper'
7
2
 
8
3
  describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform.jruby? do
@@ -45,12 +40,12 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
45
40
 
46
41
  describe "when getting all service instances" do
47
42
  before :each do
48
- provider_class.stubs(:defpath).returns('tmp')
43
+ allow(provider_class).to receive(:defpath).and_return('tmp')
49
44
 
50
45
  @services = ['one', 'two', 'three', 'four', 'umountfs']
51
- Dir.stubs(:entries).with('tmp').returns @services
52
- FileTest.expects(:directory?).with('tmp').returns(true)
53
- FileTest.stubs(:executable?).returns(true)
46
+ allow(Dir).to receive(:entries).with('tmp').and_return(@services)
47
+ expect(FileTest).to receive(:directory?).with('tmp').and_return(true)
48
+ allow(FileTest).to receive(:executable?).and_return(true)
54
49
  end
55
50
 
56
51
  it "should return instances for all services" do
@@ -68,7 +63,7 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
68
63
  end
69
64
 
70
65
  it "should omit Yocto services on cisco-wrlinux" do
71
- Facter.stubs(:value).with(:osfamily).returns 'cisco-wrlinux'
66
+ allow(Facter).to receive(:value).with(:osfamily).and_return('cisco-wrlinux')
72
67
  exclude = 'umountfs'
73
68
  expect(provider_class.get_services(provider_class.defpath).map(&:name)).to eq(@services - [exclude])
74
69
  end
@@ -88,33 +83,33 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
88
83
  it "should discard upstart jobs", :if => Puppet.features.manages_symlinks? do
89
84
  not_init_service, *valid_services = @services
90
85
  path = "tmp/#{not_init_service}"
91
- Puppet::FileSystem.expects(:symlink?).at_least_once.returns false
92
- Puppet::FileSystem.expects(:symlink?).with(Puppet::FileSystem.pathname(path)).returns(true)
93
- Puppet::FileSystem.expects(:readlink).with(Puppet::FileSystem.pathname(path)).returns("/lib/init/upstart-job")
86
+ allow(Puppet::FileSystem).to receive(:symlink?).at_least(:once).and_return(false)
87
+ allow(Puppet::FileSystem).to receive(:symlink?).with(Puppet::FileSystem.pathname(path)).and_return(true)
88
+ allow(Puppet::FileSystem).to receive(:readlink).with(Puppet::FileSystem.pathname(path)).and_return("/lib/init/upstart-job")
94
89
  expect(provider_class.instances.map(&:name)).to eq(valid_services)
95
90
  end
96
91
 
97
92
  it "should discard non-initscript scripts" do
98
93
  valid_services = @services
99
94
  all_services = valid_services + excludes
100
- Dir.expects(:entries).with('tmp').returns all_services
95
+ expect(Dir).to receive(:entries).with('tmp').and_return(all_services)
101
96
  expect(provider_class.instances.map(&:name)).to match_array(valid_services)
102
97
  end
103
98
  end
104
99
 
105
100
  describe "when checking valid paths" do
106
101
  it "should discard paths that do not exist" do
107
- File.expects(:directory?).with(paths[0]).returns false
108
- Puppet::FileSystem.expects(:exist?).with(paths[0]).returns false
109
- File.expects(:directory?).with(paths[1]).returns true
102
+ expect(File).to receive(:directory?).with(paths[0]).and_return(false)
103
+ expect(Puppet::FileSystem).to receive(:exist?).with(paths[0]).and_return(false)
104
+ expect(File).to receive(:directory?).with(paths[1]).and_return(true)
110
105
 
111
106
  expect(provider.paths).to eq([paths[1]])
112
107
  end
113
108
 
114
109
  it "should discard paths that are not directories" do
115
110
  paths.each do |path|
116
- Puppet::FileSystem.expects(:exist?).with(path).returns true
117
- File.expects(:directory?).with(path).returns false
111
+ expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
112
+ expect(File).to receive(:directory?).with(path).and_return(false)
118
113
  end
119
114
  expect(provider.paths).to be_empty
120
115
  end
@@ -122,32 +117,32 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
122
117
 
123
118
  describe "when searching for the init script" do
124
119
  before :each do
125
- paths.each {|path| File.expects(:directory?).with(path).returns true }
120
+ paths.each {|path| expect(File).to receive(:directory?).with(path).and_return(true) }
126
121
  end
127
122
 
128
123
  it "should be able to find the init script in the service path" do
129
- Puppet::FileSystem.expects(:exist?).with("#{paths[0]}/myservice").returns true
130
- Puppet::FileSystem.expects(:exist?).with("#{paths[1]}/myservice").never # first one wins
124
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(true)
125
+ expect(Puppet::FileSystem).not_to receive(:exist?).with("#{paths[1]}/myservice") # first one wins
131
126
  expect(provider.initscript).to eq("/service/path/myservice")
132
127
  end
133
128
 
134
129
  it "should be able to find the init script in an alternate service path" do
135
- Puppet::FileSystem.expects(:exist?).with("#{paths[0]}/myservice").returns false
136
- Puppet::FileSystem.expects(:exist?).with("#{paths[1]}/myservice").returns true
130
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(false)
131
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[1]}/myservice").and_return(true)
137
132
  expect(provider.initscript).to eq("/alt/service/path/myservice")
138
133
  end
139
134
 
140
135
  it "should be able to find the init script if it ends with .sh" do
141
- Puppet::FileSystem.expects(:exist?).with("#{paths[0]}/myservice").returns false
142
- Puppet::FileSystem.expects(:exist?).with("#{paths[1]}/myservice").returns false
143
- Puppet::FileSystem.expects(:exist?).with("#{paths[0]}/myservice.sh").returns true
136
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice").and_return(false)
137
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[1]}/myservice").and_return(false)
138
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{paths[0]}/myservice.sh").and_return(true)
144
139
  expect(provider.initscript).to eq("/service/path/myservice.sh")
145
140
  end
146
141
 
147
142
  it "should fail if the service isn't there" do
148
143
  paths.each do |path|
149
- Puppet::FileSystem.expects(:exist?).with("#{path}/myservice").returns false
150
- Puppet::FileSystem.expects(:exist?).with("#{path}/myservice.sh").returns false
144
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{path}/myservice").and_return(false)
145
+ expect(Puppet::FileSystem).to receive(:exist?).with("#{path}/myservice.sh").and_return(false)
151
146
  end
152
147
  expect { provider.initscript }.to raise_error(Puppet::Error, "Could not find init script for 'myservice'")
153
148
  end
@@ -155,23 +150,24 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
155
150
 
156
151
  describe "if the init script is present" do
157
152
  before :each do
158
- File.stubs(:directory?).with("/service/path").returns true
159
- File.stubs(:directory?).with("/alt/service/path").returns true
160
- Puppet::FileSystem.stubs(:exist?).with("/service/path/myservice").returns true
153
+ allow(File).to receive(:directory?).with("/service/path").and_return(true)
154
+ allow(File).to receive(:directory?).with("/alt/service/path").and_return(true)
155
+ allow(Puppet::FileSystem).to receive(:exist?).with("/service/path/myservice").and_return(true)
161
156
  end
162
157
 
163
158
  [:start, :stop, :status, :restart].each do |method|
164
159
  it "should have a #{method} method" do
165
160
  expect(provider).to respond_to(method)
166
161
  end
162
+
167
163
  describe "when running #{method}" do
168
164
  before :each do
169
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
165
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
170
166
  end
171
167
 
172
168
  it "should use any provided explicit command" do
173
169
  resource[method] = "/user/specified/command"
174
- provider.expects(:execute).with { |command, *args| command == ["/user/specified/command"] }
170
+ expect(provider).to receive(:execute).with(["/user/specified/command"], any_args)
175
171
 
176
172
  provider.send(method)
177
173
  end
@@ -179,7 +175,7 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
179
175
  it "should pass #{method} to the init script when no explicit command is provided" do
180
176
  resource[:hasrestart] = :true
181
177
  resource[:hasstatus] = :true
182
- provider.expects(:execute).with { |command, *args| command == ["/service/path/myservice",method]}
178
+ expect(provider).to receive(:execute).with(["/service/path/myservice", method], any_args)
183
179
 
184
180
  provider.send(method)
185
181
  end
@@ -191,35 +187,40 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
191
187
  before :each do
192
188
  resource[:hasstatus] = :true
193
189
  end
190
+
194
191
  it "should execute the command" do
195
- provider.expects(:texecute).with(:status, ['/service/path/myservice', :status], false).returns("")
196
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
192
+ expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
193
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
197
194
  provider.status
198
195
  end
196
+
199
197
  it "should consider the process running if the command returns 0" do
200
- provider.expects(:texecute).with(:status, ['/service/path/myservice', :status], false).returns("")
201
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
198
+ expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
199
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
202
200
  expect(provider.status).to eq(:running)
203
201
  end
202
+
204
203
  [-10,-1,1,10].each { |ec|
205
204
  it "should consider the process stopped if the command returns something non-0" do
206
- provider.expects(:texecute).with(:status, ['/service/path/myservice', :status], false).returns("")
207
- $CHILD_STATUS.stubs(:exitstatus).returns(ec)
205
+ expect(provider).to receive(:texecute).with(:status, ['/service/path/myservice', :status], false).and_return("")
206
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(ec)
208
207
  expect(provider.status).to eq(:stopped)
209
208
  end
210
209
  }
211
210
  end
211
+
212
212
  describe "when hasstatus is not :true" do
213
213
  before :each do
214
214
  resource[:hasstatus] = :false
215
215
  end
216
216
 
217
217
  it "should consider the service :running if it has a pid" do
218
- provider.expects(:getpid).returns "1234"
218
+ expect(provider).to receive(:getpid).and_return("1234")
219
219
  expect(provider.status).to eq(:running)
220
220
  end
221
+
221
222
  it "should consider the service :stopped if it doesn't have a pid" do
222
- provider.expects(:getpid).returns nil
223
+ expect(provider).to receive(:getpid).and_return(nil)
223
224
  expect(provider.status).to eq(:stopped)
224
225
  end
225
226
  end
@@ -231,27 +232,27 @@ describe 'Puppet::Type::Service::Provider::Init', unless: Puppet::Util::Platform
231
232
  end
232
233
 
233
234
  it "should stop and restart the process" do
234
- provider.expects(:texecute).with(:stop, ['/service/path/myservice', :stop ], true).returns("")
235
- provider.expects(:texecute).with(:start,['/service/path/myservice', :start], true).returns("")
236
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
235
+ expect(provider).to receive(:texecute).with(:stop, ['/service/path/myservice', :stop ], true).and_return("")
236
+ expect(provider).to receive(:texecute).with(:start, ['/service/path/myservice', :start], true).and_return("")
237
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
237
238
  provider.restart
238
239
  end
239
240
  end
240
241
 
241
242
  describe "when starting a service on Solaris" do
242
243
  it "should use ctrun" do
243
- Facter.stubs(:value).with(:osfamily).returns 'Solaris'
244
- provider.expects(:execute).with('/usr/bin/ctrun -l child /service/path/myservice start', {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).returns("")
245
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
244
+ allow(Facter).to receive(:value).with(:osfamily).and_return('Solaris')
245
+ expect(provider).to receive(:execute).with('/usr/bin/ctrun -l child /service/path/myservice start', {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).and_return("")
246
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
246
247
  provider.start
247
248
  end
248
249
  end
249
250
 
250
251
  describe "when starting a service on RedHat" do
251
252
  it "should not use ctrun" do
252
- Facter.stubs(:value).with(:osfamily).returns 'RedHat'
253
- provider.expects(:execute).with(['/service/path/myservice', :start], {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).returns("")
254
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
253
+ allow(Facter).to receive(:value).with(:osfamily).and_return('RedHat')
254
+ expect(provider).to receive(:execute).with(['/service/path/myservice', :start], {:failonfail => true, :override_locale => false, :squelch => false, :combine => true}).and_return("")
255
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
255
256
  provider.start
256
257
  end
257
258
  end
@@ -1,6 +1,3 @@
1
- # Spec Tests for the Launchd provider
2
- #
3
-
4
1
  require 'spec_helper'
5
2
 
6
3
  describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platform.jruby? do
@@ -28,20 +25,23 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
28
25
 
29
26
  describe 'the status of the services' do
30
27
  it "should call the external command 'launchctl list' once" do
31
- provider.expects(:launchctl).with(:list).returns(joblabel)
32
- provider.expects(:jobsearch).with(nil).returns({joblabel => "/Library/LaunchDaemons/#{joblabel}"})
28
+ expect(provider).to receive(:launchctl).with(:list).and_return(joblabel)
29
+ expect(provider).to receive(:jobsearch).and_return({joblabel => "/Library/LaunchDaemons/#{joblabel}"})
33
30
  provider.prefetch({})
34
31
  end
32
+
35
33
  it "should return stopped if not listed in launchctl list output" do
36
- provider.expects(:launchctl).with(:list).returns('com.bar.is_running')
37
- provider.expects(:jobsearch).with(nil).returns({'com.bar.is_not_running' => "/Library/LaunchDaemons/com.bar.is_not_running"})
38
- expect(provider.prefetch({}).last.status).to eq :stopped
34
+ expect(provider).to receive(:launchctl).with(:list).and_return('com.bar.is_running')
35
+ expect(provider).to receive(:jobsearch).and_return({'com.bar.is_not_running' => "/Library/LaunchDaemons/com.bar.is_not_running"})
36
+ expect(provider.prefetch({}).last.status).to eq(:stopped)
39
37
  end
38
+
40
39
  it "should return running if listed in launchctl list output" do
41
- provider.expects(:launchctl).with(:list).returns('com.bar.is_running')
42
- provider.expects(:jobsearch).with(nil).returns({'com.bar.is_running' => "/Library/LaunchDaemons/com.bar.is_running"})
43
- expect(provider.prefetch({}).last.status).to eq :running
40
+ expect(provider).to receive(:launchctl).with(:list).and_return('com.bar.is_running')
41
+ expect(provider).to receive(:jobsearch).and_return({'com.bar.is_running' => "/Library/LaunchDaemons/com.bar.is_running"})
42
+ expect(provider.prefetch({}).last.status).to eq(:running)
44
43
  end
44
+
45
45
  after :each do
46
46
  provider.instance_variable_set(:@job_list, nil)
47
47
  end
@@ -53,20 +53,20 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
53
53
 
54
54
  it "should use the user-provided status command if present and return running if true" do
55
55
  resource[:status] = '/bin/true'
56
- subject.expects(:texecute).with(:status, ["/bin/true"], false).returns(0)
57
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
56
+ expect(subject).to receive(:texecute).with(:status, ["/bin/true"], false).and_return(0)
57
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
58
58
  expect(subject.status).to eq(:running)
59
59
  end
60
60
 
61
61
  it "should use the user-provided status command if present and return stopped if false" do
62
62
  resource[:status] = '/bin/false'
63
- subject.expects(:texecute).with(:status, ["/bin/false"], false).returns(nil)
64
- $CHILD_STATUS.stubs(:exitstatus).returns(1)
63
+ expect(subject).to receive(:texecute).with(:status, ["/bin/false"], false).and_return(nil)
64
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
65
65
  expect(subject.status).to eq(:stopped)
66
66
  end
67
67
 
68
68
  it "should fall back to getpid if no status command is provided" do
69
- subject.expects(:getpid).returns(123)
69
+ expect(subject).to receive(:getpid).and_return(123)
70
70
  expect(subject.status).to eq(:running)
71
71
  end
72
72
  end
@@ -75,24 +75,26 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
75
75
  [[10, '10.6'], [13, '10.9']].each do |kernel, version|
76
76
  describe "when checking whether the service is enabled on OS X #{version}" do
77
77
  it "should return true if the job plist says disabled is true and the global overrides says disabled is false" do
78
- provider.expects(:get_os_version).returns(kernel).at_least_once
79
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => true}])
80
- plistlib.expects(:read_plist_file).with(launchd_overrides_6_9).returns({joblabel => {"Disabled" => false}})
81
- FileTest.expects(:file?).with(launchd_overrides_6_9).returns(true)
78
+ expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
79
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
80
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({joblabel => {"Disabled" => false}})
81
+ expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
82
82
  expect(subject.enabled?).to eq(:true)
83
83
  end
84
+
84
85
  it "should return false if the job plist says disabled is false and the global overrides says disabled is true" do
85
- provider.expects(:get_os_version).returns(kernel).at_least_once
86
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => false}])
87
- plistlib.expects(:read_plist_file).with(launchd_overrides_6_9).returns({joblabel => {"Disabled" => true}})
88
- FileTest.expects(:file?).with(launchd_overrides_6_9).returns(true)
86
+ expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
87
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
88
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({joblabel => {"Disabled" => true}})
89
+ expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
89
90
  expect(subject.enabled?).to eq(:false)
90
91
  end
92
+
91
93
  it "should return true if the job plist and the global overrides have no disabled keys" do
92
- provider.expects(:get_os_version).returns(kernel).at_least_once
93
- subject.expects(:plist_from_label).returns([joblabel, {}])
94
- plistlib.expects(:read_plist_file).with(launchd_overrides_6_9).returns({})
95
- FileTest.expects(:file?).with(launchd_overrides_6_9).returns(true)
94
+ expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
95
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
96
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
97
+ expect(FileTest).to receive(:file?).with(launchd_overrides_6_9).and_return(true)
96
98
  expect(subject.enabled?).to eq(:true)
97
99
  end
98
100
  end
@@ -100,24 +102,26 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
100
102
 
101
103
  describe "when checking whether the service is enabled on OS X 10.10" do
102
104
  it "should return true if the job plist says disabled is true and the global overrides says disabled is false" do
103
- provider.expects(:get_os_version).returns(14).at_least_once
104
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => true}])
105
- plistlib.expects(:read_plist_file).with(launchd_overrides_10_).returns({joblabel => false})
106
- FileTest.expects(:file?).with(launchd_overrides_10_).returns(true)
105
+ expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
106
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
107
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({joblabel => false})
108
+ expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
107
109
  expect(subject.enabled?).to eq(:true)
108
110
  end
111
+
109
112
  it "should return false if the job plist says disabled is false and the global overrides says disabled is true" do
110
- provider.expects(:get_os_version).returns(14).at_least_once
111
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => false}])
112
- plistlib.expects(:read_plist_file).with(launchd_overrides_10_).returns({joblabel => true})
113
- FileTest.expects(:file?).with(launchd_overrides_10_).returns(true)
113
+ expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
114
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
115
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({joblabel => true})
116
+ expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
114
117
  expect(subject.enabled?).to eq(:false)
115
118
  end
119
+
116
120
  it "should return true if the job plist and the global overrides have no disabled keys" do
117
- provider.expects(:get_os_version).returns(14).at_least_once
118
- subject.expects(:plist_from_label).returns([joblabel, {}])
119
- plistlib.expects(:read_plist_file).with(launchd_overrides_10_).returns({})
120
- FileTest.expects(:file?).with(launchd_overrides_10_).returns(true)
121
+ expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
122
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
123
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
124
+ expect(FileTest).to receive(:file?).with(launchd_overrides_10_).and_return(true)
121
125
  expect(subject.enabled?).to eq(:true)
122
126
  end
123
127
  end
@@ -125,47 +129,51 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
125
129
  describe "when starting the service" do
126
130
  it "should call any explicit 'start' command" do
127
131
  resource[:start] = "/bin/false"
128
- subject.expects(:texecute).with(:start, ["/bin/false"], true)
132
+ expect(subject).to receive(:texecute).with(:start, ["/bin/false"], true)
129
133
  subject.start
130
134
  end
131
135
 
132
136
  it "should look for the relevant plist once" do
133
- subject.expects(:plist_from_label).returns([joblabel, {}]).once
134
- subject.expects(:enabled?).returns :true
135
- subject.expects(:execute).with([:launchctl, :load, "-w", joblabel])
137
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
138
+ expect(subject).to receive(:enabled?).and_return(:true)
139
+ expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel])
136
140
  subject.start
137
141
  end
142
+
138
143
  it "should execute 'launchctl load' once without writing to the plist if the job is enabled" do
139
- subject.expects(:plist_from_label).returns([joblabel, {}])
140
- subject.expects(:enabled?).returns :true
141
- subject.expects(:execute).with([:launchctl, :load, "-w", joblabel]).once
144
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
145
+ expect(subject).to receive(:enabled?).and_return(:true)
146
+ expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel]).once
142
147
  subject.start
143
148
  end
149
+
144
150
  it "should execute 'launchctl load' with writing to the plist once if the job is disabled" do
145
- subject.expects(:plist_from_label).returns([joblabel, {}])
146
- subject.expects(:enabled?).returns(:false)
147
- subject.expects(:execute).with([:launchctl, :load, "-w", joblabel]).once
151
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
152
+ expect(subject).to receive(:enabled?).and_return(:false)
153
+ expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel]).once
148
154
  subject.start
149
155
  end
156
+
150
157
  it "should disable the job once if the job is disabled and should be disabled at boot" do
151
158
  resource[:enable] = false
152
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => true}])
153
- subject.expects(:enabled?).returns :false
154
- subject.expects(:execute).with([:launchctl, :load, "-w", joblabel])
155
- subject.expects(:disable).once
159
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => true}])
160
+ expect(subject).to receive(:enabled?).and_return(:false)
161
+ expect(subject).to receive(:execute).with([:launchctl, :load, "-w", joblabel])
162
+ expect(subject).to receive(:disable).once
156
163
  subject.start
157
164
  end
165
+
158
166
  it "(#2773) should execute 'launchctl load -w' if the job is enabled but stopped" do
159
- subject.expects(:plist_from_label).returns([joblabel, {}])
160
- subject.expects(:enabled?).returns(:true)
161
- subject.expects(:status).returns(:stopped)
162
- subject.expects(:execute).with([:launchctl, :load, '-w', joblabel])
167
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
168
+ expect(subject).to receive(:enabled?).and_return(:true)
169
+ expect(subject).to receive(:status).and_return(:stopped)
170
+ expect(subject).to receive(:execute).with([:launchctl, :load, '-w', joblabel])
163
171
  subject.start
164
172
  end
165
173
 
166
174
  it "(#16271) Should stop and start the service when a restart is called" do
167
- subject.expects(:stop)
168
- subject.expects(:start)
175
+ expect(subject).to receive(:stop)
176
+ expect(subject).to receive(:start)
169
177
  subject.restart
170
178
  end
171
179
  end
@@ -173,34 +181,37 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
173
181
  describe "when stopping the service" do
174
182
  it "should call any explicit 'stop' command" do
175
183
  resource[:stop] = "/bin/false"
176
- subject.expects(:texecute).with(:stop, ["/bin/false"], true)
184
+ expect(subject).to receive(:texecute).with(:stop, ["/bin/false"], true)
177
185
  subject.stop
178
186
  end
179
187
 
180
188
  it "should look for the relevant plist once" do
181
- subject.expects(:plist_from_label).returns([joblabel, {}]).once
182
- subject.expects(:enabled?).returns :true
183
- subject.expects(:execute).with([:launchctl, :unload, '-w', joblabel])
189
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
190
+ expect(subject).to receive(:enabled?).and_return(:true)
191
+ expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel])
184
192
  subject.stop
185
193
  end
194
+
186
195
  it "should execute 'launchctl unload' once without writing to the plist if the job is disabled" do
187
- subject.expects(:plist_from_label).returns([joblabel, {}])
188
- subject.expects(:enabled?).returns :false
189
- subject.expects(:execute).with([:launchctl, :unload, joblabel]).once
196
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
197
+ expect(subject).to receive(:enabled?).and_return(:false)
198
+ expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel]).once
190
199
  subject.stop
191
200
  end
201
+
192
202
  it "should execute 'launchctl unload' with writing to the plist once if the job is enabled" do
193
- subject.expects(:plist_from_label).returns([joblabel, {}])
194
- subject.expects(:enabled?).returns :true
195
- subject.expects(:execute).with([:launchctl, :unload, '-w', joblabel]).once
203
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}])
204
+ expect(subject).to receive(:enabled?).and_return(:true)
205
+ expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel]).once
196
206
  subject.stop
197
207
  end
208
+
198
209
  it "should enable the job once if the job is enabled and should be enabled at boot" do
199
210
  resource[:enable] = true
200
- subject.expects(:plist_from_label).returns([joblabel, {"Disabled" => false}])
201
- subject.expects(:enabled?).returns :true
202
- subject.expects(:execute).with([:launchctl, :unload, "-w", joblabel])
203
- subject.expects(:enable).once
211
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {"Disabled" => false}])
212
+ expect(subject).to receive(:enabled?).and_return(:true)
213
+ expect(subject).to receive(:execute).with([:launchctl, :unload, "-w", joblabel])
214
+ expect(subject).to receive(:enable).once
204
215
  subject.stop
205
216
  end
206
217
  end
@@ -208,16 +219,17 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
208
219
  describe "when enabling the service" do
209
220
  it "should look for the relevant plist once" do ### Do we need this test? Differentiating it?
210
221
  resource[:enable] = true
211
- subject.expects(:plist_from_label).returns([joblabel, {}]).once
212
- subject.expects(:enabled?).returns :false
213
- subject.expects(:execute).with([:launchctl, :unload, joblabel])
222
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
223
+ expect(subject).to receive(:enabled?).and_return(:false)
224
+ expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel])
214
225
  subject.stop
215
226
  end
227
+
216
228
  it "should check if the job is enabled once" do
217
229
  resource[:enable] = true
218
- subject.expects(:plist_from_label).returns([joblabel, {}]).once
219
- subject.expects(:enabled?).once
220
- subject.expects(:execute).with([:launchctl, :unload, joblabel])
230
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
231
+ expect(subject).to receive(:enabled?).once
232
+ expect(subject).to receive(:execute).with([:launchctl, :unload, joblabel])
221
233
  subject.stop
222
234
  end
223
235
  end
@@ -225,9 +237,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
225
237
  describe "when disabling the service" do
226
238
  it "should look for the relevant plist once" do
227
239
  resource[:enable] = false
228
- subject.expects(:plist_from_label).returns([joblabel, {}]).once
229
- subject.expects(:enabled?).returns :true
230
- subject.expects(:execute).with([:launchctl, :unload, '-w', joblabel])
240
+ expect(subject).to receive(:plist_from_label).and_return([joblabel, {}]).once
241
+ expect(subject).to receive(:enabled?).and_return(:true)
242
+ expect(subject).to receive(:execute).with([:launchctl, :unload, '-w', joblabel])
231
243
  subject.stop
232
244
  end
233
245
  end
@@ -236,9 +248,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
236
248
  describe "when enabling the service on OS X #{version}" do
237
249
  it "should write to the global launchd overrides file once" do
238
250
  resource[:enable] = true
239
- provider.expects(:get_os_version).returns(kernel).at_least_once
240
- plistlib.expects(:read_plist_file).with(launchd_overrides_6_9).returns({})
241
- plistlib.expects(:write_plist_file).with(has_entry(resource[:name], {'Disabled' => false}), launchd_overrides_6_9).once
251
+ expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
252
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
253
+ expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => {'Disabled' => false}), launchd_overrides_6_9).once
242
254
  subject.enable
243
255
  end
244
256
  end
@@ -246,9 +258,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
246
258
  describe "when disabling the service on OS X #{version}" do
247
259
  it "should write to the global launchd overrides file once" do
248
260
  resource[:enable] = false
249
- provider.expects(:get_os_version).returns(kernel).at_least_once
250
- plistlib.expects(:read_plist_file).with(launchd_overrides_6_9).returns({})
251
- plistlib.expects(:write_plist_file).with(has_entry(resource[:name], {'Disabled' => true}), launchd_overrides_6_9).once
261
+ expect(provider).to receive(:get_os_version).and_return(kernel).at_least(:once)
262
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_6_9).and_return({})
263
+ expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => {'Disabled' => true}), launchd_overrides_6_9).once
252
264
  subject.disable
253
265
  end
254
266
  end
@@ -257,9 +269,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
257
269
  describe "when enabling the service on OS X 10.10" do
258
270
  it "should write to the global launchd overrides file once" do
259
271
  resource[:enable] = true
260
- provider.expects(:get_os_version).returns(14).at_least_once
261
- plistlib.expects(:read_plist_file).with(launchd_overrides_10_).returns({})
262
- plistlib.expects(:write_plist_file).with(has_entry(resource[:name], false), launchd_overrides_10_).once
272
+ expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
273
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
274
+ expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => false), launchd_overrides_10_).once
263
275
  subject.enable
264
276
  end
265
277
  end
@@ -267,9 +279,9 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
267
279
  describe "when disabling the service on OS X 10.10" do
268
280
  it "should write to the global launchd overrides file once" do
269
281
  resource[:enable] = false
270
- provider.expects(:get_os_version).returns(14).at_least_once
271
- plistlib.expects(:read_plist_file).with(launchd_overrides_10_).returns({})
272
- plistlib.expects(:write_plist_file).with(has_entry(resource[:name], true), launchd_overrides_10_).once
282
+ expect(provider).to receive(:get_os_version).and_return(14).at_least(:once)
283
+ expect(plistlib).to receive(:read_plist_file).with(launchd_overrides_10_).and_return({})
284
+ expect(plistlib).to receive(:write_plist_file).with(hash_including(resource[:name] => true), launchd_overrides_10_).once
273
285
  subject.disable
274
286
  end
275
287
  end
@@ -281,6 +293,7 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
281
293
  provider.send(:remove_instance_variable, :@label_to_path_map)
282
294
  end
283
295
  end
296
+
284
297
  describe "when encountering malformed plists" do
285
298
  let(:plist_without_label) do
286
299
  {
@@ -291,31 +304,36 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
291
304
  let(:binary_plist_path) { '/Library/LaunchAgents/org.binary.plist' }
292
305
 
293
306
  it "[17624] should warn that the plist in question is being skipped" do
294
- provider.expects(:launchd_paths).returns(['/Library/LaunchAgents'])
295
- provider.expects(:return_globbed_list_of_file_paths).with('/Library/LaunchAgents').returns([busted_plist_path])
296
- plistlib.expects(:read_plist_file).with(busted_plist_path).returns(plist_without_label)
297
- Puppet.expects(:debug).with("Reading launchd plist #{busted_plist_path}")
298
- Puppet.expects(:debug).with("The #{busted_plist_path} plist does not contain a 'label' key; Puppet is skipping it")
307
+ expect(provider).to receive(:launchd_paths).and_return(['/Library/LaunchAgents'])
308
+ expect(provider).to receive(:return_globbed_list_of_file_paths).with('/Library/LaunchAgents').and_return([busted_plist_path])
309
+ expect(plistlib).to receive(:read_plist_file).with(busted_plist_path).and_return(plist_without_label)
310
+ expect(Puppet).to receive(:debug).with("Reading launchd plist #{busted_plist_path}")
311
+ expect(Puppet).to receive(:debug).with("The #{busted_plist_path} plist does not contain a 'label' key; Puppet is skipping it")
299
312
  provider.make_label_to_path_map
300
313
  end
301
314
  end
315
+
302
316
  it "should return the cached value when available" do
303
317
  provider.instance_variable_set(:@label_to_path_map, {'xx'=>'yy'})
304
318
  expect(provider.make_label_to_path_map).to eq({'xx'=>'yy'})
305
319
  end
320
+
306
321
  describe "when successful" do
307
322
  let(:launchd_dir) { '/Library/LaunchAgents' }
308
323
  let(:plist) { launchd_dir + '/foo.bar.service.plist' }
309
324
  let(:label) { 'foo.bar.service' }
325
+
310
326
  before do
311
327
  provider.instance_variable_set(:@label_to_path_map, nil)
312
- provider.expects(:launchd_paths).returns([launchd_dir])
313
- provider.expects(:return_globbed_list_of_file_paths).with(launchd_dir).returns([plist])
314
- plistlib.expects(:read_plist_file).with(plist).returns({'Label'=>'foo.bar.service'})
328
+ expect(provider).to receive(:launchd_paths).and_return([launchd_dir])
329
+ expect(provider).to receive(:return_globbed_list_of_file_paths).with(launchd_dir).and_return([plist])
330
+ expect(plistlib).to receive(:read_plist_file).with(plist).and_return({'Label'=>'foo.bar.service'})
315
331
  end
332
+
316
333
  it "should read the plists and return their contents" do
317
334
  expect(provider.make_label_to_path_map).to eq({label=>plist})
318
335
  end
336
+
319
337
  it "should re-read the plists and return their contents when refreshed" do
320
338
  provider.instance_variable_set(:@label_to_path_map, {'xx'=>'yy'})
321
339
  expect(provider.make_label_to_path_map(true)).to eq({label=>plist})
@@ -326,42 +344,46 @@ describe 'Puppet::Type::Service::Provider::Launchd', unless: Puppet::Util::Platf
326
344
  describe "jobsearch" do
327
345
  let(:map) { {"org.mozilla.puppet" => "/path/to/puppet.plist",
328
346
  "org.mozilla.python" => "/path/to/python.plist"} }
329
- it "returns the entire map with no args" do
330
- provider.expects(:make_label_to_path_map).returns(map)
347
+
348
+ it "returns the entire map with no args" do
349
+ expect(provider).to receive(:make_label_to_path_map).and_return(map)
331
350
  expect(provider.jobsearch).to eq(map)
332
351
  end
352
+
333
353
  it "returns a singleton hash when given a label" do
334
- provider.expects(:make_label_to_path_map).returns(map)
354
+ expect(provider).to receive(:make_label_to_path_map).and_return(map)
335
355
  expect(provider.jobsearch("org.mozilla.puppet")).to eq({ "org.mozilla.puppet" => "/path/to/puppet.plist" })
336
356
  end
357
+
337
358
  it "refreshes the label_to_path_map when label is not found" do
338
- provider.expects(:make_label_to_path_map).with().returns({})
339
- provider.expects(:make_label_to_path_map).with(true).returns(map)
359
+ expect(provider).to receive(:make_label_to_path_map).and_return(map)
340
360
  expect(provider.jobsearch("org.mozilla.puppet")).to eq({ "org.mozilla.puppet" => "/path/to/puppet.plist" })
341
361
  end
362
+
342
363
  it "raises Puppet::Error when the label is still not found" do
343
- provider.expects(:make_label_to_path_map).with().returns(map)
344
- provider.expects(:make_label_to_path_map).with(true).returns(map)
364
+ allow(provider).to receive(:make_label_to_path_map).and_return(map)
345
365
  expect { provider.jobsearch("NOSUCH") }.to raise_error(Puppet::Error)
346
366
  end
347
367
  end
348
368
 
349
369
  describe "read_overrides" do
350
370
  before do
351
- Kernel.stubs(:sleep)
371
+ allow(Kernel).to receive(:sleep)
352
372
  end
373
+
353
374
  it "should read overrides" do
354
- provider.expects(:read_plist).once.returns({})
375
+ expect(provider).to receive(:read_plist).once.and_return({})
355
376
  expect(provider.read_overrides).to eq({})
356
377
  end
378
+
357
379
  it "should retry if read_plist fails" do
358
- provider.expects(:read_plist).once.returns({})
359
- provider.expects(:read_plist).once.returns(nil)
380
+ allow(provider).to receive(:read_plist).and_return({}, nil)
360
381
  expect(provider.read_overrides).to eq({})
361
382
  end
383
+
362
384
  it "raises Puppet::Error after 20 attempts" do
363
- provider.expects(:read_plist).times(20).returns(nil)
385
+ expect(provider).to receive(:read_plist).exactly(20).times().and_return(nil)
364
386
  expect { provider.read_overrides }.to raise_error(Puppet::Error)
365
387
  end
366
- end
388
+ end
367
389
  end