puppet 5.5.12-universal-darwin → 5.5.13-universal-darwin

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,5 +1,3 @@
1
- #!/usr/bin/env ruby
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.features.microsoft_windows? do
@@ -13,20 +11,20 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
13
11
 
14
12
  let(:provider) { resource.provider }
15
13
 
16
- let(:connection) { stub 'connection' }
14
+ let(:connection) { double('connection') }
17
15
 
18
16
  before :each do
19
- Puppet::Util::Windows::ADSI.stubs(:computer_name).returns('testcomputername')
20
- Puppet::Util::Windows::ADSI.stubs(:connect).returns connection
17
+ allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return('testcomputername')
18
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(connection)
21
19
  # this would normally query the system, but not needed for these tests
22
- Puppet::Util::Windows::ADSI::User.stubs(:localized_domains).returns([])
20
+ allow(Puppet::Util::Windows::ADSI::User).to receive(:localized_domains).and_return([])
23
21
  end
24
22
 
25
23
  describe ".instances" do
26
24
  it "should enumerate all users" do
27
25
  names = ['user1', 'user2', 'user3']
28
- stub_users = names.map{|n| stub(:name => n)}
29
- connection.stubs(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').returns(stub_users)
26
+ stub_users = names.map {|n| double(:name => n)}
27
+ allow(connection).to receive(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').and_return(stub_users)
30
28
 
31
29
  expect(described_class.instances.map(&:name)).to match(names)
32
30
  end
@@ -39,8 +37,8 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
39
37
  describe "when retrieving the password property" do
40
38
  context "when the resource has a nil password" do
41
39
  it "should never issue a logon attempt" do
42
- resource.stubs(:[]).with(any_of(:name, :password)).returns(nil)
43
- Puppet::Util::Windows::User.expects(:logon_user).never
40
+ allow(resource).to receive(:[]).with(eq(:name).or(eq(:password))).and_return(nil)
41
+ expect(Puppet::Util::Windows::User).not_to receive(:logon_user)
44
42
  provider.password
45
43
  end
46
44
  end
@@ -48,42 +46,41 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
48
46
 
49
47
  describe "when managing groups" do
50
48
  it 'should return the list of groups as an array of strings' do
51
- provider.user.stubs(:groups).returns nil
49
+ allow(provider.user).to receive(:groups).and_return(nil)
52
50
  groups = {'group1' => nil, 'group2' => nil, 'group3' => nil}
53
- Puppet::Util::Windows::ADSI::Group.expects(:name_sid_hash).returns(groups)
51
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:name_sid_hash).and_return(groups)
54
52
 
55
53
  expect(provider.groups).to eq(groups.keys)
56
54
  end
57
55
 
58
56
  it "should return an empty array if there are no groups" do
59
- provider.user.stubs(:groups).returns []
57
+ allow(provider.user).to receive(:groups).and_return([])
60
58
 
61
59
  expect(provider.groups).to eq([])
62
60
  end
63
61
 
64
62
  it 'should be able to add a user to a set of groups' do
65
63
  resource[:membership] = :minimum
66
- provider.user.expects(:set_groups).with('group1,group2', true)
64
+ expect(provider.user).to receive(:set_groups).with('group1,group2', true)
67
65
 
68
66
  provider.groups = 'group1,group2'
69
67
 
70
68
  resource[:membership] = :inclusive
71
- provider.user.expects(:set_groups).with('group1,group2', false)
69
+ expect(provider.user).to receive(:set_groups).with('group1,group2', false)
72
70
 
73
71
  provider.groups = 'group1,group2'
74
72
  end
75
73
  end
76
74
 
77
75
  describe "#groups_insync?" do
78
-
79
- let(:group1) { stub(:account => 'group1', :domain => '.', :sid => 'group1sid') }
80
- let(:group2) { stub(:account => 'group2', :domain => '.', :sid => 'group2sid') }
81
- let(:group3) { stub(:account => 'group3', :domain => '.', :sid => 'group3sid') }
76
+ let(:group1) { double(:account => 'group1', :domain => '.', :sid => 'group1sid') }
77
+ let(:group2) { double(:account => 'group2', :domain => '.', :sid => 'group2sid') }
78
+ let(:group3) { double(:account => 'group3', :domain => '.', :sid => 'group3sid') }
82
79
 
83
80
  before :each do
84
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group1').returns(group1)
85
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group2').returns(group2)
86
- Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group3').returns(group3)
81
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group1').and_return(group1)
82
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group2').and_return(group2)
83
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group3').and_return(group3)
87
84
  end
88
85
 
89
86
  it "should return true for same lists of members" do
@@ -191,17 +188,16 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
191
188
  resource[:comment] = 'a test user'
192
189
  resource[:home] = 'C:\Users\testuser'
193
190
 
194
- user = stub 'user'
195
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
191
+ user = double('user')
192
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
196
193
 
197
- user.stubs(:groups).returns(['group2', 'group3'])
194
+ allow(user).to receive(:groups).and_return(['group2', 'group3'])
198
195
 
199
- create = sequence('create')
200
- user.expects(:password=).in_sequence(create)
201
- user.expects(:commit).in_sequence(create)
202
- user.expects(:set_groups).with('group1,group2', false).in_sequence(create)
203
- user.expects(:[]=).with('Description', 'a test user')
204
- user.expects(:[]=).with('HomeDirectory', 'C:\Users\testuser')
196
+ expect(user).to receive(:password=).ordered
197
+ expect(user).to receive(:commit).ordered
198
+ expect(user).to receive(:set_groups).with('group1,group2', false).ordered
199
+ expect(user).to receive(:[]=).with('Description', 'a test user')
200
+ expect(user).to receive(:[]=).with('HomeDirectory', 'C:\Users\testuser')
205
201
 
206
202
  provider.create
207
203
  end
@@ -210,25 +206,28 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
210
206
  resource[:password] = '0xDeadBeef'
211
207
  resource[:managehome] = true
212
208
 
213
- user = stub_everything 'user'
214
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
215
- Puppet::Util::Windows::User.expects(:load_profile).with('testuser', '0xDeadBeef')
209
+ user = double('user')
210
+ allow(user).to receive(:password=)
211
+ allow(user).to receive(:commit)
212
+ allow(user).to receive(:[]=)
213
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
214
+ expect(Puppet::Util::Windows::User).to receive(:load_profile).with('testuser', '0xDeadBeef')
216
215
 
217
216
  provider.create
218
217
  end
219
218
 
220
219
  it "should set a user's password" do
221
- provider.user.expects(:disabled?).returns(false)
222
- provider.user.expects(:locked_out?).returns(false)
223
- provider.user.expects(:expired?).returns(false)
224
- provider.user.expects(:password=).with('plaintextbad')
220
+ expect(provider.user).to receive(:disabled?).and_return(false)
221
+ expect(provider.user).to receive(:locked_out?).and_return(false)
222
+ expect(provider.user).to receive(:expired?).and_return(false)
223
+ expect(provider.user).to receive(:password=).with('plaintextbad')
225
224
 
226
225
  provider.password = "plaintextbad"
227
226
  end
228
227
 
229
228
  it "should test a valid user password" do
230
229
  resource[:password] = 'plaintext'
231
- provider.user.expects(:password_is?).with('plaintext').returns true
230
+ expect(provider.user).to receive(:password_is?).with('plaintext').and_return(true)
232
231
 
233
232
  expect(provider.password).to eq('plaintext')
234
233
 
@@ -236,54 +235,54 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
236
235
 
237
236
  it "should test a bad user password" do
238
237
  resource[:password] = 'plaintext'
239
- provider.user.expects(:password_is?).with('plaintext').returns false
238
+ expect(provider.user).to receive(:password_is?).with('plaintext').and_return(false)
240
239
 
241
240
  expect(provider.password).to be_nil
242
241
  end
243
242
 
244
243
  it "should test a blank user password" do
245
244
  resource[:password] = ''
246
- provider.user.expects(:password_is?).with('').returns true
245
+ expect(provider.user).to receive(:password_is?).with('').and_return(true)
247
246
 
248
247
  expect(provider.password).to eq('')
249
248
  end
250
249
 
251
250
  it 'should not create a user if a group by the same name exists' do
252
- Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').raises( Puppet::Error.new("Cannot create user if group 'testuser' exists.") )
251
+ expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_raise(Puppet::Error.new("Cannot create user if group 'testuser' exists."))
253
252
  expect{ provider.create }.to raise_error( Puppet::Error,
254
253
  /Cannot create user if group 'testuser' exists./ )
255
254
  end
256
255
 
257
256
  it "should fail with an actionable message when trying to create an active directory user" do
258
257
  resource[:name] = 'DOMAIN\testdomainuser'
259
- Puppet::Util::Windows::ADSI::Group.expects(:exists?).with(resource[:name]).returns(false)
260
- connection.expects(:Create)
261
- connection.expects(:Get).with('UserFlags')
262
- connection.expects(:Put).with('UserFlags', true)
263
- connection.expects(:SetInfo).raises( WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
258
+ expect(Puppet::Util::Windows::ADSI::Group).to receive(:exists?).with(resource[:name]).and_return(false)
259
+ expect(connection).to receive(:Create)
260
+ expect(connection).to receive(:Get).with('UserFlags')
261
+ expect(connection).to receive(:Put).with('UserFlags', true)
262
+ expect(connection).to receive(:SetInfo).and_raise(WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
264
263
 
265
264
  expect{ provider.create }.to raise_error(Puppet::Error)
266
265
  end
267
266
  end
268
267
 
269
268
  it 'should be able to test whether a user exists' do
270
- Puppet::Util::Windows::SID.stubs(:name_to_principal).returns(nil)
271
- Puppet::Util::Windows::ADSI.stubs(:connect).returns stub('connection', :Class => 'User')
269
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
270
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(double('connection', :Class => 'User'))
272
271
  expect(provider).to be_exists
273
272
 
274
- Puppet::Util::Windows::ADSI.stubs(:connect).returns nil
273
+ allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(nil)
275
274
  expect(provider).not_to be_exists
276
275
  end
277
276
 
278
277
  it 'should be able to delete a user' do
279
- connection.expects(:Delete).with('user', 'testuser')
278
+ expect(connection).to receive(:Delete).with('user', 'testuser')
280
279
 
281
280
  provider.delete
282
281
  end
283
282
 
284
283
  it 'should not run commit on a deleted user' do
285
- connection.expects(:Delete).with('user', 'testuser')
286
- connection.expects(:SetInfo).never
284
+ expect(connection).to receive(:Delete).with('user', 'testuser')
285
+ expect(connection).not_to receive(:SetInfo)
287
286
 
288
287
  provider.delete
289
288
  provider.flush
@@ -293,33 +292,33 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet.feature
293
292
  resource[:managehome] = true
294
293
 
295
294
  sid = 'S-A-B-C'
296
- Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns(sid)
297
- Puppet::Util::Windows::ADSI::UserProfile.expects(:delete).with(sid)
298
- connection.expects(:Delete).with('user', 'testuser')
295
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return(sid)
296
+ expect(Puppet::Util::Windows::ADSI::UserProfile).to receive(:delete).with(sid)
297
+ expect(connection).to receive(:Delete).with('user', 'testuser')
299
298
 
300
299
  provider.delete
301
300
  end
302
301
 
303
302
  it "should commit the user when flushed" do
304
- provider.user.expects(:commit)
303
+ expect(provider.user).to receive(:commit)
305
304
 
306
305
  provider.flush
307
306
  end
308
307
 
309
308
  it "should return the user's SID as uid" do
310
- Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns('S-1-5-21-1362942247-2130103807-3279964888-1111')
309
+ expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return('S-1-5-21-1362942247-2130103807-3279964888-1111')
311
310
 
312
311
  expect(provider.uid).to eq('S-1-5-21-1362942247-2130103807-3279964888-1111')
313
312
  end
314
313
 
315
314
  it "should fail when trying to manage the uid property" do
316
- provider.expects(:fail).with { |msg| msg =~ /uid is read-only/ }
315
+ expect(provider).to receive(:fail).with(/uid is read-only/)
317
316
  provider.send(:uid=, 500)
318
317
  end
319
318
 
320
319
  [:gid, :shell].each do |prop|
321
320
  it "should fail when trying to manage the #{prop} property" do
322
- provider.expects(:fail).with { |msg| msg =~ /No support for managing property #{prop}/ }
321
+ expect(provider).to receive(:fail).with(/No support for managing property #{prop}/)
323
322
  provider.send("#{prop}=", 'foo')
324
323
  end
325
324
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/provider/vlan/cisco'
@@ -7,8 +6,8 @@ provider_class = Puppet::Type.type(:vlan).provider(:cisco)
7
6
 
8
7
  describe provider_class do
9
8
  before do
10
- @device = stub_everything 'device'
11
- @resource = stub("resource", :name => "200")
9
+ @device = double('device')
10
+ @resource = double("resource", :name => "200")
12
11
  @provider = provider_class.new(@device, @resource)
13
12
  end
14
13
 
@@ -22,19 +21,18 @@ describe provider_class do
22
21
 
23
22
  describe "when looking up instances at prefetch" do
24
23
  before do
25
- @device.stubs(:command).yields(@device)
24
+ allow(@device).to receive(:command).and_yield(@device)
26
25
  end
27
26
 
28
27
  it "should delegate to the device vlans" do
29
- @device.expects(:parse_vlans)
28
+ expect(@device).to receive(:parse_vlans)
30
29
  provider_class.lookup(@device, "200")
31
30
  end
32
31
 
33
32
  it "should return only the given vlan" do
34
- @device.expects(:parse_vlans).returns({"200" => { :description => "thisone" }, "1" => { :description => "nothisone" }})
33
+ expect(@device).to receive(:parse_vlans).and_return({"200" => { :description => "thisone" }, "1" => { :description => "nothisone" }})
35
34
  expect(provider_class.lookup(@device, "200")).to eq({:description => "thisone" })
36
35
  end
37
-
38
36
  end
39
37
 
40
38
  describe "when an instance is being flushed" do
@@ -42,11 +40,11 @@ describe provider_class do
42
40
  @instance = provider_class.new(@device, :ensure => :present, :name => "200", :description => "myvlan")
43
41
  @instance.description = "myvlan2"
44
42
  @instance.resource = @resource
45
- @resource.stubs(:[]).with(:name).returns("200")
46
- device = stub_everything 'device'
47
- @instance.stubs(:device).returns(device)
48
- device.expects(:command).yields(device)
49
- device.expects(:update_vlan).with(@instance.name, {:ensure => :present, :name => "200", :description => "myvlan"},
43
+ allow(@resource).to receive(:[]).with(:name).and_return("200")
44
+ device = double('device')
45
+ allow(@instance).to receive(:device).and_return(device)
46
+ expect(device).to receive(:command).and_yield(device)
47
+ expect(device).to receive(:update_vlan).with(@instance.name, {:ensure => :present, :name => "200", :description => "myvlan"},
50
48
  {:ensure => :present, :name => "200", :description => "myvlan2"})
51
49
 
52
50
  @instance.flush
@@ -2,7 +2,6 @@ require 'spec_helper'
2
2
  require 'puppet_spec/files'
3
3
 
4
4
  describe Puppet::Type.type(:yumrepo).provider(:inifile) do
5
-
6
5
  include PuppetSpec::Files
7
6
 
8
7
  after(:each) do
@@ -11,9 +10,9 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
11
10
 
12
11
  describe "enumerating all yum repo files" do
13
12
  it "reads all files in the directories specified by reposdir" do
14
- described_class.expects(:reposdir).returns ['/etc/yum.repos.d']
13
+ expect(described_class).to receive(:reposdir).and_return(['/etc/yum.repos.d'])
15
14
 
16
- Dir.expects(:glob).with("/etc/yum.repos.d/*.repo").returns(['/etc/yum.repos.d/first.repo', '/etc/yum.repos.d/second.repo'])
15
+ expect(Dir).to receive(:glob).with("/etc/yum.repos.d/*.repo").and_return(['/etc/yum.repos.d/first.repo', '/etc/yum.repos.d/second.repo'])
17
16
 
18
17
  actual = described_class.repofiles
19
18
  expect(actual).to include("/etc/yum.repos.d/first.repo")
@@ -21,7 +20,7 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
21
20
  end
22
21
 
23
22
  it "includes '/etc/yum.conf' as the first element" do
24
- described_class.expects(:reposdir).returns []
23
+ expect(described_class).to receive(:reposdir).and_return([])
25
24
 
26
25
  actual = described_class.repofiles
27
26
  expect(actual[0]).to eq "/etc/yum.conf"
@@ -30,42 +29,42 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
30
29
 
31
30
  describe "generating the virtual inifile" do
32
31
  let(:files) { ['/etc/yum.repos.d/first.repo', '/etc/yum.repos.d/second.repo', '/etc/yum.conf'] }
33
- let(:collection) { mock('virtual inifile') }
32
+ let(:collection) { double('virtual inifile') }
34
33
 
35
34
  before do
36
35
  described_class.clear
37
- Puppet::Util::IniConfig::FileCollection.expects(:new).returns collection
36
+ expect(Puppet::Util::IniConfig::FileCollection).to receive(:new).and_return(collection)
38
37
  end
39
38
 
40
39
  it "reads all files in the directories specified by self.repofiles" do
41
- described_class.expects(:repofiles).returns(files)
40
+ expect(described_class).to receive(:repofiles).and_return(files)
42
41
 
43
42
  files.each do |file|
44
- Puppet::FileSystem.stubs(:file?).with(file).returns true
45
- collection.expects(:read).with(file)
43
+ allow(Puppet::FileSystem).to receive(:file?).with(file).and_return(true)
44
+ expect(collection).to receive(:read).with(file)
46
45
  end
47
46
  described_class.virtual_inifile
48
47
  end
49
48
 
50
49
  it "ignores repofile entries that are not files" do
51
- described_class.expects(:repofiles).returns(files)
50
+ expect(described_class).to receive(:repofiles).and_return(files)
52
51
 
53
- Puppet::FileSystem.stubs(:file?).with('/etc/yum.repos.d/first.repo').returns true
54
- Puppet::FileSystem.stubs(:file?).with('/etc/yum.repos.d/second.repo').returns false
55
- Puppet::FileSystem.stubs(:file?).with('/etc/yum.conf').returns true
52
+ allow(Puppet::FileSystem).to receive(:file?).with('/etc/yum.repos.d/first.repo').and_return(true)
53
+ allow(Puppet::FileSystem).to receive(:file?).with('/etc/yum.repos.d/second.repo').and_return(false)
54
+ allow(Puppet::FileSystem).to receive(:file?).with('/etc/yum.conf').and_return(true)
56
55
 
57
- collection.expects(:read).with('/etc/yum.repos.d/first.repo').once
58
- collection.expects(:read).with('/etc/yum.repos.d/second.repo').never
59
- collection.expects(:read).with('/etc/yum.conf').once
56
+ expect(collection).to receive(:read).with('/etc/yum.repos.d/first.repo').once
57
+ expect(collection).not_to receive(:read).with('/etc/yum.repos.d/second.repo')
58
+ expect(collection).to receive(:read).with('/etc/yum.conf').once
60
59
  described_class.virtual_inifile
61
60
  end
62
61
  end
63
62
 
64
63
  describe 'creating provider instances' do
65
- let(:virtual_inifile) { stub('virtual inifile') }
64
+ let(:virtual_inifile) { double('virtual inifile') }
66
65
 
67
66
  before :each do
68
- described_class.stubs(:virtual_inifile).returns(virtual_inifile)
67
+ allow(described_class).to receive(:virtual_inifile).and_return(virtual_inifile)
69
68
  end
70
69
 
71
70
  let(:main_section) do
@@ -85,7 +84,7 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
85
84
  end
86
85
 
87
86
  it "ignores the main section" do
88
- virtual_inifile.expects(:each_section).multiple_yields(main_section, updates_section)
87
+ expect(virtual_inifile).to receive(:each_section).and_yield(main_section).and_yield(updates_section)
89
88
 
90
89
  instances = described_class.instances
91
90
  expect(instances).to have(1).items
@@ -93,7 +92,7 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
93
92
  end
94
93
 
95
94
  it "creates provider instances for every non-main section that was found" do
96
- virtual_inifile.expects(:each_section).multiple_yields(main_section, updates_section)
95
+ expect(virtual_inifile).to receive(:each_section).and_yield(main_section).and_yield(updates_section)
97
96
 
98
97
  sect = described_class.instances.first
99
98
  expect(sect.name).to eq 'updates'
@@ -103,18 +102,16 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
103
102
  end
104
103
 
105
104
  describe "retrieving a section from the inifile" do
106
-
107
- let(:collection) { stub('ini file collection') }
108
-
109
- let(:ini_section) { stub('ini file section') }
105
+ let(:collection) { double('ini file collection') }
106
+ let(:ini_section) { double('ini file section') }
110
107
 
111
108
  before do
112
- described_class.stubs(:virtual_inifile).returns(collection)
109
+ allow(described_class).to receive(:virtual_inifile).and_return(collection)
113
110
  end
114
111
 
115
112
  describe "and the requested section exists" do
116
113
  before do
117
- collection.stubs(:[]).with('updates').returns ini_section
114
+ allow(collection).to receive(:[]).with('updates').and_return(ini_section)
118
115
  end
119
116
 
120
117
  it "returns the existing section" do
@@ -122,24 +119,24 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
122
119
  end
123
120
 
124
121
  it "doesn't create a new section" do
125
- collection.expects(:add_section).never
122
+ expect(collection).not_to receive(:add_section)
126
123
  described_class.section('updates')
127
124
  end
128
125
  end
129
126
 
130
127
  describe "and the requested section doesn't exist" do
131
128
  it "creates a section in the preferred repodir" do
132
- described_class.stubs(:reposdir).returns ['/etc/yum.repos.d', '/etc/alternate.repos.d']
133
- collection.expects(:[]).with('updates')
134
- collection.expects(:add_section).with('updates', '/etc/alternate.repos.d/updates.repo')
129
+ allow(described_class).to receive(:reposdir).and_return(['/etc/yum.repos.d', '/etc/alternate.repos.d'])
130
+ expect(collection).to receive(:[]).with('updates')
131
+ expect(collection).to receive(:add_section).with('updates', '/etc/alternate.repos.d/updates.repo')
135
132
 
136
133
  described_class.section('updates')
137
134
  end
138
135
 
139
136
  it "creates a section in yum.conf if no repodirs exist" do
140
- described_class.stubs(:reposdir).returns []
141
- collection.expects(:[]).with('updates')
142
- collection.expects(:add_section).with('updates', '/etc/yum.conf')
137
+ allow(described_class).to receive(:reposdir).and_return([])
138
+ expect(collection).to receive(:[]).with('updates')
139
+ expect(collection).to receive(:add_section).with('updates', '/etc/yum.conf')
143
140
 
144
141
  described_class.section('updates')
145
142
  end
@@ -147,7 +144,6 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
147
144
  end
148
145
 
149
146
  describe "setting and getting properties" do
150
-
151
147
  let(:type_instance) do
152
148
  Puppet::Type.type(:yumrepo).new(
153
149
  :name => 'puppetlabs-products',
@@ -165,68 +161,68 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
165
161
  end
166
162
 
167
163
  let(:section) do
168
- stub('inifile puppetlabs section', :name => 'puppetlabs-products')
164
+ double('inifile puppetlabs section', :name => 'puppetlabs-products')
169
165
  end
170
166
 
171
167
  before do
172
168
  type_instance.provider = provider
173
- described_class.stubs(:section).with('puppetlabs-products').returns(section)
169
+ allow(described_class).to receive(:section).with('puppetlabs-products').and_return(section)
174
170
  end
175
171
 
176
172
  describe "methods used by ensurable" do
177
173
  it "#create sets the yumrepo properties on the according section" do
178
- section.expects(:[]=).with('baseurl', 'http://yum.puppetlabs.com/el/6/products/$basearch')
179
- section.expects(:[]=).with('name', 'Puppet Labs Products El 6 - $basearch')
180
- section.expects(:[]=).with('enabled', '1')
181
- section.expects(:[]=).with('gpgcheck', '1')
182
- section.expects(:[]=).with('gpgkey', 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs')
174
+ expect(section).to receive(:[]=).with('baseurl', 'http://yum.puppetlabs.com/el/6/products/$basearch')
175
+ expect(section).to receive(:[]=).with('name', 'Puppet Labs Products El 6 - $basearch')
176
+ expect(section).to receive(:[]=).with('enabled', '1')
177
+ expect(section).to receive(:[]=).with('gpgcheck', '1')
178
+ expect(section).to receive(:[]=).with('gpgkey', 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs')
183
179
 
184
180
  provider.create
185
181
  end
186
182
 
187
183
  it "#exists? checks if the repo has been marked as present" do
188
- described_class.stubs(:section).returns(stub(:[]= => nil))
184
+ allow(described_class).to receive(:section).and_return(double(:[]= => nil))
189
185
  provider.create
190
186
  expect(provider).to be_exist
191
187
  end
192
188
 
193
189
  it "#destroy deletes the associated ini file section" do
194
- described_class.expects(:section).returns(section)
195
- section.expects(:destroy=).with(true)
190
+ expect(described_class).to receive(:section).and_return(section)
191
+ expect(section).to receive(:destroy=).with(true)
196
192
  provider.destroy
197
193
  end
198
194
  end
199
195
 
200
196
  describe "getting properties" do
201
197
  it "maps the 'descr' property to the 'name' INI property" do
202
- section.expects(:[]).with('name').returns 'Some rather long description of the repository'
198
+ expect(section).to receive(:[]).with('name').and_return('Some rather long description of the repository')
203
199
  expect(provider.descr).to eq 'Some rather long description of the repository'
204
200
  end
205
201
 
206
202
  it "gets the property from the INI section" do
207
- section.expects(:[]).with('enabled').returns '1'
203
+ expect(section).to receive(:[]).with('enabled').and_return('1')
208
204
  expect(provider.enabled).to eq '1'
209
205
  end
210
206
 
211
207
  it "sets the property as :absent if the INI property is nil" do
212
- section.expects(:[]).with('exclude').returns nil
208
+ expect(section).to receive(:[]).with('exclude').and_return(nil)
213
209
  expect(provider.exclude).to eq :absent
214
210
  end
215
211
  end
216
212
 
217
213
  describe "setting properties" do
218
214
  it "maps the 'descr' property to the 'name' INI property" do
219
- section.expects(:[]=).with('name', 'Some rather long description of the repository')
215
+ expect(section).to receive(:[]=).with('name', 'Some rather long description of the repository')
220
216
  provider.descr = 'Some rather long description of the repository'
221
217
  end
222
218
 
223
219
  it "sets the property on the INI section" do
224
- section.expects(:[]=).with('enabled', '0')
220
+ expect(section).to receive(:[]=).with('enabled', '0')
225
221
  provider.enabled = '0'
226
222
  end
227
223
 
228
224
  it "sets the section field to nil when the specified value is absent" do
229
- section.expects(:[]=).with('exclude', nil)
225
+ expect(section).to receive(:[]=).with('exclude', nil)
230
226
  provider.exclude = :absent
231
227
  end
232
228
  end
@@ -236,51 +232,50 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
236
232
  let(:defaults) { ['/etc/yum.repos.d', '/etc/yum/repos.d'] }
237
233
 
238
234
  before do
239
- Puppet::FileSystem.stubs(:exist?).with('/etc/yum.repos.d').returns(true)
240
- Puppet::FileSystem.stubs(:exist?).with('/etc/yum/repos.d').returns(true)
235
+ allow(Puppet::FileSystem).to receive(:exist?).with('/etc/yum.repos.d').and_return(true)
236
+ allow(Puppet::FileSystem).to receive(:exist?).with('/etc/yum/repos.d').and_return(true)
241
237
  end
242
238
 
243
239
  it "returns the default directories if yum.conf doesn't contain a `reposdir` entry" do
244
- described_class.stubs(:find_conf_value).with('reposdir', '/etc/yum.conf')
240
+ allow(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf')
245
241
  expect(described_class.reposdir('/etc/yum.conf')).to eq(defaults)
246
242
  end
247
243
 
248
244
  it "includes the directory specified by the yum.conf 'reposdir' entry when the directory is present" do
249
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/extra.repos.d").returns(true)
245
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/extra.repos.d").and_return(true)
250
246
 
251
- described_class.expects(:find_conf_value).with('reposdir', '/etc/yum.conf').returns "/etc/yum/extra.repos.d"
247
+ expect(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf').and_return("/etc/yum/extra.repos.d")
252
248
  expect(described_class.reposdir('/etc/yum.conf')).to include("/etc/yum/extra.repos.d")
253
249
  end
254
250
 
255
251
  it "includes the directory if the value is split by whitespace" do
256
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/extra.repos.d").returns(true)
257
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/misc.repos.d").returns(true)
252
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/extra.repos.d").and_return(true)
253
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/misc.repos.d").and_return(true)
258
254
 
259
- described_class.expects(:find_conf_value).with('reposdir', '/etc/yum.conf').returns "/etc/yum/extra.repos.d /etc/yum/misc.repos.d"
255
+ expect(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf').and_return("/etc/yum/extra.repos.d /etc/yum/misc.repos.d")
260
256
  expect(described_class.reposdir('/etc/yum.conf')).to include("/etc/yum/extra.repos.d", "/etc/yum/misc.repos.d")
261
257
  end
262
258
 
263
259
  it "includes the directory if the value is split by new lines" do
264
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/extra.repos.d").returns(true)
265
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/misc.repos.d").returns(true)
260
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/extra.repos.d").and_return(true)
261
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/misc.repos.d").and_return(true)
266
262
 
267
- described_class.expects(:find_conf_value).with('reposdir', '/etc/yum.conf').returns "/etc/yum/extra.repos.d\n/etc/yum/misc.repos.d"
263
+ expect(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf').and_return("/etc/yum/extra.repos.d\n/etc/yum/misc.repos.d")
268
264
  expect(described_class.reposdir('/etc/yum.conf')).to include("/etc/yum/extra.repos.d", "/etc/yum/misc.repos.d")
269
265
  end
270
266
 
271
267
  it "doesn't include the directory specified by the yum.conf 'reposdir' entry when the directory is absent" do
272
- Puppet::FileSystem.expects(:exist?).with("/etc/yum/extra.repos.d").returns(false)
268
+ expect(Puppet::FileSystem).to receive(:exist?).with("/etc/yum/extra.repos.d").and_return(false)
273
269
 
274
- described_class.expects(:find_conf_value).with('reposdir', '/etc/yum.conf').returns "/etc/yum/extra.repos.d"
270
+ expect(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf').and_return("/etc/yum/extra.repos.d")
275
271
  expect(described_class.reposdir('/etc/yum.conf')).not_to include("/etc/yum/extra.repos.d")
276
272
  end
277
273
 
278
274
  it "logs a warning and returns an empty array if none of the specified repo directories exist" do
279
- Puppet::FileSystem.unstub(:exist?)
280
- Puppet::FileSystem.stubs(:exist?).returns false
275
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
281
276
 
282
- described_class.stubs(:find_conf_value).with('reposdir', '/etc/yum.conf')
283
- Puppet.expects(:debug).with('No yum directories were found on the local filesystem')
277
+ allow(described_class).to receive(:find_conf_value).with('reposdir', '/etc/yum.conf')
278
+ expect(Puppet).to receive(:debug).with('No yum directories were found on the local filesystem')
284
279
  expect(described_class.reposdir('/etc/yum.conf')).to be_empty
285
280
  end
286
281
  end
@@ -288,40 +283,40 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
288
283
  describe "looking up a conf value" do
289
284
  describe "and the file doesn't exist" do
290
285
  it "returns nil" do
291
- Puppet::FileSystem.stubs(:exist?).returns false
286
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
292
287
  expect(described_class.find_conf_value('reposdir')).to be_nil
293
288
  end
294
289
  end
295
290
 
296
291
  describe "and the file exists" do
297
- let(:pfile) { stub('yum.conf physical file') }
298
- let(:sect) { stub('ini section') }
292
+ let(:pfile) { double('yum.conf physical file') }
293
+ let(:sect ) { double('ini section') }
299
294
 
300
295
  before do
301
- Puppet::FileSystem.stubs(:exist?).with('/etc/yum.conf').returns true
302
- Puppet::Util::IniConfig::PhysicalFile.stubs(:new).with('/etc/yum.conf').returns pfile
303
- pfile.expects(:read)
296
+ allow(Puppet::FileSystem).to receive(:exist?).with('/etc/yum.conf').and_return(true)
297
+ allow(Puppet::Util::IniConfig::PhysicalFile).to receive(:new).with('/etc/yum.conf').and_return(pfile)
298
+ expect(pfile).to receive(:read)
304
299
  end
305
300
 
306
301
  it "creates a PhysicalFile to parse the given file" do
307
- pfile.expects(:get_section)
302
+ expect(pfile).to receive(:get_section)
308
303
  described_class.find_conf_value('reposdir')
309
304
  end
310
305
 
311
306
  it "returns nil if the file exists but the 'main' section doesn't exist" do
312
- pfile.expects(:get_section).with('main')
307
+ expect(pfile).to receive(:get_section).with('main')
313
308
  expect(described_class.find_conf_value('reposdir')).to be_nil
314
309
  end
315
310
 
316
311
  it "returns nil if the file exists but the INI property doesn't exist" do
317
- pfile.expects(:get_section).with('main').returns sect
318
- sect.expects(:[]).with('reposdir')
312
+ expect(pfile).to receive(:get_section).with('main').and_return(sect)
313
+ expect(sect).to receive(:[]).with('reposdir')
319
314
  expect(described_class.find_conf_value('reposdir')).to be_nil
320
315
  end
321
316
 
322
317
  it "returns the value if the value is defined in the PhysicalFile" do
323
- pfile.expects(:get_section).with('main').returns sect
324
- sect.expects(:[]).with('reposdir').returns '/etc/alternate.repos.d'
318
+ expect(pfile).to receive(:get_section).with('main').and_return(sect)
319
+ expect(sect).to receive(:[]).with('reposdir').and_return('/etc/alternate.repos.d')
325
320
  expect(described_class.find_conf_value('reposdir')).to eq '/etc/alternate.repos.d'
326
321
  end
327
322
  end
@@ -347,7 +342,7 @@ describe Puppet::Type.type(:yumrepo).provider(:inifile) do
347
342
  before :each do
348
343
  @yumrepo_dir = tmpdir('yumrepo_integration_specs')
349
344
  @yumrepo_conf_file = tmpfile('yumrepo_conf_file', @yumrepo_dir)
350
- described_class.stubs(:reposdir).returns [@yumrepo_dir]
345
+ allow(described_class).to receive(:reposdir).and_return([@yumrepo_dir])
351
346
  type_instance.provider = provider
352
347
  end
353
348