puppet 5.5.12 → 5.5.13

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 (733) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -5
  3. data/Gemfile.lock +11 -11
  4. data/lib/puppet/application/filebucket.rb +4 -0
  5. data/lib/puppet/configurer.rb +9 -3
  6. data/lib/puppet/indirector/request.rb +26 -15
  7. data/lib/puppet/indirector/rest.rb +16 -7
  8. data/lib/puppet/network/http/connection.rb +15 -7
  9. data/lib/puppet/transaction/event_manager.rb +1 -5
  10. data/lib/puppet/type/file/source.rb +0 -1
  11. data/lib/puppet/util/http_proxy.rb +3 -2
  12. data/lib/puppet/version.rb +1 -1
  13. data/locales/puppet.pot +108 -36
  14. data/man/man5/puppet.conf.5 +2 -2
  15. data/man/man8/puppet-agent.8 +1 -1
  16. data/man/man8/puppet-apply.8 +1 -1
  17. data/man/man8/puppet-ca.8 +1 -1
  18. data/man/man8/puppet-catalog.8 +1 -1
  19. data/man/man8/puppet-cert.8 +1 -1
  20. data/man/man8/puppet-certificate.8 +1 -1
  21. data/man/man8/puppet-certificate_request.8 +1 -1
  22. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  23. data/man/man8/puppet-config.8 +1 -1
  24. data/man/man8/puppet-describe.8 +1 -1
  25. data/man/man8/puppet-device.8 +1 -1
  26. data/man/man8/puppet-doc.8 +1 -1
  27. data/man/man8/puppet-epp.8 +1 -1
  28. data/man/man8/puppet-facts.8 +1 -1
  29. data/man/man8/puppet-filebucket.8 +1 -1
  30. data/man/man8/puppet-generate.8 +1 -1
  31. data/man/man8/puppet-help.8 +1 -1
  32. data/man/man8/puppet-key.8 +1 -1
  33. data/man/man8/puppet-lookup.8 +1 -1
  34. data/man/man8/puppet-man.8 +1 -1
  35. data/man/man8/puppet-master.8 +1 -1
  36. data/man/man8/puppet-module.8 +1 -1
  37. data/man/man8/puppet-node.8 +1 -1
  38. data/man/man8/puppet-parser.8 +1 -1
  39. data/man/man8/puppet-plugin.8 +1 -1
  40. data/man/man8/puppet-report.8 +1 -1
  41. data/man/man8/puppet-resource.8 +1 -1
  42. data/man/man8/puppet-script.8 +1 -1
  43. data/man/man8/puppet-status.8 +1 -1
  44. data/man/man8/puppet.8 +2 -2
  45. data/spec/integration/agent/logging_spec.rb +5 -7
  46. data/spec/integration/application/apply_spec.rb +28 -26
  47. data/spec/integration/application/doc_spec.rb +1 -2
  48. data/spec/integration/application/lookup_spec.rb +5 -5
  49. data/spec/integration/configurer_spec.rb +5 -6
  50. data/spec/integration/defaults_spec.rb +5 -6
  51. data/spec/integration/directory_environments_spec.rb +1 -1
  52. data/spec/integration/faces/ca_spec.rb +2 -3
  53. data/spec/integration/faces/config_spec.rb +3 -4
  54. data/spec/integration/faces/documentation_spec.rb +0 -1
  55. data/spec/integration/faces/plugin_spec.rb +1 -1
  56. data/spec/integration/file_bucket/file_spec.rb +3 -5
  57. data/spec/integration/file_serving/content_spec.rb +0 -1
  58. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  59. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  60. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  61. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  62. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  63. data/spec/integration/indirector/facts/facter_spec.rb +5 -5
  64. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  65. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  66. data/spec/integration/indirector/node/ldap_spec.rb +2 -3
  67. data/spec/integration/network/authconfig_spec.rb +23 -24
  68. data/spec/integration/network/formats_spec.rb +0 -1
  69. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -1
  70. data/spec/integration/node/environment_spec.rb +0 -1
  71. data/spec/integration/node/facts_spec.rb +9 -10
  72. data/spec/integration/node_spec.rb +6 -7
  73. data/spec/integration/parser/catalog_spec.rb +4 -2
  74. data/spec/integration/parser/collection_spec.rb +1 -2
  75. data/spec/integration/parser/compiler_spec.rb +6 -6
  76. data/spec/integration/parser/scope_spec.rb +1 -1
  77. data/spec/integration/parser/undef_param_spec.rb +1 -1
  78. data/spec/integration/provider/cron/crontab_spec.rb +8 -10
  79. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
  80. data/spec/integration/provider/mount_spec.rb +9 -9
  81. data/spec/integration/provider/service/init_spec.rb +4 -5
  82. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  83. data/spec/integration/provider/service/windows_spec.rb +1 -2
  84. data/spec/integration/provider/ssh_authorized_key_spec.rb +6 -8
  85. data/spec/integration/provider/sshkey_spec.rb +6 -12
  86. data/spec/integration/provider/yumrepo_spec.rb +8 -12
  87. data/spec/integration/reference/providers_spec.rb +0 -1
  88. data/spec/integration/reports_spec.rb +1 -2
  89. data/spec/integration/resource/catalog_spec.rb +14 -17
  90. data/spec/integration/resource/type_collection_spec.rb +4 -5
  91. data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
  92. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  93. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
  94. data/spec/integration/ssl/host_spec.rb +0 -1
  95. data/spec/integration/ssl/key_spec.rb +0 -1
  96. data/spec/integration/test/test_helper_spec.rb +1 -2
  97. data/spec/integration/transaction/report_spec.rb +6 -11
  98. data/spec/integration/transaction_spec.rb +18 -19
  99. data/spec/integration/type/exec_spec.rb +0 -1
  100. data/spec/integration/type/file_spec.rb +13 -14
  101. data/spec/integration/type/nagios_spec.rb +3 -5
  102. data/spec/integration/type/package_spec.rb +19 -23
  103. data/spec/integration/type/tidy_spec.rb +1 -2
  104. data/spec/integration/type/user_spec.rb +0 -1
  105. data/spec/integration/type_spec.rb +0 -1
  106. data/spec/integration/util/autoload_spec.rb +1 -2
  107. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  108. data/spec/integration/util/settings_spec.rb +0 -1
  109. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  110. data/spec/integration/util/windows/principal_spec.rb +0 -1
  111. data/spec/integration/util/windows/process_spec.rb +4 -6
  112. data/spec/integration/util/windows/registry_spec.rb +41 -51
  113. data/spec/integration/util/windows/security_spec.rb +2 -4
  114. data/spec/integration/util/windows/user_spec.rb +18 -20
  115. data/spec/integration/util_spec.rb +4 -7
  116. data/spec/lib/puppet_spec/compiler.rb +1 -1
  117. data/spec/lib/puppet_spec/files.rb +0 -1
  118. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  119. data/spec/lib/puppet_spec/scope.rb +1 -2
  120. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  121. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  122. data/spec/shared_behaviours/file_serving.rb +6 -8
  123. data/spec/shared_behaviours/file_serving_model.rb +4 -6
  124. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  125. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  126. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  127. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  128. data/spec/spec_helper.rb +11 -2
  129. data/spec/unit/agent/disabler_spec.rb +4 -5
  130. data/spec/unit/agent/locker_spec.rb +12 -13
  131. data/spec/unit/agent_spec.rb +80 -85
  132. data/spec/unit/application/agent_spec.rb +88 -93
  133. data/spec/unit/application/apply_spec.rb +78 -79
  134. data/spec/unit/application/cert_spec.rb +42 -49
  135. data/spec/unit/application/certificate_spec.rb +2 -3
  136. data/spec/unit/application/config_spec.rb +0 -1
  137. data/spec/unit/application/describe_spec.rb +6 -7
  138. data/spec/unit/application/device_spec.rb +175 -184
  139. data/spec/unit/application/doc_spec.rb +44 -46
  140. data/spec/unit/application/face_base_spec.rb +61 -62
  141. data/spec/unit/application/facts_spec.rb +3 -4
  142. data/spec/unit/application/filebucket_spec.rb +66 -74
  143. data/spec/unit/application/indirection_base_spec.rb +8 -6
  144. data/spec/unit/application/lookup_spec.rb +26 -26
  145. data/spec/unit/application/master_spec.rb +95 -95
  146. data/spec/unit/application/resource_spec.rb +42 -48
  147. data/spec/unit/application_spec.rb +74 -84
  148. data/spec/unit/capability_spec.rb +9 -6
  149. data/spec/unit/configurer/downloader_spec.rb +20 -21
  150. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  151. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  152. data/spec/unit/configurer_spec.rb +190 -193
  153. data/spec/unit/confine/exists_spec.rb +17 -15
  154. data/spec/unit/confine/false_spec.rb +5 -6
  155. data/spec/unit/confine/feature_spec.rb +7 -5
  156. data/spec/unit/confine/true_spec.rb +5 -6
  157. data/spec/unit/confine/variable_spec.rb +14 -15
  158. data/spec/unit/confine_collection_spec.rb +28 -29
  159. data/spec/unit/confine_spec.rb +13 -14
  160. data/spec/unit/confiner_spec.rb +10 -11
  161. data/spec/unit/context/trusted_information_spec.rb +1 -1
  162. data/spec/unit/daemon_spec.rb +34 -35
  163. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  164. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  165. data/spec/unit/datatypes_spec.rb +3 -4
  166. data/spec/unit/defaults_spec.rb +17 -12
  167. data/spec/unit/environments_spec.rb +7 -7
  168. data/spec/unit/etc_spec.rb +30 -32
  169. data/spec/unit/external/pson_spec.rb +0 -1
  170. data/spec/unit/face/ca_spec.rb +0 -1
  171. data/spec/unit/face/catalog_spec.rb +0 -1
  172. data/spec/unit/face/certificate_request_spec.rb +0 -1
  173. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
  174. data/spec/unit/face/certificate_spec.rb +7 -10
  175. data/spec/unit/face/config_spec.rb +31 -35
  176. data/spec/unit/face/epp_face_spec.rb +3 -4
  177. data/spec/unit/face/facts_spec.rb +5 -6
  178. data/spec/unit/face/generate_spec.rb +4 -5
  179. data/spec/unit/face/help_spec.rb +7 -8
  180. data/spec/unit/face/key_spec.rb +0 -1
  181. data/spec/unit/face/man_spec.rb +1 -2
  182. data/spec/unit/face/module/build_spec.rb +17 -17
  183. data/spec/unit/face/module/install_spec.rb +3 -5
  184. data/spec/unit/face/module/list_spec.rb +2 -12
  185. data/spec/unit/face/module/search_spec.rb +11 -9
  186. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  187. data/spec/unit/face/node_spec.rb +33 -34
  188. data/spec/unit/face/parser_spec.rb +3 -3
  189. data/spec/unit/face/plugin_spec.rb +36 -9
  190. data/spec/unit/face/status_spec.rb +0 -1
  191. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  192. data/spec/unit/file_bucket/file_spec.rb +0 -2
  193. data/spec/unit/file_serving/base_spec.rb +16 -17
  194. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  195. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  196. data/spec/unit/file_serving/content_spec.rb +10 -11
  197. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  198. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  199. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  200. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  201. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  202. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  203. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  204. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  205. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  206. data/spec/unit/file_serving/mount_spec.rb +0 -1
  207. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  208. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  209. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  210. data/spec/unit/file_system_spec.rb +2 -2
  211. data/spec/unit/forge/errors_spec.rb +1 -1
  212. data/spec/unit/forge/forge_spec.rb +13 -14
  213. data/spec/unit/forge/module_release_spec.rb +18 -18
  214. data/spec/unit/forge/repository_spec.rb +29 -30
  215. data/spec/unit/forge_spec.rb +15 -11
  216. data/spec/unit/functions/binary_file_spec.rb +3 -3
  217. data/spec/unit/functions/contain_spec.rb +0 -2
  218. data/spec/unit/functions/defined_spec.rb +0 -1
  219. data/spec/unit/functions/epp_spec.rb +2 -2
  220. data/spec/unit/functions/find_file_spec.rb +7 -7
  221. data/spec/unit/functions/include_spec.rb +0 -4
  222. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  223. data/spec/unit/functions/lookup_spec.rb +1 -2
  224. data/spec/unit/functions/module_directory_spec.rb +12 -12
  225. data/spec/unit/functions/require_spec.rb +0 -3
  226. data/spec/unit/functions/shared.rb +5 -8
  227. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  228. data/spec/unit/functions4_spec.rb +7 -8
  229. data/spec/unit/gettext/config_spec.rb +4 -4
  230. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  231. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  232. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  233. data/spec/unit/graph/simple_graph_spec.rb +8 -9
  234. data/spec/unit/hiera_puppet_spec.rb +20 -20
  235. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  236. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  237. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  238. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  239. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/certificate/ca_spec.rb +2 -4
  242. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
  243. data/spec/unit/indirector/certificate/file_spec.rb +2 -3
  244. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  245. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
  246. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
  247. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  248. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  249. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +1 -2
  250. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
  251. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
  252. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
  253. data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
  254. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
  255. data/spec/unit/indirector/code_spec.rb +5 -6
  256. data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
  257. data/spec/unit/indirector/envelope_spec.rb +1 -2
  258. data/spec/unit/indirector/exec_spec.rb +15 -14
  259. data/spec/unit/indirector/face_spec.rb +9 -9
  260. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  261. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  262. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  263. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/facts/yaml_spec.rb +2 -4
  265. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  266. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  267. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  268. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  269. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  270. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  271. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  272. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  273. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  274. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  275. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  276. data/spec/unit/indirector/file_server_spec.rb +99 -93
  277. data/spec/unit/indirector/indirection_spec.rb +242 -226
  278. data/spec/unit/indirector/json_spec.rb +7 -9
  279. data/spec/unit/indirector/key/ca_spec.rb +2 -3
  280. data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
  281. data/spec/unit/indirector/key/file_spec.rb +25 -26
  282. data/spec/unit/indirector/ldap_spec.rb +34 -41
  283. data/spec/unit/indirector/memory_spec.rb +6 -7
  284. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  285. data/spec/unit/indirector/node/exec_spec.rb +6 -6
  286. data/spec/unit/indirector/node/ldap_spec.rb +74 -76
  287. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  288. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  289. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  290. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  291. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  292. data/spec/unit/indirector/node/write_only_yaml_spec.rb +1 -2
  293. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  294. data/spec/unit/indirector/none_spec.rb +5 -5
  295. data/spec/unit/indirector/plain_spec.rb +7 -8
  296. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  297. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  298. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  299. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  300. data/spec/unit/indirector/request_spec.rb +11 -12
  301. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  302. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  303. data/spec/unit/indirector/rest_spec.rb +113 -110
  304. data/spec/unit/indirector/ssl_file_spec.rb +74 -77
  305. data/spec/unit/indirector/status/local_spec.rb +0 -1
  306. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  307. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  308. data/spec/unit/indirector/terminus_spec.rb +31 -29
  309. data/spec/unit/indirector/yaml_spec.rb +33 -32
  310. data/spec/unit/indirector_spec.rb +1 -2
  311. data/spec/unit/info_service_spec.rb +3 -1
  312. data/spec/unit/interface/action_builder_spec.rb +0 -1
  313. data/spec/unit/interface/action_manager_spec.rb +0 -1
  314. data/spec/unit/interface/action_spec.rb +2 -3
  315. data/spec/unit/interface/documentation_spec.rb +0 -1
  316. data/spec/unit/interface/face_collection_spec.rb +19 -12
  317. data/spec/unit/interface_spec.rb +3 -3
  318. data/spec/unit/man_spec.rb +3 -4
  319. data/spec/unit/module_spec.rb +46 -51
  320. data/spec/unit/module_tool/applications/builder_spec.rb +5 -5
  321. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  322. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  323. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  324. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  325. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  326. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  327. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  328. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  329. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  330. data/spec/unit/module_tool/tar_spec.rb +12 -13
  331. data/spec/unit/module_tool_spec.rb +7 -12
  332. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  333. data/spec/unit/network/authconfig_spec.rb +17 -18
  334. data/spec/unit/network/authorization_spec.rb +4 -5
  335. data/spec/unit/network/authstore_spec.rb +0 -1
  336. data/spec/unit/network/format_handler_spec.rb +0 -1
  337. data/spec/unit/network/format_spec.rb +9 -10
  338. data/spec/unit/network/format_support_spec.rb +28 -29
  339. data/spec/unit/network/formats_spec.rb +4 -5
  340. data/spec/unit/network/http/api/ca/v1_spec.rb +1 -1
  341. data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -29
  342. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  343. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  344. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  345. data/spec/unit/network/http/api_spec.rb +1 -3
  346. data/spec/unit/network/http/compression_spec.rb +21 -22
  347. data/spec/unit/network/http/connection_spec.rb +39 -36
  348. data/spec/unit/network/http/factory_spec.rb +5 -6
  349. data/spec/unit/network/http/handler_spec.rb +9 -18
  350. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  351. data/spec/unit/network/http/pool_spec.rb +28 -29
  352. data/spec/unit/network/http/rack/rest_spec.rb +24 -27
  353. data/spec/unit/network/http/rack_spec.rb +5 -6
  354. data/spec/unit/network/http/request_spec.rb +0 -2
  355. data/spec/unit/network/http/response_spec.rb +11 -13
  356. data/spec/unit/network/http/route_spec.rb +0 -1
  357. data/spec/unit/network/http/session_spec.rb +1 -2
  358. data/spec/unit/network/http/site_spec.rb +0 -1
  359. data/spec/unit/network/http/webrick/rest_spec.rb +40 -41
  360. data/spec/unit/network/http/webrick_spec.rb +49 -52
  361. data/spec/unit/network/http_pool_spec.rb +18 -9
  362. data/spec/unit/network/http_spec.rb +0 -1
  363. data/spec/unit/network/resolver_spec.rb +16 -17
  364. data/spec/unit/network/rights_spec.rb +52 -53
  365. data/spec/unit/network/server_spec.rb +12 -13
  366. data/spec/unit/node/environment_spec.rb +16 -14
  367. data/spec/unit/node/facts_spec.rb +5 -7
  368. data/spec/unit/node_spec.rb +4 -10
  369. data/spec/unit/other/selinux_spec.rb +2 -3
  370. data/spec/unit/parameter/boolean_spec.rb +1 -2
  371. data/spec/unit/parameter/package_options_spec.rb +1 -2
  372. data/spec/unit/parameter/path_spec.rb +0 -1
  373. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  374. data/spec/unit/parameter/value_spec.rb +0 -1
  375. data/spec/unit/parameter_spec.rb +9 -9
  376. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  377. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  378. data/spec/unit/parser/compiler_spec.rb +84 -96
  379. data/spec/unit/parser/environment_compiler_spec.rb +11 -9
  380. data/spec/unit/parser/files_spec.rb +0 -1
  381. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  382. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  383. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  384. data/spec/unit/parser/functions/file_spec.rb +13 -14
  385. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  386. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  387. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  388. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  389. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  390. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  391. data/spec/unit/parser/functions/split_spec.rb +0 -1
  392. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  393. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  394. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  395. data/spec/unit/parser/functions/template_spec.rb +13 -13
  396. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  397. data/spec/unit/parser/functions_spec.rb +3 -4
  398. data/spec/unit/parser/relationship_spec.rb +0 -1
  399. data/spec/unit/parser/resource_spec.rb +42 -42
  400. data/spec/unit/parser/scope_spec.rb +39 -35
  401. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  402. data/spec/unit/parser/type_loader_spec.rb +17 -19
  403. data/spec/unit/pops/adaptable_spec.rb +0 -1
  404. data/spec/unit/pops/benchmark_spec.rb +0 -1
  405. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  406. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  407. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  408. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  409. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  410. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  411. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +6 -6
  412. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  413. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  414. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  415. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  416. data/spec/unit/pops/factory_spec.rb +3 -4
  417. data/spec/unit/pops/issues_spec.rb +19 -20
  418. data/spec/unit/pops/loaders/loader_spec.rb +8 -4
  419. data/spec/unit/pops/loaders/loaders_spec.rb +30 -27
  420. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  421. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  422. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  423. data/spec/unit/pops/migration_spec.rb +3 -5
  424. data/spec/unit/pops/model/model_spec.rb +0 -1
  425. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  426. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  427. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  428. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  429. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  430. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  431. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  432. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  433. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  434. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  435. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  436. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  437. data/spec/unit/pops/pn_spec.rb +0 -1
  438. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  439. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  440. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  441. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  442. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  443. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  444. data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
  445. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  446. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  447. data/spec/unit/pops/visitor_spec.rb +0 -1
  448. data/spec/unit/property/boolean_spec.rb +1 -1
  449. data/spec/unit/property/ensure_spec.rb +0 -1
  450. data/spec/unit/property/keyvalue_spec.rb +32 -34
  451. data/spec/unit/property/list_spec.rb +26 -27
  452. data/spec/unit/property/ordered_list_spec.rb +10 -14
  453. data/spec/unit/property_spec.rb +42 -43
  454. data/spec/unit/provider/aix_object_spec.rb +47 -45
  455. data/spec/unit/provider/augeas/augeas_spec.rb +192 -192
  456. data/spec/unit/provider/cisco_spec.rb +1 -2
  457. data/spec/unit/provider/command_spec.rb +9 -9
  458. data/spec/unit/provider/cron/crontab_spec.rb +10 -11
  459. data/spec/unit/provider/cron/parsed_spec.rb +22 -24
  460. data/spec/unit/provider/exec/posix_spec.rb +6 -7
  461. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  462. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  463. data/spec/unit/provider/exec_spec.rb +0 -1
  464. data/spec/unit/provider/file/posix_spec.rb +22 -24
  465. data/spec/unit/provider/file/windows_spec.rb +15 -17
  466. data/spec/unit/provider/group/aix_spec.rb +3 -2
  467. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  468. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  469. data/spec/unit/provider/group/pw_spec.rb +11 -11
  470. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  471. data/spec/unit/provider/host/parsed_spec.rb +6 -6
  472. data/spec/unit/provider/interface/cisco_spec.rb +20 -24
  473. data/spec/unit/provider/ldap_spec.rb +61 -62
  474. data/spec/unit/provider/macauthorization_spec.rb +26 -47
  475. data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
  476. data/spec/unit/provider/mount/parsed_spec.rb +18 -24
  477. data/spec/unit/provider/mount_spec.rb +57 -66
  478. data/spec/unit/provider/naginator_spec.rb +13 -14
  479. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  480. data/spec/unit/provider/nameservice_spec.rb +38 -40
  481. data/spec/unit/provider/network_device_spec.rb +28 -28
  482. data/spec/unit/provider/package/aix_spec.rb +15 -15
  483. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  484. data/spec/unit/provider/package/apt_spec.rb +44 -27
  485. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  486. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  487. data/spec/unit/provider/package/base_spec.rb +4 -4
  488. data/spec/unit/provider/package/dnf_spec.rb +14 -16
  489. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  490. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  491. data/spec/unit/provider/package/gem_spec.rb +51 -43
  492. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  493. data/spec/unit/provider/package/macports_spec.rb +46 -42
  494. data/spec/unit/provider/package/nim_spec.rb +30 -39
  495. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  496. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  497. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  498. data/spec/unit/provider/package/pip_spec.rb +69 -71
  499. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  500. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  501. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  502. data/spec/unit/provider/package/pkgng_spec.rb +17 -18
  503. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  504. data/spec/unit/provider/package/portage_spec.rb +70 -74
  505. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  506. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  507. data/spec/unit/provider/package/sun_spec.rb +16 -18
  508. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  509. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  510. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  511. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  512. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  513. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  514. data/spec/unit/provider/package/windows_spec.rb +36 -32
  515. data/spec/unit/provider/package/yum_spec.rb +4 -4
  516. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  517. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  518. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
  519. data/spec/unit/provider/selboolean_spec.rb +9 -11
  520. data/spec/unit/provider/selmodule_spec.rb +20 -22
  521. data/spec/unit/provider/service/base_spec.rb +4 -5
  522. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  523. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  524. data/spec/unit/provider/service/debian_spec.rb +37 -37
  525. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  526. data/spec/unit/provider/service/gentoo_spec.rb +50 -56
  527. data/spec/unit/provider/service/init_spec.rb +55 -55
  528. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  529. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  530. data/spec/unit/provider/service/openrc_spec.rb +43 -46
  531. data/spec/unit/provider/service/openwrt_spec.rb +26 -32
  532. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  533. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  534. data/spec/unit/provider/service/runit_spec.rb +29 -27
  535. data/spec/unit/provider/service/smf_spec.rb +74 -66
  536. data/spec/unit/provider/service/src_spec.rb +46 -47
  537. data/spec/unit/provider/service/systemd_spec.rb +93 -98
  538. data/spec/unit/provider/service/upstart_spec.rb +74 -72
  539. data/spec/unit/provider/service/windows_spec.rb +33 -41
  540. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
  541. data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
  542. data/spec/unit/provider/user/aix_spec.rb +31 -31
  543. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  544. data/spec/unit/provider/user/hpux_spec.rb +15 -15
  545. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  546. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  547. data/spec/unit/provider/user/pw_spec.rb +37 -35
  548. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  549. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  550. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  551. data/spec/unit/provider/vlan/cisco_spec.rb +10 -12
  552. data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
  553. data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
  554. data/spec/unit/provider/zone/solaris_spec.rb +56 -42
  555. data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
  556. data/spec/unit/provider_spec.rb +29 -29
  557. data/spec/unit/puppet_pal_2pec.rb +4 -5
  558. data/spec/unit/puppet_pal_spec.rb +0 -1
  559. data/spec/unit/puppet_spec.rb +7 -8
  560. data/spec/unit/relationship_spec.rb +0 -1
  561. data/spec/unit/reports/http_spec.rb +21 -23
  562. data/spec/unit/reports/store_spec.rb +3 -4
  563. data/spec/unit/reports_spec.rb +12 -14
  564. data/spec/unit/resource/capability_finder_spec.rb +18 -16
  565. data/spec/unit/resource/catalog_spec.rb +72 -68
  566. data/spec/unit/resource/status_spec.rb +6 -8
  567. data/spec/unit/resource/type_collection_spec.rb +17 -18
  568. data/spec/unit/resource/type_spec.rb +34 -35
  569. data/spec/unit/resource_spec.rb +36 -32
  570. data/spec/unit/scheduler/job_spec.rb +0 -1
  571. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  572. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  573. data/spec/unit/settings/array_setting_spec.rb +1 -1
  574. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  575. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  576. data/spec/unit/settings/config_file_spec.rb +0 -1
  577. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  578. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  579. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  580. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  581. data/spec/unit/settings/file_setting_spec.rb +44 -46
  582. data/spec/unit/settings/path_setting_spec.rb +1 -2
  583. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  584. data/spec/unit/settings/string_setting_spec.rb +14 -15
  585. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  586. data/spec/unit/settings/value_translator_spec.rb +0 -1
  587. data/spec/unit/settings_spec.rb +226 -233
  588. data/spec/unit/ssl/base_spec.rb +14 -15
  589. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
  590. data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
  591. data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
  592. data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
  593. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
  594. data/spec/unit/ssl/certificate_request_spec.rb +66 -67
  595. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
  596. data/spec/unit/ssl/certificate_spec.rb +23 -25
  597. data/spec/unit/ssl/configuration_spec.rb +1 -4
  598. data/spec/unit/ssl/digest_spec.rb +0 -1
  599. data/spec/unit/ssl/host_spec.rb +217 -188
  600. data/spec/unit/ssl/inventory_spec.rb +25 -21
  601. data/spec/unit/ssl/key_spec.rb +30 -31
  602. data/spec/unit/ssl/validator_spec.rb +40 -40
  603. data/spec/unit/task_spec.rb +6 -7
  604. data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
  605. data/spec/unit/transaction/event_manager_spec.rb +88 -88
  606. data/spec/unit/transaction/event_spec.rb +16 -15
  607. data/spec/unit/transaction/persistence_spec.rb +16 -17
  608. data/spec/unit/transaction/report_spec.rb +11 -12
  609. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  610. data/spec/unit/transaction_spec.rb +98 -100
  611. data/spec/unit/type/augeas_spec.rb +11 -10
  612. data/spec/unit/type/component_spec.rb +0 -1
  613. data/spec/unit/type/computer_spec.rb +7 -10
  614. data/spec/unit/type/cron_spec.rb +3 -7
  615. data/spec/unit/type/exec_spec.rb +60 -56
  616. data/spec/unit/type/file/checksum_spec.rb +9 -10
  617. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  618. data/spec/unit/type/file/content_spec.rb +58 -61
  619. data/spec/unit/type/file/ctime_spec.rb +0 -1
  620. data/spec/unit/type/file/ensure_spec.rb +12 -13
  621. data/spec/unit/type/file/group_spec.rb +5 -7
  622. data/spec/unit/type/file/mode_spec.rb +4 -6
  623. data/spec/unit/type/file/mtime_spec.rb +0 -1
  624. data/spec/unit/type/file/owner_spec.rb +6 -8
  625. data/spec/unit/type/file/selinux_spec.rb +17 -19
  626. data/spec/unit/type/file/source_spec.rb +104 -101
  627. data/spec/unit/type/file/type_spec.rb +0 -1
  628. data/spec/unit/type/file_spec.rb +195 -185
  629. data/spec/unit/type/filebucket_spec.rb +4 -5
  630. data/spec/unit/type/group_spec.rb +6 -8
  631. data/spec/unit/type/host_spec.rb +2 -3
  632. data/spec/unit/type/interface_spec.rb +2 -3
  633. data/spec/unit/type/k5login_spec.rb +3 -4
  634. data/spec/unit/type/macauthorization_spec.rb +6 -8
  635. data/spec/unit/type/mailalias_spec.rb +2 -3
  636. data/spec/unit/type/maillist_spec.rb +6 -9
  637. data/spec/unit/type/mcx_spec.rb +4 -8
  638. data/spec/unit/type/mount_spec.rb +26 -38
  639. data/spec/unit/type/nagios_spec.rb +0 -1
  640. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  641. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  642. data/spec/unit/type/package_spec.rb +53 -54
  643. data/spec/unit/type/resources_spec.rb +86 -88
  644. data/spec/unit/type/schedule_spec.rb +24 -26
  645. data/spec/unit/type/scheduled_task_spec.rb +1 -2
  646. data/spec/unit/type/selboolean_spec.rb +5 -6
  647. data/spec/unit/type/selmodule_spec.rb +0 -1
  648. data/spec/unit/type/service_spec.rb +47 -47
  649. data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
  650. data/spec/unit/type/sshkey_spec.rb +0 -2
  651. data/spec/unit/type/stage_spec.rb +0 -1
  652. data/spec/unit/type/tidy_spec.rb +61 -62
  653. data/spec/unit/type/user_spec.rb +41 -27
  654. data/spec/unit/type/vlan_spec.rb +2 -4
  655. data/spec/unit/type/whit_spec.rb +0 -1
  656. data/spec/unit/type/zfs_spec.rb +6 -7
  657. data/spec/unit/type/zone_spec.rb +14 -4
  658. data/spec/unit/type/zpool_spec.rb +4 -5
  659. data/spec/unit/type_spec.rb +54 -53
  660. data/spec/unit/util/at_fork_spec.rb +18 -19
  661. data/spec/unit/util/autoload_spec.rb +53 -54
  662. data/spec/unit/util/backups_spec.rb +34 -35
  663. data/spec/unit/util/character_encoding_spec.rb +8 -8
  664. data/spec/unit/util/checksums_spec.rb +38 -39
  665. data/spec/unit/util/colors_spec.rb +1 -2
  666. data/spec/unit/util/command_line_spec.rb +24 -25
  667. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  668. data/spec/unit/util/diff_spec.rb +7 -8
  669. data/spec/unit/util/errors_spec.rb +0 -1
  670. data/spec/unit/util/execution_spec.rb +187 -162
  671. data/spec/unit/util/execution_stub_spec.rb +0 -1
  672. data/spec/unit/util/feature_spec.rb +13 -13
  673. data/spec/unit/util/filetype_spec.rb +49 -49
  674. data/spec/unit/util/http_proxy_spec.rb +12 -12
  675. data/spec/unit/util/inifile_spec.rb +26 -31
  676. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  677. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  678. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  679. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  680. data/spec/unit/util/lockfile_spec.rb +0 -1
  681. data/spec/unit/util/log/destinations_spec.rb +30 -33
  682. data/spec/unit/util/log_spec.rb +35 -36
  683. data/spec/unit/util/logging_spec.rb +58 -66
  684. data/spec/unit/util/metric_spec.rb +0 -1
  685. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  686. data/spec/unit/util/multi_match_spec.rb +0 -1
  687. data/spec/unit/util/nagios_maker_spec.rb +35 -36
  688. data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
  689. data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
  690. data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
  691. data/spec/unit/util/network_device/config_spec.rb +0 -1
  692. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
  693. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  694. data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
  695. data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
  696. data/spec/unit/util/network_device_spec.rb +7 -9
  697. data/spec/unit/util/package_spec.rb +0 -1
  698. data/spec/unit/util/pidlock_spec.rb +13 -14
  699. data/spec/unit/util/plist_spec.rb +40 -33
  700. data/spec/unit/util/posix_spec.rb +54 -51
  701. data/spec/unit/util/rdoc_spec.rb +9 -10
  702. data/spec/unit/util/reference_spec.rb +0 -1
  703. data/spec/unit/util/resource_template_spec.rb +20 -20
  704. data/spec/unit/util/retry_action_spec.rb +7 -8
  705. data/spec/unit/util/rubygems_spec.rb +14 -14
  706. data/spec/unit/util/run_mode_spec.rb +3 -4
  707. data/spec/unit/util/selinux_spec.rb +79 -72
  708. data/spec/unit/util/splayer_spec.rb +8 -9
  709. data/spec/unit/util/ssl_spec.rb +0 -1
  710. data/spec/unit/util/storage_spec.rb +3 -4
  711. data/spec/unit/util/suidmanager_spec.rb +45 -54
  712. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  713. data/spec/unit/util/tag_set_spec.rb +0 -1
  714. data/spec/unit/util/tagging_spec.rb +0 -1
  715. data/spec/unit/util/terminal_spec.rb +9 -10
  716. data/spec/unit/util/user_attr_spec.rb +1 -2
  717. data/spec/unit/util/warnings_spec.rb +3 -4
  718. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  719. data/spec/unit/util/watcher_spec.rb +51 -21
  720. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  721. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  722. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  723. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  724. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  725. data/spec/unit/util/windows/file_spec.rb +0 -1
  726. data/spec/unit/util/windows/root_certs_spec.rb +0 -1
  727. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  728. data/spec/unit/util/windows/service_spec.rb +66 -68
  729. data/spec/unit/util/windows/sid_spec.rb +11 -13
  730. data/spec/unit/util/windows/string_spec.rb +0 -1
  731. data/spec/unit/util_spec.rb +55 -59
  732. data/spec/unit/version_spec.rb +6 -6
  733. metadata +2 -2
@@ -1,11 +1,6 @@
1
- #! /usr/bin/env ruby
2
- #
3
- # Unit testing for the systemd service Provider
4
- #
5
1
  require 'spec_helper'
6
2
 
7
3
  describe Puppet::Type.type(:service).provider(:systemd) do
8
-
9
4
  if Puppet.features.microsoft_windows?
10
5
  # Get a pid for $CHILD_STATUS to latch on to
11
6
  command = "cmd.exe /c \"exit 0\""
@@ -13,8 +8,8 @@ describe Puppet::Type.type(:service).provider(:systemd) do
13
8
  end
14
9
 
15
10
  before :each do
16
- Puppet::Type.type(:service).stubs(:defaultprovider).returns described_class
17
- described_class.stubs(:which).with('systemctl').returns '/bin/systemctl'
11
+ allow(Puppet::Type.type(:service)).to receive(:defaultprovider).and_return(described_class)
12
+ allow(described_class).to receive(:which).with('systemctl').and_return('/bin/systemctl')
18
13
  end
19
14
 
20
15
  let :provider do
@@ -25,15 +20,15 @@ describe Puppet::Type.type(:service).provider(:systemd) do
25
20
 
26
21
  osfamilies.each do |osfamily|
27
22
  it "should be the default provider on #{osfamily}" do
28
- Facter.stubs(:value).with(:osfamily).returns(osfamily)
23
+ allow(Facter).to receive(:value).with(:osfamily).and_return(osfamily)
29
24
  expect(described_class).to be_default
30
25
  end
31
26
  end
32
27
 
33
28
  [7, 8].each do |ver|
34
29
  it "should be the default provider on rhel#{ver}" do
35
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
36
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns(ver.to_s)
30
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
31
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return(ver.to_s)
37
32
  expect(described_class).to be_default
38
33
  end
39
34
  end
@@ -42,97 +37,97 @@ describe Puppet::Type.type(:service).provider(:systemd) do
42
37
  it "should not be the default provider on rhel#{ver}" do
43
38
  # In Ruby 1.8.7, the order of hash elements differs from 1.9+ and
44
39
  # caused short-circuiting of the logic used by default.all? in the
45
- # provider. As a workaround we need to use stubs() instead of
46
- # expects() here.
47
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
48
- Facter.stubs(:value).with(:operatingsystem).returns(:redhat)
49
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("#{ver}")
40
+ # provider. As a workaround we need to use allow() instead of
41
+ # expect() here.
42
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
43
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:redhat)
44
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
50
45
  expect(described_class).not_to be_default
51
46
  end
52
47
  end
53
48
 
54
49
  [ 17, 18, 19, 20, 21, 22, 23 ].each do |ver|
55
50
  it "should be the default provider on fedora#{ver}" do
56
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
57
- Facter.stubs(:value).with(:operatingsystem).returns(:fedora)
58
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("#{ver}")
51
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
52
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:fedora)
53
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
59
54
  expect(described_class).to be_default
60
55
  end
61
56
  end
62
57
 
63
58
  it "should be the default provider on Amazon Linux 2.0" do
64
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
65
- Facter.stubs(:value).with(:operatingsystem).returns(:amazon)
66
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("2")
59
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
60
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:amazon)
61
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("2")
67
62
  expect(described_class).to be_default
68
63
  end
69
64
 
70
65
  it "should not be the default provider on Amazon Linux 2017.09" do
71
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
72
- Facter.stubs(:value).with(:operatingsystem).returns(:amazon)
73
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("2017")
66
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
67
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:amazon)
68
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("2017")
74
69
  expect(described_class).not_to be_default
75
70
  end
76
71
 
77
72
  it "should be the default provider on cumulus3" do
78
- Facter.stubs(:value).with(:osfamily).returns(:debian)
79
- Facter.stubs(:value).with(:operatingsystem).returns('CumulusLinux')
80
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("3")
73
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:debian)
74
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return('CumulusLinux')
75
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("3")
81
76
  expect(described_class).to be_default
82
77
  end
83
78
 
84
79
  it "should be the default provider on sles12" do
85
- Facter.stubs(:value).with(:osfamily).returns(:suse)
86
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("12")
80
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:suse)
81
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("12")
87
82
  expect(described_class).to be_default
88
83
  end
89
84
 
90
85
  it "should be the default provider on opensuse13" do
91
- Facter.stubs(:value).with(:osfamily).returns(:suse)
92
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("13")
86
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:suse)
87
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("13")
93
88
  expect(described_class).to be_default
94
89
  end
95
90
 
96
91
  # tumbleweed is a rolling release with date-based major version numbers
97
92
  it "should be the default provider on tumbleweed" do
98
- Facter.stubs(:value).with(:osfamily).returns(:suse)
99
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("20150829")
93
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:suse)
94
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("20150829")
100
95
  expect(described_class).to be_default
101
96
  end
102
97
 
103
98
  # leap is the next generation suse release
104
99
  it "should be the default provider on leap" do
105
- Facter.stubs(:value).with(:osfamily).returns(:suse)
106
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("42")
100
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:suse)
101
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("42")
107
102
  expect(described_class).to be_default
108
103
  end
109
104
 
110
105
  it "should not be the default provider on debian7" do
111
- Facter.stubs(:value).with(:osfamily).returns(:debian)
112
- Facter.stubs(:value).with(:operatingsystem).returns(:debian)
113
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("7")
106
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:debian)
107
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:debian)
108
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("7")
114
109
  expect(described_class).not_to be_default
115
110
  end
116
111
 
117
112
  it "should be the default provider on debian8" do
118
- Facter.stubs(:value).with(:osfamily).returns(:debian)
119
- Facter.stubs(:value).with(:operatingsystem).returns(:debian)
120
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("8")
113
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:debian)
114
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:debian)
115
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("8")
121
116
  expect(described_class).to be_default
122
117
  end
123
118
 
124
119
  it "should not be the default provider on ubuntu14.04" do
125
- Facter.stubs(:value).with(:osfamily).returns(:debian)
126
- Facter.stubs(:value).with(:operatingsystem).returns(:ubuntu)
127
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("14.04")
120
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:debian)
121
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:ubuntu)
122
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("14.04")
128
123
  expect(described_class).not_to be_default
129
124
  end
130
125
 
131
126
  [ '15.04', '15.10', '16.04', '16.10', '17.04', '17.10', '18.04' ].each do |ver|
132
127
  it "should be the default provider on ubuntu#{ver}" do
133
- Facter.stubs(:value).with(:osfamily).returns(:debian)
134
- Facter.stubs(:value).with(:operatingsystem).returns(:ubuntu)
135
- Facter.stubs(:value).with(:operatingsystemmajrelease).returns("#{ver}")
128
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:debian)
129
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return(:ubuntu)
130
+ allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
136
131
  expect(described_class).to be_default
137
132
  end
138
133
  end
@@ -149,7 +144,7 @@ describe Puppet::Type.type(:service).provider(:systemd) do
149
144
  end
150
145
 
151
146
  it "should return only services" do
152
- described_class.expects(:systemctl).with('list-unit-files', '--type', 'service', '--full', '--all', '--no-pager').returns File.read(my_fixture('list_unit_files_services'))
147
+ expect(described_class).to receive(:systemctl).with('list-unit-files', '--type', 'service', '--full', '--all', '--no-pager').and_return(File.read(my_fixture('list_unit_files_services')))
153
148
  expect(described_class.instances.map(&:name)).to match_array(%w{
154
149
  arp-ethers.service
155
150
  auditd.service
@@ -163,29 +158,29 @@ describe Puppet::Type.type(:service).provider(:systemd) do
163
158
  describe "#start" do
164
159
  it "should use the supplied start command if specified" do
165
160
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :start => '/bin/foo'))
166
- provider.expects(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
161
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
167
162
  provider.start
168
163
  end
169
164
 
170
165
  it "should start the service with systemctl start otherwise" do
171
166
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
172
- provider.expects(:systemctl).with(:unmask, 'sshd.service')
173
- provider.expects(:execute).with(['/bin/systemctl','start','sshd.service'], {:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
167
+ expect(provider).to receive(:systemctl).with(:unmask, 'sshd.service')
168
+ expect(provider).to receive(:execute).with(['/bin/systemctl','start','sshd.service'], {:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
174
169
  provider.start
175
170
  end
176
171
 
177
172
  it "should show journald logs on failure" do
178
173
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
179
- provider.expects(:systemctl).with(:unmask, 'sshd.service')
180
- provider.expects(:execute).with(['/bin/systemctl','start','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
181
- .raises(Puppet::ExecutionFailure, "Failed to start sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
174
+ expect(provider).to receive(:systemctl).with(:unmask, 'sshd.service')
175
+ expect(provider).to receive(:execute).with(['/bin/systemctl','start','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
176
+ .and_raise(Puppet::ExecutionFailure, "Failed to start sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
182
177
  journalctl_logs = <<-EOS
183
178
  -- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --
184
179
  Jun 14 21:41:34 foo.example.com systemd[1]: Stopping sshd Service...
185
180
  Jun 14 21:41:35 foo.example.com systemd[1]: Starting sshd Service...
186
181
  Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= and ExecStop= setting. Refusing.
187
182
  EOS
188
- provider.expects(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").returns(journalctl_logs)
183
+ expect(provider).to receive(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").and_return(journalctl_logs)
189
184
  expect { provider.start }.to raise_error(Puppet::Error, /Systemd start for sshd.service failed![\n]+journalctl log for sshd.service:[\n]+-- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --/m)
190
185
  end
191
186
  end
@@ -193,27 +188,27 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
193
188
  describe "#stop" do
194
189
  it "should use the supplied stop command if specified" do
195
190
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :stop => '/bin/foo'))
196
- provider.expects(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
191
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
197
192
  provider.stop
198
193
  end
199
194
 
200
195
  it "should stop the service with systemctl stop otherwise" do
201
196
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
202
- provider.expects(:execute).with(['/bin/systemctl','stop','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
197
+ expect(provider).to receive(:execute).with(['/bin/systemctl','stop','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
203
198
  provider.stop
204
199
  end
205
200
 
206
201
  it "should show journald logs on failure" do
207
202
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
208
- provider.expects(:execute).with(['/bin/systemctl','stop','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
209
- .raises(Puppet::ExecutionFailure, "Failed to stop sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
203
+ expect(provider).to receive(:execute).with(['/bin/systemctl','stop','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
204
+ .and_raise(Puppet::ExecutionFailure, "Failed to stop sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
210
205
  journalctl_logs = <<-EOS
211
206
  -- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --
212
207
  Jun 14 21:41:34 foo.example.com systemd[1]: Stopping sshd Service...
213
208
  Jun 14 21:41:35 foo.example.com systemd[1]: Starting sshd Service...
214
209
  Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= and ExecStop= setting. Refusing.
215
210
  EOS
216
- provider.expects(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").returns(journalctl_logs)
211
+ expect(provider).to receive(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").and_return(journalctl_logs)
217
212
  expect { provider.stop }.to raise_error(Puppet::Error, /Systemd stop for sshd.service failed![\n]+journalctl log for sshd.service:[\n]-- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --/m)
218
213
  end
219
214
  end
@@ -221,43 +216,43 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
221
216
  describe "#enabled?" do
222
217
  it "should return :true if the service is enabled" do
223
218
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
224
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "enabled\n"
225
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
219
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("enabled\n")
220
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
226
221
  expect(provider.enabled?).to eq(:true)
227
222
  end
228
223
 
229
224
  it "should return :true if the service is static" do
230
225
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
231
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "static\n"
232
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
226
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("static\n")
227
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
233
228
  expect(provider.enabled?).to eq(:true)
234
229
  end
235
230
 
236
231
  it "should return :false if the service is disabled" do
237
232
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
238
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "disabled\n"
239
- $CHILD_STATUS.stubs(:exitstatus).returns(1)
233
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("disabled\n")
234
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
240
235
  expect(provider.enabled?).to eq(:false)
241
236
  end
242
237
 
243
238
  it "should return :false if the service is indirect" do
244
239
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
245
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "indirect\n"
246
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
240
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("indirect\n")
241
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
247
242
  expect(provider.enabled?).to eq(:false)
248
243
  end
249
244
 
250
245
  it "should return :false if the service is masked and the resource is attempting to be disabled" do
251
246
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :enable => false))
252
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "masked\n"
253
- $CHILD_STATUS.stubs(:exitstatus).returns(1)
247
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("masked\n")
248
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
254
249
  expect(provider.enabled?).to eq(:false)
255
250
  end
256
251
 
257
252
  it "should return :mask if the service is masked and the resource is attempting to be masked" do
258
253
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :enable => 'mask'))
259
- provider.expects(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).returns "masked\n"
260
- $CHILD_STATUS.stubs(:exitstatus).returns(1)
254
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-enabled','sshd.service'], :failonfail => false).and_return("masked\n")
255
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
261
256
  expect(provider.enabled?).to eq(:mask)
262
257
  end
263
258
  end
@@ -265,8 +260,8 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
265
260
  describe "#enable" do
266
261
  it "should run systemctl enable to enable a service" do
267
262
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
268
- provider.expects(:systemctl).with(:unmask, 'sshd.service')
269
- provider.expects(:systemctl).with(:enable, 'sshd.service')
263
+ expect(provider).to receive(:systemctl).with(:unmask, 'sshd.service')
264
+ expect(provider).to receive(:systemctl).with(:enable, 'sshd.service')
270
265
  provider.enable
271
266
  end
272
267
  end
@@ -274,7 +269,7 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
274
269
  describe "#disable" do
275
270
  it "should run systemctl disable to disable a service" do
276
271
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
277
- provider.expects(:systemctl).with(:disable, 'sshd.service')
272
+ expect(provider).to receive(:systemctl).with(:disable, 'sshd.service')
278
273
  provider.disable
279
274
  end
280
275
  end
@@ -285,8 +280,8 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
285
280
  # :disable is the only call in the provider that uses a symbol instead of
286
281
  # a string.
287
282
  # This should be made consistent in the future and all tests updated.
288
- provider.expects(:systemctl).with(:disable, 'sshd.service')
289
- provider.expects(:systemctl).with(:mask, 'sshd.service')
283
+ expect(provider).to receive(:systemctl).with(:disable, 'sshd.service')
284
+ expect(provider).to receive(:systemctl).with(:mask, 'sshd.service')
290
285
  provider.mask
291
286
  end
292
287
  end
@@ -296,23 +291,23 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
296
291
  describe "#status" do
297
292
  it "should return running if if the command returns 0" do
298
293
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
299
- provider.expects(:execute).with(['/bin/systemctl','is-active','sshd.service'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true).returns "active\n"
300
- $CHILD_STATUS.stubs(:exitstatus).returns(0)
294
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-active','sshd.service'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true).and_return("active\n")
295
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
301
296
  expect(provider.status).to eq(:running)
302
297
  end
303
298
 
304
299
  [-10,-1,3,10].each { |ec|
305
300
  it "should return stopped if the command returns something non-0" do
306
301
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
307
- provider.expects(:execute).with(['/bin/systemctl','is-active','sshd.service'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true).returns "inactive\n"
308
- $CHILD_STATUS.stubs(:exitstatus).returns(ec)
302
+ expect(provider).to receive(:execute).with(['/bin/systemctl','is-active','sshd.service'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true).and_return("inactive\n")
303
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(ec)
309
304
  expect(provider.status).to eq(:stopped)
310
305
  end
311
306
  }
312
307
 
313
308
  it "should use the supplied status command if specified" do
314
309
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service', :status => '/bin/foo'))
315
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
310
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
316
311
  provider.status
317
312
  end
318
313
  end
@@ -322,28 +317,28 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
322
317
  describe "#restart" do
323
318
  it "should use the supplied restart command if specified" do
324
319
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd', :restart => '/bin/foo'))
325
- provider.expects(:execute).with(['/bin/systemctl','restart','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true).never
326
- provider.expects(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
320
+ expect(provider).not_to receive(:execute).with(['/bin/systemctl','restart','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
321
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
327
322
  provider.restart
328
323
  end
329
324
 
330
325
  it "should restart the service with systemctl restart" do
331
326
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
332
- provider.expects(:execute).with(['/bin/systemctl','restart','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
327
+ expect(provider).to receive(:execute).with(['/bin/systemctl','restart','sshd.service'], :failonfail => true, :override_locale => false, :squelch => false, :combine => true)
333
328
  provider.restart
334
329
  end
335
330
 
336
331
  it "should show journald logs on failure" do
337
332
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
338
- provider.expects(:execute).with(['/bin/systemctl','restart','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
339
- .raises(Puppet::ExecutionFailure, "Failed to restart sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
333
+ expect(provider).to receive(:execute).with(['/bin/systemctl','restart','sshd.service'],{:failonfail => true, :override_locale => false, :squelch => false, :combine => true})
334
+ .and_raise(Puppet::ExecutionFailure, "Failed to restart sshd.service: Unit sshd.service failed to load: Invalid argument. See system logs and 'systemctl status sshd.service' for details.")
340
335
  journalctl_logs = <<-EOS
341
336
  -- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --
342
337
  Jun 14 21:41:34 foo.example.com systemd[1]: Stopping sshd Service...
343
338
  Jun 14 21:41:35 foo.example.com systemd[1]: Starting sshd Service...
344
339
  Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= and ExecStop= setting. Refusing.
345
340
  EOS
346
- provider.expects(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").returns(journalctl_logs)
341
+ expect(provider).to receive(:execute).with("journalctl -n 50 --since '5 minutes ago' -u sshd.service --no-pager").and_return(journalctl_logs)
347
342
  expect { provider.restart }.to raise_error(Puppet::Error, /Systemd restart for sshd.service failed![\n]+journalctl log for sshd.service:[\n]+-- Logs begin at Tue 2016-06-14 11:59:21 UTC, end at Tue 2016-06-14 21:45:02 UTC. --/m)
348
343
  end
349
344
  end
@@ -352,8 +347,8 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
352
347
  [104, 106].each do |status|
353
348
  it "should return true when invoke-rc.d returns #{status}" do
354
349
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
355
- provider.stubs(:system)
356
- $CHILD_STATUS.expects(:exitstatus).returns(status)
350
+ allow(provider).to receive(:system)
351
+ expect($CHILD_STATUS).to receive(:exitstatus).and_return(status)
357
352
  expect(provider.debian_enabled?).to eq(:true)
358
353
  end
359
354
  end
@@ -361,17 +356,17 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
361
356
  [101, 105].each do |status|
362
357
  it "should return true when status is #{status} and there are at least 4 start links" do
363
358
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
364
- provider.stubs(:system)
365
- provider.expects(:get_start_link_count).returns(4)
366
- $CHILD_STATUS.expects(:exitstatus).twice.returns(status)
359
+ allow(provider).to receive(:system)
360
+ expect(provider).to receive(:get_start_link_count).and_return(4)
361
+ expect($CHILD_STATUS).to receive(:exitstatus).twice.and_return(status)
367
362
  expect(provider.debian_enabled?).to eq(:true)
368
363
  end
369
364
 
370
365
  it "should return false when status is #{status} and there are less than 4 start links" do
371
366
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
372
- provider.stubs(:system)
373
- provider.expects(:get_start_link_count).returns(1)
374
- $CHILD_STATUS.expects(:exitstatus).twice.returns(status)
367
+ allow(provider).to receive(:system)
368
+ expect(provider).to receive(:get_start_link_count).and_return(1)
369
+ expect($CHILD_STATUS).to receive(:exitstatus).twice.and_return(status)
375
370
  expect(provider.debian_enabled?).to eq(:false)
376
371
  end
377
372
  end
@@ -380,13 +375,13 @@ Jun 14 21:43:23 foo.example.com systemd[1]: sshd.service lacks both ExecStart= a
380
375
  describe "#get_start_link_count" do
381
376
  it "should strip the '.service' from the search if present in the resource name" do
382
377
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd.service'))
383
- Dir.expects(:glob).with("/etc/rc*.d/S??sshd").returns(['files'])
378
+ expect(Dir).to receive(:glob).with("/etc/rc*.d/S??sshd").and_return(['files'])
384
379
  provider.get_start_link_count
385
380
  end
386
381
 
387
382
  it "should use the full service name if it does not include '.service'" do
388
383
  provider = described_class.new(Puppet::Type.type(:service).new(:name => 'sshd'))
389
- Dir.expects(:glob).with("/etc/rc*.d/S??sshd").returns(['files'])
384
+ expect(Dir).to receive(:glob).with("/etc/rc*.d/S??sshd").and_return(['files'])
390
385
  provider.get_start_link_count
391
386
  end
392
387
  end
@@ -1,7 +1,5 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
-
5
3
  describe Puppet::Type.type(:service).provider(:upstart) do
6
4
  let(:manual) { "\nmanual" }
7
5
  let(:start_on_default_runlevels) { "\nstart on runlevel [2,3,4,5]" }
@@ -24,13 +22,13 @@ describe Puppet::Type.type(:service).provider(:upstart) do
24
22
  end
25
23
 
26
24
  def lists_processes_as(output)
27
- Puppet::Util::Execution.stubs(:execpipe).with("/sbin/initctl list").yields(output)
28
- provider_class.stubs(:which).with("/sbin/initctl").returns("/sbin/initctl")
25
+ allow(Puppet::Util::Execution).to receive(:execpipe).with("/sbin/initctl list").and_yield(output)
26
+ allow(provider_class).to receive(:which).with("/sbin/initctl").and_return("/sbin/initctl")
29
27
  end
30
28
 
31
29
  it "should be the default provider on Ubuntu" do
32
- Facter.expects(:value).with(:operatingsystem).returns("Ubuntu")
33
- Facter.expects(:value).with(:operatingsystemmajrelease).returns("12.04")
30
+ expect(Facter).to receive(:value).with(:operatingsystem).and_return("Ubuntu")
31
+ expect(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("12.04")
34
32
  expect(described_class.default?).to be_truthy
35
33
  end
36
34
 
@@ -46,9 +44,10 @@ describe Puppet::Type.type(:service).provider(:upstart) do
46
44
  end
47
45
 
48
46
  let(:initctl_version) { ['/sbin/initctl', 'version', '--quiet'] }
47
+
49
48
  before(:each) do
50
49
  # Stub out /sbin/initctl
51
- Puppet::Util.stubs(:which).with('/sbin/initctl').returns('/sbin/initctl')
50
+ allow(Puppet::Util).to receive(:which).with('/sbin/initctl').and_return('/sbin/initctl')
52
51
 
53
52
  # Both of our tests are asserting the confine :true block that shells out to
54
53
  # `initctl version --quiet`. Its expression is evaluated at provider load-time.
@@ -58,14 +57,14 @@ describe Puppet::Type.type(:service).provider(:upstart) do
58
57
  end
59
58
 
60
59
  it "should return true when the daemon is running" do
61
- Puppet::Util::Execution.expects(:execute).with(initctl_version, instance_of(Hash))
60
+ expect(Puppet::Util::Execution).to receive(:execute).with(initctl_version, instance_of(Hash))
62
61
  assert_upstart_daemon_existence_confine_is(true)
63
62
  end
64
63
 
65
64
  it "should return false when the daemon is not running" do
66
- Puppet::Util::Execution.expects(:execute)
65
+ expect(Puppet::Util::Execution).to receive(:execute)
67
66
  .with(initctl_version, instance_of(Hash))
68
- .raises(Puppet::ExecutionFailure, "initctl failed!")
67
+ .and_raise(Puppet::ExecutionFailure, "initctl failed!")
69
68
 
70
69
  assert_upstart_daemon_existence_confine_is(false)
71
70
  end
@@ -73,7 +72,7 @@ describe Puppet::Type.type(:service).provider(:upstart) do
73
72
 
74
73
  describe "excluding services" do
75
74
  it "ignores tty and serial on Redhat systems" do
76
- Facter.stubs(:value).with(:osfamily).returns('RedHat')
75
+ allow(Facter).to receive(:value).with(:osfamily).and_return('RedHat')
77
76
  expect(described_class.excludes).to include 'serial'
78
77
  expect(described_class.excludes).to include 'tty'
79
78
  end
@@ -94,7 +93,7 @@ describe Puppet::Type.type(:service).provider(:upstart) do
94
93
 
95
94
  it "should attach the job name for network interface security" do
96
95
  processes = "network-interface-security (network-interface/eth0)"
97
- provider_class.stubs(:execpipe).yields(processes)
96
+ allow(provider_class).to receive(:execpipe).and_yield(processes)
98
97
  expect(provider_class.instances.first.name).to eq("network-interface-security JOB=network-interface/eth0")
99
98
  end
100
99
 
@@ -106,16 +105,16 @@ describe Puppet::Type.type(:service).provider(:upstart) do
106
105
  processes += "\ncryptdisks-udev stop/waiting"
107
106
  processes += "\nstatd-mounting stop/waiting"
108
107
  processes += "\ngssd-mounting stop/waiting"
109
- provider_class.stubs(:execpipe).yields(processes)
108
+ allow(provider_class).to receive(:execpipe).and_yield(processes)
110
109
  expect(provider_class.instances).to be_empty
111
110
  end
112
111
  end
113
112
 
114
113
  describe "#search" do
115
114
  it "searches through paths to find a matching conf file" do
116
- File.stubs(:directory?).returns(true)
117
- Puppet::FileSystem.stubs(:exist?).returns(false)
118
- Puppet::FileSystem.expects(:exist?).with("/etc/init/foo-bar.conf").returns(true)
115
+ allow(File).to receive(:directory?).and_return(true)
116
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
117
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/init/foo-bar.conf").and_return(true)
119
118
  resource = Puppet::Type.type(:service).new(:name => "foo-bar", :provider => :upstart)
120
119
  provider = provider_class.new(resource)
121
120
 
@@ -123,9 +122,9 @@ describe Puppet::Type.type(:service).provider(:upstart) do
123
122
  end
124
123
 
125
124
  it "searches for just the name of a compound named service" do
126
- File.stubs(:directory?).returns(true)
127
- Puppet::FileSystem.stubs(:exist?).returns(false)
128
- Puppet::FileSystem.expects(:exist?).with("/etc/init/network-interface.conf").returns(true)
125
+ allow(File).to receive(:directory?).and_return(true)
126
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
127
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/init/network-interface.conf").and_return(true)
129
128
  resource = Puppet::Type.type(:service).new(:name => "network-interface INTERFACE=lo", :provider => :upstart)
130
129
  provider = provider_class.new(resource)
131
130
 
@@ -137,10 +136,10 @@ describe Puppet::Type.type(:service).provider(:upstart) do
137
136
  it "should use the default status command if none is specified" do
138
137
  resource = Puppet::Type.type(:service).new(:name => "foo", :provider => :upstart)
139
138
  provider = provider_class.new(resource)
140
- provider.stubs(:is_upstart?).returns(true)
139
+ allow(provider).to receive(:is_upstart?).and_return(true)
141
140
 
142
- provider.expects(:status_exec).with(["foo"]).returns("foo start/running, process 1000")
143
- Process::Status.any_instance.stubs(:exitstatus).returns(0)
141
+ expect(provider).to receive(:status_exec).with(["foo"]).and_return("foo start/running, process 1000")
142
+ allow_any_instance_of(Process::Status).to receive(:exitstatus).and_return(0)
144
143
  expect(provider.status).to eq(:running)
145
144
  end
146
145
 
@@ -148,33 +147,33 @@ describe Puppet::Type.type(:service).provider(:upstart) do
148
147
  it "should use the provided status command" do
149
148
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
150
149
  provider = provider_class.new(resource)
151
- provider.stubs(:is_upstart?).returns(true)
150
+ allow(provider).to receive(:is_upstart?).and_return(true)
152
151
 
153
- provider.expects(:status_exec).with(['foo']).never
154
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
155
- Process::Status.any_instance.stubs(:exitstatus).returns(0)
152
+ expect(provider).not_to receive(:status_exec).with(['foo'])
153
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
154
+ allow_any_instance_of(Process::Status).to receive(:exitstatus).and_return(0)
156
155
  provider.status
157
156
  end
158
157
 
159
158
  it "should return :stopped when the provided status command return non-zero" do
160
159
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
161
160
  provider = provider_class.new(resource)
162
- provider.stubs(:is_upstart?).returns(true)
161
+ allow(provider).to receive(:is_upstart?).and_return(true)
163
162
 
164
- provider.expects(:status_exec).with(['foo']).never
165
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
166
- $CHILD_STATUS.stubs(:exitstatus).returns 1
163
+ expect(provider).not_to receive(:status_exec).with(['foo'])
164
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
165
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
167
166
  expect(provider.status).to eq(:stopped)
168
167
  end
169
168
 
170
169
  it "should return :running when the provided status command return zero" do
171
170
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
172
171
  provider = provider_class.new(resource)
173
- provider.stubs(:is_upstart?).returns(true)
172
+ allow(provider).to receive(:is_upstart?).and_return(true)
174
173
 
175
- provider.expects(:status_exec).with(['foo']).never
176
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
177
- $CHILD_STATUS.stubs(:exitstatus).returns 0
174
+ expect(provider).not_to receive(:status_exec).with(['foo'])
175
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
176
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
178
177
  expect(provider.status).to eq(:running)
179
178
  end
180
179
  end
@@ -183,20 +182,20 @@ describe Puppet::Type.type(:service).provider(:upstart) do
183
182
  it "should return :stopped if the pid can not be found" do
184
183
  resource = Puppet::Type.type(:service).new(:name => 'foo', :hasstatus => false, :provider => :upstart)
185
184
  provider = provider_class.new(resource)
186
- provider.stubs(:is_upstart?).returns(true)
185
+ allow(provider).to receive(:is_upstart?).and_return(true)
187
186
 
188
- provider.expects(:status_exec).with(['foo']).never
189
- provider.expects(:getpid).returns nil
187
+ expect(provider).not_to receive(:status_exec).with(['foo'])
188
+ expect(provider).to receive(:getpid).and_return(nil)
190
189
  expect(provider.status).to eq(:stopped)
191
190
  end
192
191
 
193
192
  it "should return :running if the pid can be found" do
194
193
  resource = Puppet::Type.type(:service).new(:name => 'foo', :hasstatus => false, :provider => :upstart)
195
194
  provider = provider_class.new(resource)
196
- provider.stubs(:is_upstart?).returns(true)
195
+ allow(provider).to receive(:is_upstart?).and_return(true)
197
196
 
198
- provider.expects(:status_exec).with(['foo']).never
199
- provider.expects(:getpid).returns 2706
197
+ expect(provider).not_to receive(:status_exec).with(['foo'])
198
+ expect(provider).to receive(:getpid).and_return(2706)
200
199
  expect(provider.status).to eq(:running)
201
200
  end
202
201
  end
@@ -205,33 +204,33 @@ describe Puppet::Type.type(:service).provider(:upstart) do
205
204
  it "should use the provided status command" do
206
205
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
207
206
  provider = provider_class.new(resource)
208
- provider.stubs(:is_upstart?).returns(true)
207
+ allow(provider).to receive(:is_upstart?).and_return(true)
209
208
 
210
- provider.expects(:status_exec).with(['foo']).never
211
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
212
- Process::Status.any_instance.stubs(:exitstatus).returns(0)
209
+ expect(provider).not_to receive(:status_exec).with(['foo'])
210
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
211
+ allow_any_instance_of(Process::Status).to receive(:exitstatus).and_return(0)
213
212
  provider.status
214
213
  end
215
214
 
216
215
  it "should return :stopped when the provided status command return non-zero" do
217
216
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
218
217
  provider = provider_class.new(resource)
219
- provider.stubs(:is_upstart?).returns(true)
218
+ allow(provider).to receive(:is_upstart?).and_return(true)
220
219
 
221
- provider.expects(:status_exec).with(['foo']).never
222
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
223
- $CHILD_STATUS.stubs(:exitstatus).returns 1
220
+ expect(provider).not_to receive(:status_exec).with(['foo'])
221
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
222
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
224
223
  expect(provider.status).to eq(:stopped)
225
224
  end
226
225
 
227
226
  it "should return :running when the provided status command return zero" do
228
227
  resource = Puppet::Type.type(:service).new(:name => 'foo', :provider => :upstart, :status => '/bin/foo')
229
228
  provider = provider_class.new(resource)
230
- provider.stubs(:is_upstart?).returns(true)
229
+ allow(provider).to receive(:is_upstart?).and_return(true)
231
230
 
232
- provider.expects(:status_exec).with(['foo']).never
233
- provider.expects(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
234
- $CHILD_STATUS.stubs(:exitstatus).returns 0
231
+ expect(provider).not_to receive(:status_exec).with(['foo'])
232
+ expect(provider).to receive(:execute).with(['/bin/foo'], :failonfail => false, :override_locale => false, :squelch => false, :combine => true)
233
+ allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
235
234
  expect(provider.status).to eq(:running)
236
235
  end
237
236
  end
@@ -240,20 +239,20 @@ describe Puppet::Type.type(:service).provider(:upstart) do
240
239
  it "should return :stopped if the pid can not be found" do
241
240
  resource = Puppet::Type.type(:service).new(:name => 'foo', :hasstatus => false, :provider => :upstart)
242
241
  provider = provider_class.new(resource)
243
- provider.stubs(:is_upstart?).returns(true)
242
+ allow(provider).to receive(:is_upstart?).and_return(true)
244
243
 
245
- provider.expects(:status_exec).with(['foo']).never
246
- provider.expects(:getpid).returns nil
244
+ expect(provider).not_to receive(:status_exec).with(['foo'])
245
+ expect(provider).to receive(:getpid).and_return(nil)
247
246
  expect(provider.status).to eq(:stopped)
248
247
  end
249
248
 
250
249
  it "should return :running if the pid can be found" do
251
250
  resource = Puppet::Type.type(:service).new(:name => 'foo', :hasstatus => false, :provider => :upstart)
252
251
  provider = provider_class.new(resource)
253
- provider.stubs(:is_upstart?).returns(true)
252
+ allow(provider).to receive(:is_upstart?).and_return(true)
254
253
 
255
- provider.expects(:status_exec).with(['foo']).never
256
- provider.expects(:getpid).returns 2706
254
+ expect(provider).not_to receive(:status_exec).with(['foo'])
255
+ expect(provider).to receive(:getpid).and_return(2706)
257
256
  expect(provider.status).to eq(:running)
258
257
  end
259
258
  end
@@ -261,10 +260,10 @@ describe Puppet::Type.type(:service).provider(:upstart) do
261
260
  it "should properly handle services with 'start' in their name" do
262
261
  resource = Puppet::Type.type(:service).new(:name => "foostartbar", :provider => :upstart)
263
262
  provider = provider_class.new(resource)
264
- provider.stubs(:is_upstart?).returns(true)
263
+ allow(provider).to receive(:is_upstart?).and_return(true)
265
264
 
266
- provider.expects(:status_exec).with(["foostartbar"]).returns("foostartbar stop/waiting")
267
- Process::Status.any_instance.stubs(:exitstatus).returns(0)
265
+ expect(provider).to receive(:status_exec).with(["foostartbar"]).and_return("foostartbar stop/waiting")
266
+ allow_any_instance_of(Process::Status).to receive(:exitstatus).and_return(0)
268
267
  expect(provider.status).to eq(:stopped)
269
268
  end
270
269
  end
@@ -280,13 +279,15 @@ describe Puppet::Type.type(:service).provider(:upstart) do
280
279
 
281
280
  describe "when upstart job" do
282
281
  before(:each) do
283
- provider.stubs(:is_upstart?).returns(true)
282
+ allow(provider).to receive(:is_upstart?).and_return(true)
284
283
  end
284
+
285
285
  ["start", "stop"].each do |action|
286
286
  it "should return the #{action}cmd of its parent provider" do
287
287
  expect(provider.send("#{action}cmd".to_sym)).to eq([provider.command(action.to_sym), resource.name])
288
288
  end
289
289
  end
290
+
290
291
  it "should return nil for the statuscmd" do
291
292
  expect(provider.statuscmd).to be_nil
292
293
  end
@@ -365,9 +366,9 @@ describe Puppet::Type.type(:service).provider(:upstart) do
365
366
 
366
367
  describe "Upstart version < 0.6.7" do
367
368
  before(:each) do
368
- provider.stubs(:is_upstart?).returns(true)
369
- provider.stubs(:upstart_version).returns("0.6.5")
370
- provider.stubs(:search).returns(init_script)
369
+ allow(provider).to receive(:is_upstart?).and_return(true)
370
+ allow(provider).to receive(:upstart_version).and_return("0.6.5")
371
+ allow(provider).to receive(:search).and_return(init_script)
371
372
  end
372
373
 
373
374
  [:enabled?,:enable,:disable].each do |enableable|
@@ -451,9 +452,9 @@ describe Puppet::Type.type(:service).provider(:upstart) do
451
452
 
452
453
  describe "Upstart version < 0.9.0" do
453
454
  before(:each) do
454
- provider.stubs(:is_upstart?).returns(true)
455
- provider.stubs(:upstart_version).returns("0.7.0")
456
- provider.stubs(:search).returns(init_script)
455
+ allow(provider).to receive(:is_upstart?).and_return(true)
456
+ allow(provider).to receive(:upstart_version).and_return("0.7.0")
457
+ allow(provider).to receive(:search).and_return(init_script)
457
458
  end
458
459
 
459
460
  [:enabled?,:enable,:disable].each do |enableable|
@@ -569,10 +570,10 @@ describe Puppet::Type.type(:service).provider(:upstart) do
569
570
 
570
571
  describe "Upstart version > 0.9.0" do
571
572
  before(:each) do
572
- provider.stubs(:is_upstart?).returns(true)
573
- provider.stubs(:upstart_version).returns("0.9.5")
574
- provider.stubs(:search).returns(init_script)
575
- provider.stubs(:overscript).returns(over_script)
573
+ allow(provider).to receive(:is_upstart?).and_return(true)
574
+ allow(provider).to receive(:upstart_version).and_return("0.9.5")
575
+ allow(provider).to receive(:search).and_return(init_script)
576
+ allow(provider).to receive(:overscript).and_return(over_script)
576
577
  end
577
578
 
578
579
  [:enabled?,:enable,:disable].each do |enableable|
@@ -670,6 +671,7 @@ describe Puppet::Type.type(:service).provider(:upstart) do
670
671
  expect(provider.enabled?).to eq(:false)
671
672
  end
672
673
  end
674
+
673
675
  describe "with override file" do
674
676
  it "should consider 'start on ...' to be disabled if there is manual in override file" do
675
677
  given_contents_of(init_script, enabled_content)