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
  require 'puppet/application/certificate'
4
3
 
@@ -6,14 +5,14 @@ describe Puppet::Application::Certificate do
6
5
  it "should have a 'ca-location' option" do
7
6
  # REVISIT: This is delegated from the face, and we will have a test there,
8
7
  # so is this actually a valuable test? --daniel 2011-04-07
9
- subject.command_line.stubs(:args).returns %w{list}
8
+ allow(subject.command_line).to receive(:args).and_return(%w{list})
10
9
  subject.preinit
11
10
  subject.parse_options
12
11
  expect(subject).to respond_to(:handle_ca_location)
13
12
  end
14
13
 
15
14
  it "should accept the ca-location option" do
16
- subject.command_line.stubs(:args).returns %w{--ca-location local list}
15
+ allow(subject.command_line).to receive(:args).and_return(%w{--ca-location local list})
17
16
  subject.preinit
18
17
  subject.parse_options
19
18
  subject.setup
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/application/config'
4
3
 
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/application/describe'
@@ -22,7 +21,7 @@ describe Puppet::Application::Describe do
22
21
  end
23
22
 
24
23
  it "should store argument value when calling handle_#{option}" do
25
- @describe.options.expects(:[]=).with("#{option}".to_sym, 'arg')
24
+ expect(@describe.options).to receive(:[]=).with("#{option}".to_sym, 'arg')
26
25
  @describe.send("handle_#{option}".to_sym, 'arg')
27
26
  end
28
27
  end
@@ -46,7 +45,7 @@ describe Puppet::Application::Describe do
46
45
 
47
46
  describe "during setup" do
48
47
  it "should collect arguments in options[:types]" do
49
- @describe.command_line.stubs(:args).returns(['1','2'])
48
+ allow(@describe.command_line).to receive(:args).and_return(['1','2'])
50
49
  @describe.setup
51
50
 
52
51
  expect(@describe.options[:types]).to eq(['1','2'])
@@ -56,14 +55,14 @@ describe Puppet::Application::Describe do
56
55
  describe "when running" do
57
56
 
58
57
  before :each do
59
- @typedoc = stub 'type_doc'
60
- TypeDoc.stubs(:new).returns(@typedoc)
58
+ @typedoc = double('type_doc')
59
+ allow(TypeDoc).to receive(:new).and_return(@typedoc)
61
60
  end
62
61
 
63
62
  it "should call list_types if options list is set" do
64
63
  @describe.options[:list] = true
65
64
 
66
- @typedoc.expects(:list_types)
65
+ expect(@typedoc).to receive(:list_types)
67
66
 
68
67
  @describe.run_command
69
68
  end
@@ -72,7 +71,7 @@ describe Puppet::Application::Describe do
72
71
  @describe.options[:list] = false
73
72
  @describe.options[:types] = ['type']
74
73
 
75
- @typedoc.expects(:format_type).with('type', @describe.options)
74
+ expect(@typedoc).to receive(:format_type).with('type', @describe.options)
76
75
  @describe.run_command
77
76
  end
78
77
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/application/device'
@@ -13,11 +12,11 @@ describe Puppet::Application::Device do
13
12
  before :each do
14
13
  @device = Puppet::Application[:device]
15
14
  @device.preinit
16
- Puppet::Util::Log.stubs(:newdestination)
15
+ allow(Puppet::Util::Log).to receive(:newdestination)
17
16
 
18
- Puppet::Node.indirection.stubs(:terminus_class=)
19
- Puppet::Node.indirection.stubs(:cache_class=)
20
- Puppet::Node::Facts.indirection.stubs(:terminus_class=)
17
+ allow(Puppet::Node.indirection).to receive(:terminus_class=)
18
+ allow(Puppet::Node.indirection).to receive(:cache_class=)
19
+ allow(Puppet::Node::Facts.indirection).to receive(:terminus_class=)
21
20
  end
22
21
 
23
22
  it "should operate in agent run_mode" do
@@ -34,11 +33,11 @@ describe Puppet::Application::Device do
34
33
 
35
34
  describe "in preinit" do
36
35
  before :each do
37
- @device.stubs(:trap)
36
+ allow(@device).to receive(:trap)
38
37
  end
39
38
 
40
39
  it "should catch INT" do
41
- Signal.expects(:trap).with { |arg,block| arg == :INT }
40
+ expect(Signal).to receive(:trap).with(:INT)
42
41
 
43
42
  @device.preinit
44
43
  end
@@ -58,7 +57,7 @@ describe Puppet::Application::Device do
58
57
 
59
58
  describe "when handling options" do
60
59
  before do
61
- @device.command_line.stubs(:args).returns([])
60
+ allow(@device.command_line).to receive(:args).and_return([])
62
61
  end
63
62
 
64
63
  [:centrallogging, :debug, :verbose,].each do |option|
@@ -67,58 +66,58 @@ describe Puppet::Application::Device do
67
66
  end
68
67
 
69
68
  it "should store argument value when calling handle_#{option}" do
70
- @device.options.expects(:[]=).with(option, 'arg')
69
+ allow(@device.options).to receive(:[]=).with(option, 'arg')
71
70
  @device.send("handle_#{option}".to_sym, 'arg')
72
71
  end
73
72
  end
74
73
 
75
74
  it "should set waitforcert to 0 with --onetime and if --waitforcert wasn't given" do
76
75
  Puppet[:onetime] = true
77
- Puppet::SSL::Host.any_instance.expects(:wait_for_cert).with(0)
76
+ expect_any_instance_of(Puppet::SSL::Host).to receive(:wait_for_cert).with(0)
78
77
  @device.setup_host
79
78
  end
80
79
 
81
80
  it "should use supplied waitforcert when --onetime is specified" do
82
81
  Puppet[:onetime] = true
83
82
  @device.handle_waitforcert(60)
84
- Puppet::SSL::Host.any_instance.expects(:wait_for_cert).with(60)
83
+ expect_any_instance_of(Puppet::SSL::Host).to receive(:wait_for_cert).with(60)
85
84
  @device.setup_host
86
85
  end
87
86
 
88
87
  it "should use a default value for waitforcert when --onetime and --waitforcert are not specified" do
89
- Puppet::SSL::Host.any_instance.expects(:wait_for_cert).with(120)
88
+ expect_any_instance_of(Puppet::SSL::Host).to receive(:wait_for_cert).with(120)
90
89
  @device.setup_host
91
90
  end
92
91
 
93
92
  it "should use the waitforcert setting when checking for a signed certificate" do
94
93
  Puppet[:waitforcert] = 10
95
- Puppet::SSL::Host.any_instance.expects(:wait_for_cert).with(10)
94
+ expect_any_instance_of(Puppet::SSL::Host).to receive(:wait_for_cert).with(10)
96
95
  @device.setup_host
97
96
  end
98
97
 
99
98
  it "should set the log destination with --logdest" do
100
- @device.options.stubs(:[]=).with { |opt,val| opt == :setdest }
101
- Puppet::Log.expects(:newdestination).with("console")
99
+ allow(@device.options).to receive(:[]=).with(:setdest, anything)
100
+ expect(Puppet::Log).to receive(:newdestination).with("console")
102
101
 
103
102
  @device.handle_logdest("console")
104
103
  end
105
104
 
106
105
  it "should put the setdest options to true" do
107
- @device.options.expects(:[]=).with(:setdest,true)
106
+ expect(@device.options).to receive(:[]=).with(:setdest, true)
108
107
 
109
108
  @device.handle_logdest("console")
110
109
  end
111
110
 
112
111
  it "should parse the log destination from the command line" do
113
- @device.command_line.stubs(:args).returns(%w{--logdest /my/file})
112
+ allow(@device.command_line).to receive(:args).and_return(%w{--logdest /my/file})
114
113
 
115
- Puppet::Util::Log.expects(:newdestination).with("/my/file")
114
+ expect(Puppet::Util::Log).to receive(:newdestination).with("/my/file")
116
115
 
117
116
  @device.parse_options
118
117
  end
119
118
 
120
119
  it "should store the waitforcert options with --waitforcert" do
121
- @device.options.expects(:[]=).with(:waitforcert,42)
120
+ expect(@device.options).to receive(:[]=).with(:waitforcert,42)
122
121
 
123
122
  @device.handle_waitforcert("42")
124
123
  end
@@ -129,19 +128,19 @@ describe Puppet::Application::Device do
129
128
  end
130
129
 
131
130
  it "should store the target options with --target" do
132
- @device.options.expects(:[]=).with(:target,'test123')
131
+ expect(@device.options).to receive(:[]=).with(:target,'test123')
133
132
 
134
133
  @device.handle_target('test123')
135
134
  end
136
135
 
137
136
  it "should store the resource options with --resource" do
138
- @device.options.expects(:[]=).with(:resource,true)
137
+ expect(@device.options).to receive(:[]=).with(:resource,true)
139
138
 
140
139
  @device.handle_resource(true)
141
140
  end
142
141
 
143
142
  it "should store the facts options with --facts" do
144
- @device.options.expects(:[]=).with(:facts,true)
143
+ expect(@device.options).to receive(:[]=).with(:facts,true)
145
144
 
146
145
  @device.handle_facts(true)
147
146
  end
@@ -149,84 +148,83 @@ describe Puppet::Application::Device do
149
148
 
150
149
  describe "during setup" do
151
150
  before :each do
152
- @device.options.stubs(:[])
151
+ allow(@device.options).to receive(:[])
153
152
  Puppet[:libdir] = "/dev/null/lib"
154
- Puppet::SSL::Host.stubs(:ca_location=)
155
- Puppet::Transaction::Report.indirection.stubs(:terminus_class=)
156
- Puppet::Resource::Catalog.indirection.stubs(:terminus_class=)
157
- Puppet::Resource::Catalog.indirection.stubs(:cache_class=)
158
- Puppet::Node::Facts.indirection.stubs(:terminus_class=)
159
- @host = stub_everything 'host'
160
- Puppet::SSL::Host.stubs(:new).returns(@host)
161
- Puppet.stubs(:settraps)
153
+ allow(Puppet::SSL::Host).to receive(:ca_location=)
154
+ allow(Puppet::Transaction::Report.indirection).to receive(:terminus_class=)
155
+ allow(Puppet::Resource::Catalog.indirection).to receive(:terminus_class=)
156
+ allow(Puppet::Resource::Catalog.indirection).to receive(:cache_class=)
157
+ allow(Puppet::Node::Facts.indirection).to receive(:terminus_class=)
158
+ @host = double('host')
159
+ allow(Puppet::SSL::Host).to receive(:new).and_return(@host)
160
+ allow(Puppet).to receive(:settraps)
162
161
  end
163
162
 
164
163
  it "should call setup_logs" do
165
- @device.expects(:setup_logs)
164
+ expect(@device).to receive(:setup_logs)
166
165
  @device.setup
167
166
  end
168
167
 
169
168
  describe "when setting up logs" do
170
169
  before :each do
171
- Puppet::Util::Log.stubs(:newdestination)
170
+ allow(Puppet::Util::Log).to receive(:newdestination)
172
171
  end
173
172
 
174
173
  it "should set log level to debug if --debug was passed" do
175
- @device.options.stubs(:[]).with(:debug).returns(true)
174
+ allow(@device.options).to receive(:[]).with(:debug).and_return(true)
176
175
  @device.setup_logs
177
176
  expect(Puppet::Util::Log.level).to eq(:debug)
178
177
  end
179
178
 
180
179
  it "should set log level to info if --verbose was passed" do
181
- @device.options.stubs(:[]).with(:verbose).returns(true)
180
+ allow(@device.options).to receive(:[]).with(:verbose).and_return(true)
182
181
  @device.setup_logs
183
182
  expect(Puppet::Util::Log.level).to eq(:info)
184
183
  end
185
184
 
186
185
  [:verbose, :debug].each do |level|
187
186
  it "should set console as the log destination with level #{level}" do
188
- @device.options.stubs(:[]).with(level).returns(true)
187
+ allow(@device.options).to receive(:[]).with(level).and_return(true)
189
188
 
190
- Puppet::Util::Log.expects(:newdestination).with(:console)
189
+ expect(Puppet::Util::Log).to receive(:newdestination).with(:console)
191
190
 
192
191
  @device.setup_logs
193
192
  end
194
193
  end
195
194
 
196
195
  it "should set a default log destination if no --logdest" do
197
- @device.options.stubs(:[]).with(:setdest).returns(false)
196
+ allow(@device.options).to receive(:[]).with(:setdest).and_return(false)
198
197
 
199
- Puppet::Util::Log.expects(:setup_default)
198
+ expect(Puppet::Util::Log).to receive(:setup_default)
200
199
 
201
200
  @device.setup_logs
202
201
  end
203
-
204
202
  end
205
203
 
206
204
  it "should set a central log destination with --centrallogs" do
207
- @device.options.stubs(:[]).with(:centrallogs).returns(true)
205
+ allow(@device.options).to receive(:[]).with(:centrallogs).and_return(true)
208
206
  Puppet[:server] = "puppet.reductivelabs.com"
209
- Puppet::Util::Log.stubs(:newdestination).with(:syslog)
207
+ allow(Puppet::Util::Log).to receive(:newdestination).with(:syslog)
210
208
 
211
- Puppet::Util::Log.expects(:newdestination).with("puppet.reductivelabs.com")
209
+ expect(Puppet::Util::Log).to receive(:newdestination).with("puppet.reductivelabs.com")
212
210
 
213
211
  @device.setup
214
212
  end
215
213
 
216
214
  it "should use :main, :agent, :device and :ssl config" do
217
- Puppet.settings.expects(:use).with(:main, :agent, :device, :ssl)
215
+ expect(Puppet.settings).to receive(:use).with(:main, :agent, :device, :ssl)
218
216
 
219
217
  @device.setup
220
218
  end
221
219
 
222
220
  it "should install a remote ca location" do
223
- Puppet::SSL::Host.expects(:ca_location=).with(:remote)
221
+ expect(Puppet::SSL::Host).to receive(:ca_location=).with(:remote)
224
222
 
225
223
  @device.setup
226
224
  end
227
225
 
228
226
  it "should tell the report handler to use REST" do
229
- Puppet::Transaction::Report.indirection.expects(:terminus_class=).with(:rest)
227
+ expect(Puppet::Transaction::Report.indirection).to receive(:terminus_class=).with(:rest)
230
228
 
231
229
  @device.setup
232
230
  end
@@ -242,7 +240,7 @@ describe Puppet::Application::Device do
242
240
  end
243
241
 
244
242
  it "has an application default :catalog_cache_terminus setting of 'json'" do
245
- Puppet::Resource::Catalog.indirection.expects(:cache_class=).with(:json)
243
+ expect(Puppet::Resource::Catalog.indirection).to receive(:cache_class=).with(:json)
246
244
 
247
245
  @device.initialize_app_defaults
248
246
  @device.setup
@@ -250,7 +248,7 @@ describe Puppet::Application::Device do
250
248
 
251
249
  it "should tell the catalog cache class based on the :catalog_cache_terminus setting" do
252
250
  Puppet[:catalog_cache_terminus] = "yaml"
253
- Puppet::Resource::Catalog.indirection.expects(:cache_class=).with(:yaml)
251
+ expect(Puppet::Resource::Catalog.indirection).to receive(:cache_class=).with(:yaml)
254
252
 
255
253
  @device.initialize_app_defaults
256
254
  @device.setup
@@ -258,7 +256,7 @@ describe Puppet::Application::Device do
258
256
 
259
257
  it "should not set catalog cache class if :catalog_cache_terminus is explicitly nil" do
260
258
  Puppet[:catalog_cache_terminus] = nil
261
- Puppet::Resource::Catalog.indirection.expects(:cache_class=).never
259
+ expect(Puppet::Resource::Catalog.indirection).not_to receive(:cache_class=)
262
260
 
263
261
  @device.initialize_app_defaults
264
262
  @device.setup
@@ -272,18 +270,19 @@ describe Puppet::Application::Device do
272
270
 
273
271
  describe "when initializing each devices SSL" do
274
272
  before(:each) do
275
- @host = stub_everything 'host'
276
- Puppet::SSL::Host.stubs(:new).returns(@host)
273
+ @host = double('host')
274
+ allow(@host).to receive(:wait_for_cert)
275
+ allow(Puppet::SSL::Host).to receive(:new).and_return(@host)
277
276
  end
278
277
 
279
278
  it "should create a new ssl host" do
280
- Puppet::SSL::Host.expects(:new).returns(@host)
279
+ expect(Puppet::SSL::Host).to receive(:new).and_return(@host)
281
280
  @device.setup_host
282
281
  end
283
282
 
284
283
  it "should wait for a certificate" do
285
- @device.options.stubs(:[]).with(:waitforcert).returns(123)
286
- @host.expects(:wait_for_cert).with(123)
284
+ allow(@device.options).to receive(:[]).with(:waitforcert).and_return(123)
285
+ expect(@host).to receive(:wait_for_cert).with(123)
287
286
 
288
287
  @device.setup_host
289
288
  end
@@ -291,112 +290,112 @@ describe Puppet::Application::Device do
291
290
 
292
291
  describe "when running" do
293
292
  before :each do
294
- @device.options.stubs(:[]).with(:fingerprint).returns(false)
295
- Puppet.stubs(:notice)
296
- @device.options.stubs(:[]).with(:detailed_exitcodes).returns(false)
297
- @device.options.stubs(:[]).with(:target).returns(nil)
298
- @device.options.stubs(:[]).with(:apply).returns(nil)
299
- @device.options.stubs(:[]).with(:facts).returns(false)
300
- @device.options.stubs(:[]).with(:resource).returns(false)
301
- @device.options.stubs(:[]).with(:to_yaml).returns(false)
302
- @device.options.stubs(:[]).with(:libdir).returns(nil)
303
- @device.options.stubs(:[]).with(:client)
304
- @device.command_line.stubs(:args).returns([])
305
- Puppet::Util::NetworkDevice::Config.stubs(:devices).returns({})
293
+ allow(@device.options).to receive(:[]).with(:fingerprint).and_return(false)
294
+ allow(Puppet).to receive(:notice)
295
+ allow(@device.options).to receive(:[]).with(:detailed_exitcodes).and_return(false)
296
+ allow(@device.options).to receive(:[]).with(:target).and_return(nil)
297
+ allow(@device.options).to receive(:[]).with(:apply).and_return(nil)
298
+ allow(@device.options).to receive(:[]).with(:facts).and_return(false)
299
+ allow(@device.options).to receive(:[]).with(:resource).and_return(false)
300
+ allow(@device.options).to receive(:[]).with(:to_yaml).and_return(false)
301
+ allow(@device.options).to receive(:[]).with(:libdir).and_return(nil)
302
+ allow(@device.options).to receive(:[]).with(:client)
303
+ allow(@device.command_line).to receive(:args).and_return([])
304
+ allow(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return({})
306
305
  end
307
306
 
308
307
  it "should dispatch to main" do
309
- @device.stubs(:main)
308
+ allow(@device).to receive(:main)
310
309
  @device.run_command
311
310
  end
312
311
 
313
312
  it "should exit if resource is requested without target" do
314
- @device.options.stubs(:[]).with(:resource).returns(true)
313
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
315
314
  expect { @device.main }.to raise_error(RuntimeError, "resource command requires target")
316
315
  end
317
316
 
318
317
  it "should exit if facts is requested without target" do
319
- @device.options.stubs(:[]).with(:facts).returns(true)
318
+ allow(@device.options).to receive(:[]).with(:facts).and_return(true)
320
319
  expect { @device.main }.to raise_error(RuntimeError, "facts command requires target")
321
320
  end
322
321
 
323
322
  it "should get the device list" do
324
- device_hash = stub_everything 'device hash'
325
- Puppet::Util::NetworkDevice::Config.expects(:devices).returns(device_hash)
323
+ device_hash = {}
324
+ expect(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(device_hash)
326
325
  expect { @device.main }.to exit_with 1
327
326
  end
328
327
 
329
328
  it "should get a single device, when a valid target parameter is passed" do
330
- @device.options.stubs(:[]).with(:target).returns('device1')
329
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
331
330
 
332
331
  device_hash = {
333
332
  "device1" => OpenStruct.new(:name => "device1", :url => "ssh://user:pass@testhost", :provider => "cisco"),
334
333
  "device2" => OpenStruct.new(:name => "device2", :url => "https://user:pass@testhost/some/path", :provider => "rest"),
335
334
  }
336
335
 
337
- Puppet::Util::NetworkDevice::Config.expects(:devices).returns(device_hash)
338
- URI.expects(:parse).with("ssh://user:pass@testhost")
339
- URI.expects(:parse).with("https://user:pass@testhost/some/path").never
336
+ expect(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(device_hash)
337
+ expect(URI).to receive(:parse).with("ssh://user:pass@testhost")
338
+ expect(URI).not_to receive(:parse).with("https://user:pass@testhost/some/path")
340
339
  expect { @device.main }.to exit_with 1
341
340
  end
342
341
 
343
342
  it "should exit, when an invalid target parameter is passed" do
344
- @device.options.stubs(:[]).with(:target).returns('bla')
343
+ allow(@device.options).to receive(:[]).with(:target).and_return('bla')
345
344
  device_hash = {
346
345
  "device1" => OpenStruct.new(:name => "device1", :url => "ssh://user:pass@testhost", :provider => "cisco"),
347
346
  }
348
347
 
349
- Puppet::Util::NetworkDevice::Config.expects(:devices).returns(device_hash)
350
- Puppet.expects(:info).with(regexp_matches(/starting applying configuration to/)).never
348
+ expect(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(device_hash)
349
+ expect(Puppet).not_to receive(:info).with(/starting applying configuration to/)
351
350
  expect { @device.main }.to raise_error(RuntimeError, /Target device \/ certificate 'bla' not found in .*\.conf/)
352
351
  end
353
352
 
354
353
  it "should error if target is passed and the apply path is incorrect" do
355
- @device.options.stubs(:[]).with(:apply).returns('file.pp')
356
- @device.options.stubs(:[]).with(:target).returns('device1')
354
+ allow(@device.options).to receive(:[]).with(:apply).and_return('file.pp')
355
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
357
356
 
358
- File.expects(:file?).returns(false)
357
+ expect(File).to receive(:file?).and_return(false)
359
358
  expect { @device.main }.to raise_error(RuntimeError, /does not exist, cannot apply/)
360
359
  end
361
360
 
362
361
  it "should run an apply, and not create the state folder" do
363
- @device.options.stubs(:[]).with(:apply).returns('file.pp')
364
- @device.options.stubs(:[]).with(:target).returns('device1')
362
+ allow(@device.options).to receive(:[]).with(:apply).and_return('file.pp')
363
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
365
364
  device_hash = {
366
365
  "device1" => OpenStruct.new(:name => "device1", :url => "ssh://user:pass@testhost", :provider => "cisco"),
367
366
  }
368
- Puppet::Util::NetworkDevice::Config.expects(:devices).returns(device_hash)
369
- Puppet::Util::NetworkDevice.stubs(:init)
370
- File.expects(:file?).returns(true)
367
+ expect(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(device_hash)
368
+ allow(Puppet::Util::NetworkDevice).to receive(:init)
369
+ expect(File).to receive(:file?).and_return(true)
371
370
 
372
- ::File.stubs(:directory?).returns false
371
+ allow(::File).to receive(:directory?).and_return(false)
373
372
  state_path = tmpfile('state')
374
373
  Puppet[:statedir] = state_path
375
- File.expects(:directory?).with(state_path).returns true
376
- FileUtils.expects(:mkdir_p).with(state_path).never
374
+ expect(File).to receive(:directory?).with(state_path).and_return(true)
375
+ expect(FileUtils).not_to receive(:mkdir_p).with(state_path)
377
376
 
378
- Puppet::Util::CommandLine.expects(:new).once
379
- Puppet::Application::Apply.expects(:new).once
377
+ expect(Puppet::Util::CommandLine).to receive(:new).once
378
+ expect(Puppet::Application::Apply).to receive(:new).once
380
379
 
381
- Puppet::Configurer.expects(:new).never
380
+ expect(Puppet::Configurer).not_to receive(:new)
382
381
  expect { @device.main }.to exit_with 1
383
382
  end
384
383
 
385
384
  it "should run an apply, and create the state folder" do
386
- @device.options.stubs(:[]).with(:apply).returns('file.pp')
387
- @device.options.stubs(:[]).with(:target).returns('device1')
385
+ allow(@device.options).to receive(:[]).with(:apply).and_return('file.pp')
386
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
388
387
  device_hash = {
389
388
  "device1" => OpenStruct.new(:name => "device1", :url => "ssh://user:pass@testhost", :provider => "cisco"),
390
389
  }
391
- Puppet::Util::NetworkDevice::Config.expects(:devices).returns(device_hash)
392
- Puppet::Util::NetworkDevice.stubs(:init)
393
- File.expects(:file?).returns(true)
394
- FileUtils.expects(:mkdir_p).once
390
+ expect(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(device_hash)
391
+ allow(Puppet::Util::NetworkDevice).to receive(:init)
392
+ expect(File).to receive(:file?).and_return(true)
393
+ expect(FileUtils).to receive(:mkdir_p).once
395
394
 
396
- Puppet::Util::CommandLine.expects(:new).once
397
- Puppet::Application::Apply.expects(:new).once
395
+ expect(Puppet::Util::CommandLine).to receive(:new).once
396
+ expect(Puppet::Application::Apply).to receive(:new).once
398
397
 
399
- Puppet::Configurer.expects(:new).never
398
+ expect(Puppet::Configurer).not_to receive(:new)
400
399
  expect { @device.main }.to exit_with 1
401
400
  end
402
401
 
@@ -413,62 +412,63 @@ describe Puppet::Application::Device do
413
412
  "device1" => OpenStruct.new(:name => "device1", :url => "ssh://user:pass@testhost", :provider => "cisco"),
414
413
  "device2" => OpenStruct.new(:name => "device2", :url => "https://user:pass@testhost/some/path", :provider => "rest"),
415
414
  }
416
- Puppet::Util::NetworkDevice::Config.stubs(:devices).returns(@device_hash)
417
- Puppet.stubs(:[]=)
418
- Puppet.settings.stubs(:use)
419
- @device.stubs(:setup_host)
420
- Puppet::Util::NetworkDevice.stubs(:init)
421
- @configurer = stub_everything 'configurer'
422
- Puppet::Configurer.stubs(:new).returns(@configurer)
415
+ allow(Puppet::Util::NetworkDevice::Config).to receive(:devices).and_return(@device_hash)
416
+ allow(Puppet).to receive(:[]=)
417
+ allow(Puppet.settings).to receive(:use)
418
+ allow(@device).to receive(:setup_host)
419
+ allow(Puppet::Util::NetworkDevice).to receive(:init)
420
+ @configurer = double('configurer')
421
+ allow(@configurer).to receive(:run)
422
+ allow(Puppet::Configurer).to receive(:new).and_return(@configurer)
423
423
  end
424
424
 
425
425
  it "should set vardir to the device vardir" do
426
- Puppet.expects(:[]=).with(:vardir, make_absolute("/dummy/devices/device1"))
426
+ expect(Puppet).to receive(:[]=).with(:vardir, make_absolute("/dummy/devices/device1"))
427
427
  expect { @device.main }.to exit_with 1
428
428
  end
429
429
 
430
430
  it "should set confdir to the device confdir" do
431
- Puppet.expects(:[]=).with(:confdir, make_absolute("/dummy/devices/device1"))
431
+ expect(Puppet).to receive(:[]=).with(:confdir, make_absolute("/dummy/devices/device1"))
432
432
  expect { @device.main }.to exit_with 1
433
433
  end
434
434
 
435
435
  it "should set certname to the device certname" do
436
- Puppet.expects(:[]=).with(:certname, "device1")
437
- Puppet.expects(:[]=).with(:certname, "device2")
436
+ expect(Puppet).to receive(:[]=).with(:certname, "device1")
437
+ expect(Puppet).to receive(:[]=).with(:certname, "device2")
438
438
  expect { @device.main }.to exit_with 1
439
439
  end
440
440
 
441
441
  it "should raise an error if no type is given" do
442
- @device.options.stubs(:[]).with(:resource).returns(true)
443
- @device.options.stubs(:[]).with(:target).returns('device1')
444
- @device.command_line.stubs(:args).returns([])
445
- Puppet.expects(:log_exception).with {|e| e.message == "You must specify the type to display"}
442
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
443
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
444
+ allow(@device.command_line).to receive(:args).and_return([])
445
+ expect(Puppet).to receive(:log_exception) { |e| expect(e.message).to eq("You must specify the type to display") }
446
446
  expect { @device.main }.to exit_with 1
447
447
  end
448
448
 
449
449
  it "should raise an error if the type is not found" do
450
- @device.options.stubs(:[]).with(:resource).returns(true)
451
- @device.options.stubs(:[]).with(:target).returns('device1')
452
- @device.command_line.stubs(:args).returns(['nope'])
453
- Puppet.expects(:log_exception).with {|e| e.message == "Could not find type nope"}
450
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
451
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
452
+ allow(@device.command_line).to receive(:args).and_return(['nope'])
453
+ expect(Puppet).to receive(:log_exception) { |e| expect(e.message).to eq("Could not find type nope") }
454
454
  expect { @device.main }.to exit_with 1
455
455
  end
456
456
 
457
457
  it "should retrieve all resources of a type" do
458
- @device.options.stubs(:[]).with(:resource).returns(true)
459
- @device.options.stubs(:[]).with(:target).returns('device1')
460
- @device.command_line.stubs(:args).returns(['user'])
461
- Puppet::Resource.indirection.expects(:search).with('user/', {}).returns([])
458
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
459
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
460
+ allow(@device.command_line).to receive(:args).and_return(['user'])
461
+ expect(Puppet::Resource.indirection).to receive(:search).with('user/', {}).and_return([])
462
462
  expect { @device.main }.to exit_with 0
463
463
  end
464
464
 
465
465
  it "should retrieve named resources of a type" do
466
466
  resource = Puppet::Type.type(:user).new(:name => "jim").to_resource
467
- @device.options.stubs(:[]).with(:resource).returns(true)
468
- @device.options.stubs(:[]).with(:target).returns('device1')
469
- @device.command_line.stubs(:args).returns(['user', 'jim'])
470
- Puppet::Resource.indirection.expects(:find).with('user/jim').returns(resource)
471
- @device.expects(:puts).with("user { 'jim':\n}")
467
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
468
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
469
+ allow(@device.command_line).to receive(:args).and_return(['user', 'jim'])
470
+ expect(Puppet::Resource.indirection).to receive(:find).with('user/jim').and_return(resource)
471
+ expect(@device).to receive(:puts).with("user { 'jim':\n}")
472
472
  expect { @device.main }.to exit_with 0
473
473
  end
474
474
 
@@ -476,90 +476,92 @@ describe Puppet::Application::Device do
476
476
  resources = [
477
477
  Puppet::Type.type(:user).new(:name => "title").to_resource,
478
478
  ]
479
- @device.options.stubs(:[]).with(:resource).returns(true)
480
- @device.options.stubs(:[]).with(:target).returns('device1')
481
- @device.options.stubs(:[]).with(:to_yaml).returns(true)
482
- @device.command_line.stubs(:args).returns(['user'])
483
- Puppet::Resource.indirection.expects(:search).with('user/', {}).returns(resources)
484
- @device.expects(:puts).with("user:\n title:\n")
479
+ allow(@device.options).to receive(:[]).with(:resource).and_return(true)
480
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
481
+ allow(@device.options).to receive(:[]).with(:to_yaml).and_return(true)
482
+ allow(@device.command_line).to receive(:args).and_return(['user'])
483
+ expect(Puppet::Resource.indirection).to receive(:search).with('user/', {}).and_return(resources)
484
+ expect(@device).to receive(:puts).with("user:\n title:\n")
485
485
  expect { @device.main }.to exit_with 0
486
486
  end
487
487
 
488
488
  it "should retrieve facts" do
489
489
  indirection_fact_values = {"operatingsystem"=>"cisco_ios","clientcert"=>"3750"}
490
490
  indirection_facts = Puppet::Node::Facts.new("nil", indirection_fact_values)
491
- @device.options.stubs(:[]).with(:facts).returns(true)
492
- @device.options.stubs(:[]).with(:target).returns('device1')
493
- Puppet::Node::Facts.indirection.expects(:find).with(nil, anything()).returns(indirection_facts)
494
- @device.expects(:puts).with(regexp_matches(/name.*3750.*\n.*values.*\n.*operatingsystem.*cisco_ios/))
491
+ allow(@device.options).to receive(:[]).with(:facts).and_return(true)
492
+ allow(@device.options).to receive(:[]).with(:target).and_return('device1')
493
+ expect(Puppet::Node::Facts.indirection).to receive(:find).with(nil, anything()).and_return(indirection_facts)
494
+ expect(@device).to receive(:puts).with(/name.*3750.*\n.*values.*\n.*operatingsystem.*cisco_ios/)
495
495
  expect { @device.main }.to exit_with 0
496
496
  end
497
497
 
498
498
  it "should make sure all the required folders and files are created" do
499
- Puppet.settings.expects(:use).with(:main, :agent, :ssl).twice
499
+ expect(Puppet.settings).to receive(:use).with(:main, :agent, :ssl).twice
500
500
  expect { @device.main }.to exit_with 1
501
501
  end
502
502
 
503
503
  it "should initialize the device singleton" do
504
- Puppet::Util::NetworkDevice.expects(:init).with(@device_hash["device1"]).then.with(@device_hash["device2"])
504
+ expect(Puppet::Util::NetworkDevice).to receive(:init).with(@device_hash["device1"]).ordered
505
+ expect(Puppet::Util::NetworkDevice).to receive(:init).with(@device_hash["device2"]).ordered
505
506
  expect { @device.main }.to exit_with 1
506
507
  end
507
508
 
508
509
  it "should retrieve plugins and print the device url scheme, host, and port" do
509
- Puppet.stubs(:info)
510
- Puppet.expects(:info).with "Retrieving pluginfacts"
511
- Puppet.expects(:info).with "starting applying configuration to device1 at ssh://testhost"
512
- Puppet.expects(:info).with "starting applying configuration to device2 at https://testhost:443/some/path"
510
+ allow(Puppet).to receive(:info)
511
+ expect(Puppet).to receive(:info).with("Retrieving pluginfacts")
512
+ expect(Puppet).to receive(:info).with("starting applying configuration to device1 at ssh://testhost")
513
+ expect(Puppet).to receive(:info).with("starting applying configuration to device2 at https://testhost:443/some/path")
513
514
  expect { @device.main }.to exit_with 1
514
515
  end
515
516
 
516
517
  it "should setup the SSL context" do
517
- @device.expects(:setup_host).twice
518
+ expect(@device).to receive(:setup_host).twice
518
519
  expect { @device.main }.to exit_with 1
519
520
  end
520
521
 
521
522
  it "should launch a configurer for this device" do
522
- @configurer.expects(:run).twice
523
+ expect(@configurer).to receive(:run).twice
523
524
  expect { @device.main }.to exit_with 1
524
525
  end
525
526
 
526
527
  it "exits 1 when configurer raises error" do
527
- @configurer.stubs(:run).raises(Puppet::Error).then.returns(0)
528
+ expect(@configurer).to receive(:run).and_raise(Puppet::Error).ordered
529
+ expect(@configurer).to receive(:run).and_return(0).ordered
528
530
  expect { @device.main }.to exit_with 1
529
531
  end
530
532
 
531
533
  it "exits 0 when run happens without puppet errors but with failed run" do
532
- @configurer.stubs(:run).returns(6,2)
534
+ allow(@configurer).to receive(:run).and_return(6, 2)
533
535
  expect { @device.main }.to exit_with 0
534
536
  end
535
537
 
536
538
  it "should make the Puppet::Pops::Loaaders available" do
537
- @configurer.expects(:run).with(:network_device => true, :pluginsync => true) do
539
+ expect(@configurer).to receive(:run).with(:network_device => true, :pluginsync => true) do
538
540
  fail('Loaders not available') unless Puppet.lookup(:loaders) { nil }.is_a?(Puppet::Pops::Loaders)
539
541
  true
540
- end.at_least_once.returns(6,2)
542
+ end.and_return(6, 2)
541
543
  expect { @device.main }.to exit_with 0
542
544
  end
543
545
 
544
546
  it "exits 2 when --detailed-exitcodes and successful runs" do
545
- @device.options.stubs(:[]).with(:detailed_exitcodes).returns(true)
546
- @configurer.stubs(:run).returns(0,2)
547
+ allow(@device.options).to receive(:[]).with(:detailed_exitcodes).and_return(true)
548
+ allow(@configurer).to receive(:run).and_return(0, 2)
547
549
  expect { @device.main }.to exit_with 2
548
550
  end
549
551
 
550
552
  it "exits 1 when --detailed-exitcodes and failed parse" do
551
- @configurer = stub_everything 'configurer'
552
- Puppet::Configurer.stubs(:new).returns(@configurer)
553
- @device.options.stubs(:[]).with(:detailed_exitcodes).returns(true)
554
- @configurer.stubs(:run).returns(6,1)
553
+ @configurer = double('configurer')
554
+ allow(Puppet::Configurer).to receive(:new).and_return(@configurer)
555
+ allow(@device.options).to receive(:[]).with(:detailed_exitcodes).and_return(true)
556
+ allow(@configurer).to receive(:run).and_return(6, 1)
555
557
  expect { @device.main }.to exit_with 7
556
558
  end
557
559
 
558
560
  it "exits 6 when --detailed-exitcodes and failed run" do
559
- @configurer = stub_everything 'configurer'
560
- Puppet::Configurer.stubs(:new).returns(@configurer)
561
- @device.options.stubs(:[]).with(:detailed_exitcodes).returns(true)
562
- @configurer.stubs(:run).returns(6,2)
561
+ @configurer = double('configurer')
562
+ allow(Puppet::Configurer).to receive(:new).and_return(@configurer)
563
+ allow(@device.options).to receive(:[]).with(:detailed_exitcodes).and_return(true)
564
+ allow(@configurer).to receive(:run).and_return(6, 2)
563
565
  expect { @device.main }.to exit_with 6
564
566
  end
565
567
 
@@ -570,21 +572,15 @@ describe Puppet::Application::Device do
570
572
 
571
573
  # a block to use in a few places later to validate the updated settings
572
574
  p = Proc.new do |my_setting, my_value|
573
- if my_setting == setting && all_devices.include?(my_value)
574
- found_devices.add(my_value)
575
- true
576
- else
577
- false
578
- end
575
+ expect(all_devices).to include(my_value)
576
+ found_devices.add(my_value)
579
577
  end
580
578
 
581
- seq = sequence("clean up dirs")
582
-
583
579
  all_devices.size.times do
584
580
  ## one occurrence of set / run / set("/dummy") for each device
585
- Puppet.expects(:[]=).with(&p).in_sequence(seq)
586
- @configurer.expects(:run).in_sequence(seq)
587
- Puppet.expects(:[]=).with(setting, make_absolute("/dummy")).in_sequence(seq)
581
+ expect(Puppet).to receive(:[]=, &p).with(setting, anything).ordered
582
+ expect(@configurer).to receive(:run).ordered
583
+ expect(Puppet).to receive(:[]=).with(setting, make_absolute("/dummy")).ordered
588
584
  end
589
585
 
590
586
  expect { @device.main }.to exit_with 1
@@ -599,21 +595,16 @@ describe Puppet::Application::Device do
599
595
 
600
596
  # a block to use in a few places later to validate the updated settings
601
597
  p = Proc.new do |my_setting, my_value|
602
- if my_setting == :certname && all_devices.include?(my_value)
603
- found_devices.add(my_value)
604
- true
605
- else
606
- false
607
- end
598
+ expect(all_devices).to include(my_value)
599
+ found_devices.add(my_value)
608
600
  end
609
601
 
610
- seq = sequence("clean up certname")
611
-
602
+ allow(Puppet).to receive(:[]=)
612
603
  all_devices.size.times do
613
604
  ## one occurrence of set / run / set("certname") for each device
614
- Puppet.expects(:[]=).with(&p).in_sequence(seq)
615
- @configurer.expects(:run).in_sequence(seq)
616
- Puppet.expects(:[]=).with(:certname, "certname").in_sequence(seq)
605
+ expect(Puppet).to receive(:[]=, &p).with(:certname, anything).ordered
606
+ expect(@configurer).to receive(:run).ordered
607
+ expect(Puppet).to receive(:[]=).with(:certname, "certname").ordered
617
608
  end
618
609
 
619
610
 
@@ -624,7 +615,7 @@ describe Puppet::Application::Device do
624
615
  end
625
616
 
626
617
  it "should expire all cached attributes" do
627
- Puppet::SSL::Host.expects(:reset).twice
618
+ expect(Puppet::SSL::Host).to receive(:reset).twice
628
619
 
629
620
  expect { @device.main }.to exit_with 1
630
621
  end