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,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/ssl/host'
@@ -37,11 +36,11 @@ describe Puppet::SSL::Host do
37
36
  end
38
37
 
39
38
  it "should retrieve its public key from its private key" do
40
- realkey = mock 'realkey'
41
- key = stub 'key', :content => realkey
42
- Puppet::SSL::Key.indirection.stubs(:find).returns(key)
43
- pubkey = mock 'public_key'
44
- realkey.expects(:public_key).returns pubkey
39
+ realkey = double('realkey')
40
+ key = double('key', :content => realkey)
41
+ allow(Puppet::SSL::Key.indirection).to receive(:find).and_return(key)
42
+ pubkey = double('public_key')
43
+ expect(realkey).to receive(:public_key).and_return(pubkey)
45
44
 
46
45
  expect(@host.public_key).to equal(pubkey)
47
46
  end
@@ -51,7 +50,7 @@ describe Puppet::SSL::Host do
51
50
  end
52
51
 
53
52
  it "should be a ca host if its name matches the CA_NAME" do
54
- Puppet::SSL::Host.stubs(:ca_name).returns "yayca"
53
+ allow(Puppet::SSL::Host).to receive(:ca_name).and_return("yayca")
55
54
  expect(Puppet::SSL::Host.new("yayca")).to be_ca
56
55
  end
57
56
 
@@ -78,11 +77,11 @@ describe Puppet::SSL::Host do
78
77
  end
79
78
 
80
79
  it "should generate the certificate for the localhost instance if no certificate is available" do
81
- host = stub 'host', :key => nil
82
- Puppet::SSL::Host.expects(:new).returns host
80
+ host = double('host', :key => nil)
81
+ expect(Puppet::SSL::Host).to receive(:new).and_return(host)
83
82
 
84
- host.expects(:certificate).returns nil
85
- host.expects(:generate)
83
+ expect(host).to receive(:certificate).and_return(nil)
84
+ expect(host).to receive(:generate)
86
85
 
87
86
  expect(Puppet::SSL::Host.localhost).to equal(host)
88
87
  end
@@ -92,7 +91,7 @@ describe Puppet::SSL::Host do
92
91
  Puppet[:confdir] = tmpdir('conf')
93
92
  Puppet[:dns_alt_names] = "foo,bar,baz"
94
93
  ca = Puppet::SSL::CertificateAuthority.new
95
- Puppet::SSL::CertificateAuthority.stubs(:instance).returns ca
94
+ allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(ca)
96
95
 
97
96
  localhost = Puppet::SSL::Host.localhost
98
97
  cert = localhost.certificate
@@ -103,14 +102,14 @@ describe Puppet::SSL::Host do
103
102
 
104
103
  context "with dns_alt_names" do
105
104
  before :each do
106
- @key = stub('key content')
107
- key = stub('key', :generate => true, :content => @key)
108
- Puppet::SSL::Key.stubs(:new).returns key
109
- Puppet::SSL::Key.indirection.stubs(:save).with(key)
105
+ @key = double('key content')
106
+ key = double('key', :generate => true, :content => @key)
107
+ allow(Puppet::SSL::Key).to receive(:new).and_return(key)
108
+ allow(Puppet::SSL::Key.indirection).to receive(:save).with(key)
110
109
 
111
- @cr = stub('certificate request')
112
- Puppet::SSL::CertificateRequest.stubs(:new).returns @cr
113
- Puppet::SSL::CertificateRequest.indirection.stubs(:save).with(@cr)
110
+ @cr = double('certificate request')
111
+ allow(Puppet::SSL::CertificateRequest).to receive(:new).and_return(@cr)
112
+ allow(Puppet::SSL::CertificateRequest.indirection).to receive(:save).with(@cr)
114
113
  end
115
114
 
116
115
  describe "explicitly specified" do
@@ -119,13 +118,13 @@ describe Puppet::SSL::Host do
119
118
  end
120
119
 
121
120
  it "should not include subjectAltName if not the local node" do
122
- @cr.expects(:generate).with(@key, {})
121
+ expect(@cr).to receive(:generate).with(@key, {})
123
122
 
124
123
  Puppet::SSL::Host.new('not-the-' + Puppet[:certname]).generate
125
124
  end
126
125
 
127
126
  it "should include subjectAltName if I am a CA" do
128
- @cr.expects(:generate).
127
+ expect(@cr).to receive(:generate).
129
128
  with(@key, { :dns_alt_names => Puppet[:dns_alt_names] })
130
129
 
131
130
  Puppet::SSL::Host.localhost
@@ -133,45 +132,45 @@ describe Puppet::SSL::Host do
133
132
  end
134
133
 
135
134
  describe "implicitly defaulted" do
136
- let(:ca) { stub('ca', :sign => nil) }
135
+ let(:ca) { double('ca', :sign => nil) }
137
136
 
138
137
  before :each do
139
138
  Puppet[:dns_alt_names] = ''
140
139
 
141
- Puppet::SSL::CertificateAuthority.stubs(:instance).returns ca
140
+ allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(ca)
142
141
  end
143
142
 
144
143
  it "should not include defaults if we're not the CA" do
145
- Puppet::SSL::CertificateAuthority.stubs(:ca?).returns false
144
+ allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(false)
146
145
 
147
- @cr.expects(:generate).with(@key, {})
146
+ expect(@cr).to receive(:generate).with(@key, {})
148
147
 
149
148
  Puppet::SSL::Host.localhost
150
149
  end
151
150
 
152
151
  it "should not include defaults if not the local node" do
153
- Puppet::SSL::CertificateAuthority.stubs(:ca?).returns true
152
+ allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
154
153
 
155
- @cr.expects(:generate).with(@key, {})
154
+ expect(@cr).to receive(:generate).with(@key, {})
156
155
 
157
156
  Puppet::SSL::Host.new('not-the-' + Puppet[:certname]).generate
158
157
  end
159
158
 
160
159
  it "should not include defaults if we can't resolve our fqdn" do
161
- Puppet::SSL::CertificateAuthority.stubs(:ca?).returns true
162
- Facter.stubs(:value).with(:fqdn).returns nil
160
+ allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
161
+ allow(Facter).to receive(:value).with(:fqdn).and_return(nil)
163
162
 
164
- @cr.expects(:generate).with(@key, {})
163
+ expect(@cr).to receive(:generate).with(@key, {})
165
164
 
166
165
  Puppet::SSL::Host.localhost
167
166
  end
168
167
 
169
168
  it "should provide defaults if we're bootstrapping the local master" do
170
- Puppet::SSL::CertificateAuthority.stubs(:ca?).returns true
171
- Facter.stubs(:value).with(:fqdn).returns 'web.foo.com'
172
- Facter.stubs(:value).with(:domain).returns 'foo.com'
169
+ allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
170
+ allow(Facter).to receive(:value).with(:fqdn).and_return('web.foo.com')
171
+ allow(Facter).to receive(:value).with(:domain).and_return('foo.com')
173
172
 
174
- @cr.expects(:generate).with(@key, {:dns_alt_names => "puppet, web.foo.com, puppet.foo.com"})
173
+ expect(@cr).to receive(:generate).with(@key, {:dns_alt_names => "puppet, web.foo.com, puppet.foo.com"})
175
174
 
176
175
  Puppet::SSL::Host.localhost
177
176
  end
@@ -179,17 +178,17 @@ describe Puppet::SSL::Host do
179
178
  end
180
179
 
181
180
  it "should always read the key for the localhost instance in from disk" do
182
- host = stub 'host', :certificate => "eh"
183
- Puppet::SSL::Host.expects(:new).returns host
181
+ host = double('host', :certificate => "eh")
182
+ expect(Puppet::SSL::Host).to receive(:new).and_return(host)
184
183
 
185
- host.expects(:key)
184
+ expect(host).to receive(:key)
186
185
 
187
186
  Puppet::SSL::Host.localhost
188
187
  end
189
188
 
190
189
  it "should cache the localhost instance" do
191
- host = stub 'host', :certificate => "eh", :key => 'foo'
192
- Puppet::SSL::Host.expects(:new).once.returns host
190
+ host = double('host', :certificate => "eh", :key => 'foo')
191
+ expect(Puppet::SSL::Host).to receive(:new).once.and_return(host)
193
192
  expect(Puppet::SSL::Host.localhost).to eq(Puppet::SSL::Host.localhost)
194
193
  end
195
194
 
@@ -199,38 +198,38 @@ describe Puppet::SSL::Host do
199
198
 
200
199
  it "should consider the certificate invalid if it cannot find a key" do
201
200
  host = Puppet::SSL::Host.new("foo")
202
- certificate = mock('cert', :fingerprint => 'DEADBEEF')
203
- host.expects(:certificate).twice.returns certificate
204
- host.expects(:key).returns nil
201
+ certificate = double('cert', :fingerprint => 'DEADBEEF')
202
+ expect(host).to receive(:certificate).twice.and_return(certificate)
203
+ expect(host).to receive(:key).and_return(nil)
205
204
  expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, "No private key with which to validate certificate with fingerprint: DEADBEEF")
206
205
  end
207
206
 
208
207
  it "should consider the certificate invalid if it cannot find a certificate" do
209
208
  host = Puppet::SSL::Host.new("foo")
210
- host.expects(:key).never
211
- host.expects(:certificate).returns nil
209
+ expect(host).not_to receive(:key)
210
+ expect(host).to receive(:certificate).and_return(nil)
212
211
  expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, "No certificate to validate.")
213
212
  end
214
213
 
215
214
  it "should consider the certificate invalid if the SSL certificate's key verification fails" do
216
215
  host = Puppet::SSL::Host.new("foo")
217
- key = mock 'key', :content => "private_key"
218
- sslcert = mock 'sslcert'
219
- certificate = mock 'cert', {:content => sslcert, :fingerprint => 'DEADBEEF'}
220
- host.stubs(:key).returns key
221
- host.stubs(:certificate).returns certificate
222
- sslcert.expects(:check_private_key).with("private_key").returns false
216
+ key = double('key', :content => "private_key")
217
+ sslcert = double('sslcert')
218
+ certificate = double('cert', {:content => sslcert, :fingerprint => 'DEADBEEF'})
219
+ allow(host).to receive(:key).and_return(key)
220
+ allow(host).to receive(:certificate).and_return(certificate)
221
+ expect(sslcert).to receive(:check_private_key).with("private_key").and_return(false)
223
222
  expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, /DEADBEEF/)
224
223
  end
225
224
 
226
225
  it "should consider the certificate valid if the SSL certificate's key verification succeeds" do
227
226
  host = Puppet::SSL::Host.new("foo")
228
- key = mock 'key', :content => "private_key"
229
- sslcert = mock 'sslcert'
230
- certificate = mock 'cert', :content => sslcert
231
- host.stubs(:key).returns key
232
- host.stubs(:certificate).returns certificate
233
- sslcert.expects(:check_private_key).with("private_key").returns true
227
+ key = double('key', :content => "private_key")
228
+ sslcert = double('sslcert')
229
+ certificate = double('cert', :content => sslcert)
230
+ allow(host).to receive(:key).and_return(key)
231
+ allow(host).to receive(:certificate).and_return(certificate)
232
+ expect(sslcert).to receive(:check_private_key).with("private_key").and_return(true)
234
233
  expect{ host.validate_certificate_with_key }.not_to raise_error
235
234
  end
236
235
 
@@ -348,21 +347,21 @@ describe Puppet::SSL::Host do
348
347
 
349
348
  describe "when destroying a host's SSL files" do
350
349
  before do
351
- Puppet::SSL::Key.indirection.stubs(:destroy).returns false
352
- Puppet::SSL::Certificate.indirection.stubs(:destroy).returns false
353
- Puppet::SSL::CertificateRequest.indirection.stubs(:destroy).returns false
350
+ allow(Puppet::SSL::Key.indirection).to receive(:destroy).and_return(false)
351
+ allow(Puppet::SSL::Certificate.indirection).to receive(:destroy).and_return(false)
352
+ allow(Puppet::SSL::CertificateRequest.indirection).to receive(:destroy).and_return(false)
354
353
  end
355
354
 
356
355
  it "should destroy its certificate, certificate request, and key" do
357
- Puppet::SSL::Key.indirection.expects(:destroy).with("myhost")
358
- Puppet::SSL::Certificate.indirection.expects(:destroy).with("myhost")
359
- Puppet::SSL::CertificateRequest.indirection.expects(:destroy).with("myhost")
356
+ expect(Puppet::SSL::Key.indirection).to receive(:destroy).with("myhost")
357
+ expect(Puppet::SSL::Certificate.indirection).to receive(:destroy).with("myhost")
358
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:destroy).with("myhost")
360
359
 
361
360
  Puppet::SSL::Host.destroy("myhost")
362
361
  end
363
362
 
364
363
  it "should return true if any of the classes returned true" do
365
- Puppet::SSL::Certificate.indirection.expects(:destroy).with("myhost").returns true
364
+ expect(Puppet::SSL::Certificate.indirection).to receive(:destroy).with("myhost").and_return(true)
366
365
 
367
366
  expect(Puppet::SSL::Host.destroy("myhost")).to be_truthy
368
367
  end
@@ -384,7 +383,7 @@ describe Puppet::SSL::Host do
384
383
  end
385
384
 
386
385
  it "should indicate that it is a CA host if its name matches the ca_name constant" do
387
- Puppet::SSL::Host.stubs(:ca_name).returns "myca"
386
+ allow(Puppet::SSL::Host).to receive(:ca_name).and_return("myca")
388
387
  expect(Puppet::SSL::Host.new("myca")).to be_ca
389
388
  end
390
389
  end
@@ -397,37 +396,37 @@ describe Puppet::SSL::Host do
397
396
  end
398
397
 
399
398
  it "should return nil if the key is not set and cannot be found" do
400
- Puppet::SSL::Key.indirection.expects(:find).with("myname").returns(nil)
399
+ expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(nil)
401
400
  expect(@host.key).to be_nil
402
401
  end
403
402
 
404
403
  it "should find the key in the Key class and return the Puppet instance" do
405
- Puppet::SSL::Key.indirection.expects(:find).with("myname").returns(@key)
404
+ expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(@key)
406
405
  expect(@host.key).to equal(@key)
407
406
  end
408
407
 
409
408
  it "should be able to generate and save a new key" do
410
- Puppet::SSL::Key.expects(:new).with("myname").returns(@key)
409
+ expect(Puppet::SSL::Key).to receive(:new).with("myname").and_return(@key)
411
410
 
412
- @key.expects(:generate)
413
- Puppet::SSL::Key.indirection.expects(:save)
411
+ expect(@key).to receive(:generate)
412
+ expect(Puppet::SSL::Key.indirection).to receive(:save)
414
413
 
415
414
  expect(@host.generate_key).to be_truthy
416
415
  expect(@host.key).to equal(@key)
417
416
  end
418
417
 
419
418
  it "should not retain keys that could not be saved" do
420
- Puppet::SSL::Key.expects(:new).with("myname").returns(@key)
419
+ expect(Puppet::SSL::Key).to receive(:new).with("myname").and_return(@key)
421
420
 
422
- @key.stubs(:generate)
423
- Puppet::SSL::Key.indirection.expects(:save).raises "eh"
421
+ expect(@key).to receive(:generate)
422
+ expect(Puppet::SSL::Key.indirection).to receive(:save).and_raise("eh")
424
423
 
425
424
  expect { @host.generate_key }.to raise_error(RuntimeError)
426
425
  expect(@host.key).to be_nil
427
426
  end
428
427
 
429
428
  it "should return any previously found key without requerying" do
430
- Puppet::SSL::Key.indirection.expects(:find).with("myname").returns(@key).once
429
+ expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(@key).once
431
430
  expect(@host.key).to equal(@key)
432
431
  expect(@host.key).to equal(@key)
433
432
  end
@@ -441,60 +440,63 @@ describe Puppet::SSL::Host do
441
440
  end
442
441
 
443
442
  it "should return nil if the key is not set and cannot be found" do
444
- Puppet::SSL::CertificateRequest.indirection.expects(:find).with("myname").returns(nil)
443
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(nil)
445
444
  expect(@host.certificate_request).to be_nil
446
445
  end
447
446
 
448
447
  it "should find the request in the Key class and return it and return the Puppet SSL request" do
449
- Puppet::SSL::CertificateRequest.indirection.expects(:find).with("myname").returns @request
448
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(@request)
450
449
 
451
450
  expect(@host.certificate_request).to equal(@request)
452
451
  end
453
452
 
454
453
  it "should generate a new key when generating the cert request if no key exists" do
455
- Puppet::SSL::CertificateRequest.expects(:new).with("myname").returns @request
454
+ expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
456
455
 
457
- key = stub 'key', :public_key => mock("public_key"), :content => "mycontent"
456
+ key = double('key', :public_key => double("public_key"), :content => "mycontent")
458
457
 
459
- @host.expects(:key).times(2).returns(nil).then.returns(key)
460
- @host.expects(:generate_key).returns(key)
458
+ expect(@host).to receive(:key).twice.and_return(nil, key)
459
+ expect(@host).to receive(:generate_key).and_return(key)
461
460
 
462
- @request.stubs(:generate)
463
- Puppet::SSL::CertificateRequest.indirection.stubs(:save)
461
+ allow(@request).to receive(:generate)
462
+ allow(Puppet::SSL::CertificateRequest.indirection).to receive(:save)
464
463
 
465
464
  @host.generate_certificate_request
466
465
  end
467
466
 
468
467
  it "should be able to generate and save a new request using the private key" do
469
- Puppet::SSL::CertificateRequest.expects(:new).with("myname").returns @request
468
+ expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
470
469
 
471
- key = stub 'key', :public_key => mock("public_key"), :content => "mycontent"
472
- @host.stubs(:key).returns(key)
473
- @request.expects(:generate).with("mycontent", {})
474
- Puppet::SSL::CertificateRequest.indirection.expects(:save).with(@request)
470
+ key = double('key', :public_key => double("public_key"), :content => "mycontent")
471
+ allow(@host).to receive(:key).and_return(key)
472
+ expect(@request).to receive(:generate).with("mycontent", {})
473
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:save).with(@request)
475
474
 
476
475
  expect(@host.generate_certificate_request).to be_truthy
477
476
  expect(@host.certificate_request).to equal(@request)
478
477
  end
479
478
 
480
479
  it "should return any previously found request without requerying" do
481
- Puppet::SSL::CertificateRequest.indirection.expects(:find).with("myname").returns(@request).once
480
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(@request).once
482
481
 
483
482
  expect(@host.certificate_request).to equal(@request)
484
483
  expect(@host.certificate_request).to equal(@request)
485
484
  end
486
485
 
487
486
  it "should not keep its certificate request in memory if the request cannot be saved" do
488
- Puppet::SSL::CertificateRequest.expects(:new).with("myname").returns @request
489
-
490
- key = stub 'key', :public_key => mock("public_key"), :content => "mycontent"
491
- @host.stubs(:key).returns(key)
492
- @request.stubs(:generate)
493
- @request.stubs(:name).returns("myname")
494
- terminus = stub 'terminus'
495
- terminus.stubs(:validate)
496
- Puppet::SSL::CertificateRequest.indirection.expects(:prepare).returns(terminus)
497
- terminus.expects(:save).with { |req| req.instance == @request && req.key == "myname" }.raises "eh"
487
+ expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
488
+
489
+ key = double('key', :public_key => double("public_key"), :content => "mycontent")
490
+ allow(@host).to receive(:key).and_return(key)
491
+ allow(@request).to receive(:generate)
492
+ allow(@request).to receive(:name).and_return("myname")
493
+ terminus = double('terminus')
494
+ allow(terminus).to receive(:validate)
495
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:prepare).and_return(terminus)
496
+ expect(terminus).to receive(:save) do |req|
497
+ expect(req.instance).to eq(@request)
498
+ expect(req.key).to eq("myname")
499
+ end.and_raise("eh")
498
500
 
499
501
  expect { @host.generate_certificate_request }.to raise_error(RuntimeError)
500
502
 
@@ -504,55 +506,55 @@ describe Puppet::SSL::Host do
504
506
 
505
507
  describe "when managing its certificate" do
506
508
  before do
507
- @realcert = mock 'certificate'
508
- @cert = stub 'cert', :content => @realcert
509
- @host.stubs(:key).returns mock("key")
510
- @host.stubs(:validate_certificate_with_key)
509
+ @realcert = double('certificate')
510
+ @cert = double('cert', :content => @realcert)
511
+ allow(@host).to receive(:key).and_return(double("key"))
512
+ allow(@host).to receive(:validate_certificate_with_key)
511
513
  end
512
514
 
513
515
  it "should find the CA certificate if it does not have a certificate" do
514
- Puppet::SSL::Certificate.indirection.expects(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).returns mock("cacert")
515
- Puppet::SSL::Certificate.indirection.stubs(:find).with("myname").returns @cert
516
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
517
+ allow(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert)
516
518
  @host.certificate
517
519
  end
518
520
 
519
521
  it "should not find the CA certificate if it is the CA host" do
520
- @host.expects(:ca?).returns true
521
- Puppet::SSL::Certificate.indirection.stubs(:find)
522
- Puppet::SSL::Certificate.indirection.expects(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).never
522
+ expect(@host).to receive(:ca?).and_return(true)
523
+ allow(Puppet::SSL::Certificate.indirection).to receive(:find)
524
+ expect(Puppet::SSL::Certificate.indirection).not_to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true)
523
525
 
524
526
  @host.certificate
525
527
  end
526
528
 
527
529
  it "should return nil if it cannot find a CA certificate" do
528
- Puppet::SSL::Certificate.indirection.expects(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).returns nil
529
- Puppet::SSL::Certificate.indirection.expects(:find).with("myname").never
530
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(nil)
531
+ expect(Puppet::SSL::Certificate.indirection).not_to receive(:find).with("myname")
530
532
 
531
533
  expect(@host.certificate).to be_nil
532
534
  end
533
535
 
534
536
  it "should find the key if it does not have one" do
535
- Puppet::SSL::Certificate.indirection.stubs(:find)
536
- @host.expects(:key).returns mock("key")
537
+ allow(Puppet::SSL::Certificate.indirection).to receive(:find)
538
+ expect(@host).to receive(:key).and_return(double("key"))
537
539
  @host.certificate
538
540
  end
539
541
 
540
542
  it "should generate the key if one cannot be found" do
541
- Puppet::SSL::Certificate.indirection.stubs(:find)
542
- @host.expects(:key).returns nil
543
- @host.expects(:generate_key)
543
+ allow(Puppet::SSL::Certificate.indirection).to receive(:find)
544
+ expect(@host).to receive(:key).and_return(nil)
545
+ expect(@host).to receive(:generate_key)
544
546
  @host.certificate
545
547
  end
546
548
 
547
549
  it "should find the certificate in the Certificate class and return the Puppet certificate instance" do
548
- Puppet::SSL::Certificate.indirection.expects(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).returns mock("cacert")
549
- Puppet::SSL::Certificate.indirection.expects(:find).with("myname").returns @cert
550
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
551
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert)
550
552
  expect(@host.certificate).to equal(@cert)
551
553
  end
552
554
 
553
555
  it "should return any previously found certificate" do
554
- Puppet::SSL::Certificate.indirection.expects(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).returns mock("cacert")
555
- Puppet::SSL::Certificate.indirection.expects(:find).with("myname").returns(@cert).once
556
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
557
+ expect(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert).once
556
558
 
557
559
  expect(@host.certificate).to equal(@cert)
558
560
  expect(@host.certificate).to equal(@cert)
@@ -565,47 +567,47 @@ describe Puppet::SSL::Host do
565
567
 
566
568
  describe "when listing certificate hosts" do
567
569
  it "should default to listing all clients with any file types" do
568
- Puppet::SSL::Key.indirection.expects(:search).returns []
569
- Puppet::SSL::Certificate.indirection.expects(:search).returns []
570
- Puppet::SSL::CertificateRequest.indirection.expects(:search).returns []
570
+ expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([])
571
+ expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([])
572
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([])
571
573
  Puppet::SSL::Host.search
572
574
  end
573
575
 
574
576
  it "should be able to list only clients with a key" do
575
- Puppet::SSL::Key.indirection.expects(:search).returns []
576
- Puppet::SSL::Certificate.indirection.expects(:search).never
577
- Puppet::SSL::CertificateRequest.indirection.expects(:search).never
577
+ expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([])
578
+ expect(Puppet::SSL::Certificate.indirection).not_to receive(:search)
579
+ expect(Puppet::SSL::CertificateRequest.indirection).not_to receive(:search)
578
580
  Puppet::SSL::Host.search :for => Puppet::SSL::Key
579
581
  end
580
582
 
581
583
  it "should be able to list only clients with a certificate" do
582
- Puppet::SSL::Key.indirection.expects(:search).never
583
- Puppet::SSL::Certificate.indirection.expects(:search).returns []
584
- Puppet::SSL::CertificateRequest.indirection.expects(:search).never
584
+ expect(Puppet::SSL::Key.indirection).not_to receive(:search)
585
+ expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([])
586
+ expect(Puppet::SSL::CertificateRequest.indirection).not_to receive(:search)
585
587
  Puppet::SSL::Host.search :for => Puppet::SSL::Certificate
586
588
  end
587
589
 
588
590
  it "should be able to list only clients with a certificate request" do
589
- Puppet::SSL::Key.indirection.expects(:search).never
590
- Puppet::SSL::Certificate.indirection.expects(:search).never
591
- Puppet::SSL::CertificateRequest.indirection.expects(:search).returns []
591
+ expect(Puppet::SSL::Key.indirection).not_to receive(:search)
592
+ expect(Puppet::SSL::Certificate.indirection).not_to receive(:search)
593
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([])
592
594
  Puppet::SSL::Host.search :for => Puppet::SSL::CertificateRequest
593
595
  end
594
596
 
595
597
  it "should return a Host instance created with the name of each found instance" do
596
- key = stub 'key', :name => "key", :to_ary => nil
597
- cert = stub 'cert', :name => "cert", :to_ary => nil
598
- csr = stub 'csr', :name => "csr", :to_ary => nil
598
+ key = double('key', :name => "key", :to_ary => nil)
599
+ cert = double('cert', :name => "cert", :to_ary => nil)
600
+ csr = double('csr', :name => "csr", :to_ary => nil)
599
601
 
600
- Puppet::SSL::Key.indirection.expects(:search).returns [key]
601
- Puppet::SSL::Certificate.indirection.expects(:search).returns [cert]
602
- Puppet::SSL::CertificateRequest.indirection.expects(:search).returns [csr]
602
+ expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([key])
603
+ expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([cert])
604
+ expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([csr])
603
605
 
604
606
  returned = []
605
607
  %w{key cert csr}.each do |name|
606
- result = mock(name)
608
+ result = double(name)
607
609
  returned << result
608
- Puppet::SSL::Host.expects(:new).with(name).returns result
610
+ expect(Puppet::SSL::Host).to receive(:new).with(name).and_return(result)
609
611
  end
610
612
 
611
613
  result = Puppet::SSL::Host.search
@@ -622,34 +624,34 @@ describe Puppet::SSL::Host do
622
624
  describe "when generating files" do
623
625
  before do
624
626
  @host = Puppet::SSL::Host.new("me")
625
- @host.stubs(:generate_key)
626
- @host.stubs(:generate_certificate_request)
627
+ allow(@host).to receive(:generate_key)
628
+ allow(@host).to receive(:generate_certificate_request)
627
629
  end
628
630
 
629
631
  it "should generate a key if one is not present" do
630
- @host.stubs(:key).returns nil
631
- @host.expects(:generate_key)
632
+ allow(@host).to receive(:key).and_return nil
633
+ expect(@host).to receive(:generate_key)
632
634
 
633
635
  @host.generate
634
636
  end
635
637
 
636
638
  it "should generate a certificate request if one is not present" do
637
- @host.expects(:certificate_request).returns nil
638
- @host.expects(:generate_certificate_request)
639
+ expect(@host).to receive(:certificate_request).and_return nil
640
+ expect(@host).to receive(:generate_certificate_request)
639
641
 
640
642
  @host.generate
641
643
  end
642
644
 
643
645
  describe "and it can create a certificate authority" do
644
646
  before do
645
- @ca = mock 'ca'
646
- Puppet::SSL::CertificateAuthority.stubs(:instance).returns @ca
647
+ @ca = double('ca')
648
+ allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(@ca)
647
649
  end
648
650
 
649
651
  it "should use the CA to sign its certificate request if it does not have a certificate" do
650
- @host.expects(:certificate).returns nil
652
+ expect(@host).to receive(:certificate).and_return(nil)
651
653
 
652
- @ca.expects(:sign).with(@host.name, {allow_dns_alt_names: true})
654
+ expect(@ca).to receive(:sign).with(@host.name, {allow_dns_alt_names: true})
653
655
 
654
656
  @host.generate
655
657
  end
@@ -657,11 +659,11 @@ describe Puppet::SSL::Host do
657
659
 
658
660
  describe "and it cannot create a certificate authority" do
659
661
  before do
660
- Puppet::SSL::CertificateAuthority.stubs(:instance).returns nil
662
+ allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(nil)
661
663
  end
662
664
 
663
665
  it "should seek its certificate" do
664
- @host.expects(:certificate)
666
+ expect(@host).to receive(:certificate)
665
667
 
666
668
  @host.generate
667
669
  end
@@ -674,44 +676,52 @@ describe Puppet::SSL::Host do
674
676
 
675
677
  it "should always return the same store" do
676
678
  host = Puppet::SSL::Host.new("foo")
677
- store = mock 'store'
678
- store.stub_everything
679
- OpenSSL::X509::Store.expects(:new).returns store
679
+ store = double(
680
+ 'store',
681
+ :purpose= => nil,
682
+ :add_file => nil,
683
+ )
684
+ expect(OpenSSL::X509::Store).to receive(:new).and_return(store)
680
685
  expect(host.ssl_store).to equal(host.ssl_store)
681
686
  end
682
687
 
683
688
  describe "when creating an SSL store" do
684
689
  before do
685
690
  @host = Puppet::SSL::Host.new("me")
686
- @store = mock 'store'
687
- @store.stub_everything
688
- OpenSSL::X509::Store.stubs(:new).returns @store
691
+ @store = double(
692
+ 'store',
693
+ :purpose= => nil,
694
+ :add_file => nil,
695
+ :add_crl => nil,
696
+ :flags= => nil,
697
+ )
698
+ allow(OpenSSL::X509::Store).to receive(:new).and_return(@store)
689
699
 
690
700
  Puppet[:localcacert] = "ssl_host_testing"
691
701
 
692
- Puppet::SSL::CertificateRevocationList.indirection.stubs(:find).returns(nil)
702
+ allow(Puppet::SSL::CertificateRevocationList.indirection).to receive(:find).and_return(nil)
693
703
  end
694
704
 
695
705
  it "should accept a purpose" do
696
- @store.expects(:purpose=).with "my special purpose"
706
+ expect(@store).to receive(:purpose=).with("my special purpose")
697
707
  @host.ssl_store("my special purpose")
698
708
  end
699
709
 
700
710
  it "should default to OpenSSL::X509::PURPOSE_ANY as the purpose" do
701
- @store.expects(:purpose=).with OpenSSL::X509::PURPOSE_ANY
711
+ expect(@store).to receive(:purpose=).with(OpenSSL::X509::PURPOSE_ANY)
702
712
  @host.ssl_store
703
713
  end
704
714
 
705
715
  it "should add the local CA cert file" do
706
716
  Puppet[:localcacert] = "/ca/cert/file"
707
- @store.expects(:add_file).with Puppet[:localcacert]
717
+ expect(@store).to receive(:add_file).with(Puppet[:localcacert])
708
718
  @host.ssl_store
709
719
  end
710
720
 
711
721
  describe "and a CRL is available" do
712
722
  before do
713
- @crl = stub 'crl', :content => "real_crl"
714
- Puppet::SSL::CertificateRevocationList.indirection.stubs(:find).returns @crl
723
+ @crl = double('crl', :content => "real_crl")
724
+ allow(Puppet::SSL::CertificateRevocationList.indirection).to receive(:find).and_return(@crl)
715
725
  end
716
726
 
717
727
  [true, 'chain'].each do |crl_setting|
@@ -721,12 +731,12 @@ describe Puppet::SSL::Host do
721
731
  end
722
732
 
723
733
  it "should add the CRL" do
724
- @store.expects(:add_crl).with "real_crl"
734
+ expect(@store).to receive(:add_crl).with("real_crl")
725
735
  @host.ssl_store
726
736
  end
727
737
 
728
738
  it "should set the flags to OpenSSL::X509::V_FLAG_CRL_CHECK_ALL|OpenSSL::X509::V_FLAG_CRL_CHECK" do
729
- @store.expects(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK_ALL|OpenSSL::X509::V_FLAG_CRL_CHECK)
739
+ expect(@store).to receive(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK_ALL | OpenSSL::X509::V_FLAG_CRL_CHECK)
730
740
  @host.ssl_store
731
741
  end
732
742
  end
@@ -738,12 +748,12 @@ describe Puppet::SSL::Host do
738
748
  end
739
749
 
740
750
  it "should add the CRL" do
741
- @store.expects(:add_crl).with "real_crl"
751
+ expect(@store).to receive(:add_crl).with("real_crl")
742
752
  @host.ssl_store
743
753
  end
744
754
 
745
755
  it "should set the flags to OpenSSL::X509::V_FLAG_CRL_CHECK" do
746
- @store.expects(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK)
756
+ expect(@store).to receive(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK)
747
757
  @host.ssl_store
748
758
  end
749
759
  end
@@ -754,12 +764,12 @@ describe Puppet::SSL::Host do
754
764
  end
755
765
 
756
766
  it "should not add the CRL" do
757
- @store.expects(:add_crl).never
767
+ expect(@store).not_to receive(:add_crl)
758
768
  @host.ssl_store
759
769
  end
760
770
 
761
771
  it "should not set the flags" do
762
- @store.expects(:flags=).never
772
+ expect(@store).not_to receive(:flags=)
763
773
  @host.ssl_store
764
774
  end
765
775
  end
@@ -772,54 +782,73 @@ describe Puppet::SSL::Host do
772
782
  end
773
783
 
774
784
  it "should generate its certificate request and attempt to read the certificate again if no certificate is found" do
775
- @host.expects(:certificate).times(2).returns(nil).then.returns "foo"
776
- @host.expects(:generate)
785
+ expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
786
+ expect(@host).to receive(:generate)
777
787
  @host.wait_for_cert(1)
778
788
  end
779
789
 
780
790
  it "should catch and log errors during CSR saving" do
781
- @host.expects(:certificate).times(2).returns(nil).then.returns "foo"
782
- @host.expects(:generate).raises(RuntimeError).then.returns nil
783
- @host.stubs(:sleep)
791
+ expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
792
+ times_generate_called = 0
793
+ expect(@host).to receive(:generate) do
794
+ times_generate_called += 1
795
+ raise RuntimeError if times_generate_called == 1
796
+ nil
797
+ end
798
+ allow(@host).to receive(:sleep)
784
799
  @host.wait_for_cert(1)
785
800
  end
786
801
 
787
802
  it "should sleep and retry after failures saving the CSR if waitforcert is enabled" do
788
- @host.expects(:certificate).times(2).returns(nil).then.returns "foo"
789
- @host.expects(:generate).raises(RuntimeError).then.returns nil
790
- @host.expects(:sleep).with(1)
803
+ expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
804
+ times_generate_called = 0
805
+ expect(@host).to receive(:generate) do
806
+ times_generate_called += 1
807
+ raise RuntimeError if times_generate_called == 1
808
+ nil
809
+ end
810
+ expect(@host).to receive(:sleep).with(1)
791
811
  @host.wait_for_cert(1)
792
812
  end
793
813
 
794
814
  it "should exit after failures saving the CSR of waitforcert is disabled" do
795
- @host.expects(:certificate).returns(nil)
796
- @host.expects(:generate).raises(RuntimeError)
797
- @host.expects(:puts)
815
+ expect(@host).to receive(:certificate).and_return(nil)
816
+ expect(@host).to receive(:generate).and_raise(RuntimeError)
817
+ expect(@host).to receive(:puts)
798
818
  expect { @host.wait_for_cert(0) }.to exit_with 1
799
819
  end
800
820
 
801
821
  it "should exit if the wait time is 0 and it can neither find nor retrieve a certificate" do
802
- @host.stubs(:certificate).returns nil
803
- @host.expects(:generate)
804
- @host.expects(:puts)
822
+ allow(@host).to receive(:certificate).and_return(nil)
823
+ expect(@host).to receive(:generate)
824
+ expect(@host).to receive(:puts)
805
825
  expect { @host.wait_for_cert(0) }.to exit_with 1
806
826
  end
807
827
 
808
828
  it "should sleep for the specified amount of time if no certificate is found after generating its certificate request" do
809
- @host.expects(:certificate).times(3).returns(nil).then.returns(nil).then.returns "foo"
810
- @host.expects(:generate)
829
+ expect(@host).to receive(:certificate).exactly(3).times().and_return(nil, nil, "foo")
830
+ expect(@host).to receive(:generate)
811
831
 
812
- @host.expects(:sleep).with(1)
832
+ expect(@host).to receive(:sleep).with(1)
813
833
 
814
834
  @host.wait_for_cert(1)
815
835
  end
816
836
 
817
837
  it "should catch and log exceptions during certificate retrieval" do
818
- @host.expects(:certificate).times(3).returns(nil).then.raises(RuntimeError).then.returns("foo")
819
- @host.stubs(:generate)
820
- @host.stubs(:sleep)
838
+ times_certificate_called = 0
839
+ expect(@host).to receive(:certificate) do
840
+ times_certificate_called += 1
841
+ if times_certificate_called == 1
842
+ return nil
843
+ elsif times_certificate_called == 2
844
+ raise RuntimeError
845
+ end
846
+ "foo"
847
+ end.exactly(3).times()
848
+ allow(@host).to receive(:generate)
849
+ allow(@host).to receive(:sleep)
821
850
 
822
- Puppet.expects(:err)
851
+ expect(Puppet).to receive(:err).twice
823
852
 
824
853
  @host.wait_for_cert(1)
825
854
  end