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