puppet 6.0.10-universal-darwin → 6.1.0-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 (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/application/resource'
@@ -5,10 +6,9 @@ require 'puppet_spec/character_encoding'
5
6
 
6
7
  describe Puppet::Application::Resource do
7
8
  include PuppetSpec::Files
8
-
9
9
  before :each do
10
10
  @resource_app = Puppet::Application[:resource]
11
- allow(Puppet::Util::Log).to receive(:newdestination)
11
+ Puppet::Util::Log.stubs(:newdestination)
12
12
  end
13
13
 
14
14
  describe "in preinit" do
@@ -21,17 +21,17 @@ describe Puppet::Application::Resource do
21
21
  describe "when handling options" do
22
22
  [:debug, :verbose, :edit].each do |option|
23
23
  it "should store argument value when calling handle_#{option}" do
24
- expect(@resource_app.options).to receive(:[]=).with(option, 'arg')
24
+ @resource_app.options.expects(:[]=).with(option, 'arg')
25
25
  @resource_app.send("handle_#{option}".to_sym, 'arg')
26
26
  end
27
27
  end
28
28
 
29
29
  it "should load a display all types with types option" do
30
- type1 = double('type1', :name => :type1)
31
- type2 = double('type2', :name => :type2)
32
- allow(Puppet::Type).to receive(:loadall)
33
- allow(Puppet::Type).to receive(:eachtype).and_yield(type1).and_yield(type2)
34
- expect(@resource_app).to receive(:puts).with(['type1','type2'])
30
+ type1 = stub_everything 'type1', :name => :type1
31
+ type2 = stub_everything 'type2', :name => :type2
32
+ Puppet::Type.stubs(:loadall)
33
+ Puppet::Type.stubs(:eachtype).multiple_yields(type1,type2)
34
+ @resource_app.expects(:puts).with(['type1','type2'])
35
35
  expect { @resource_app.handle_types(nil) }.to exit_with 0
36
36
  end
37
37
 
@@ -43,10 +43,10 @@ describe Puppet::Application::Resource do
43
43
  end
44
44
 
45
45
  it "should get a parameter in the printed data if extra_params are passed" do
46
- tty = double("tty", :tty? => true )
46
+ tty = stub("tty", :tty? => true )
47
47
  path = tmpfile('testfile')
48
48
  command_line = Puppet::Util::CommandLine.new("puppet", [ 'resource', 'file', path ], tty )
49
- allow(@resource_app).to receive(:command_line).and_return(command_line)
49
+ @resource_app.stubs(:command_line).returns command_line
50
50
 
51
51
  # provider is a parameter that should always be available
52
52
  @resource_app.extra_params = [ :provider ]
@@ -57,70 +57,75 @@ describe Puppet::Application::Resource do
57
57
 
58
58
  describe "during setup" do
59
59
  before :each do
60
- allow(Puppet::Log).to receive(:newdestination)
60
+ Puppet::Log.stubs(:newdestination)
61
61
  end
62
62
 
63
63
  it "should set console as the log destination" do
64
- expect(Puppet::Log).to receive(:newdestination).with(:console)
64
+ Puppet::Log.expects(:newdestination).with(:console)
65
65
 
66
66
  @resource_app.setup
67
67
  end
68
68
 
69
69
  it "should set log level to debug if --debug was passed" do
70
- allow(@resource_app.options).to receive(:[]).with(:debug).and_return(true)
70
+ @resource_app.options.stubs(:[]).with(:debug).returns(true)
71
71
  @resource_app.setup
72
72
  expect(Puppet::Log.level).to eq(:debug)
73
73
  end
74
74
 
75
75
  it "should set log level to info if --verbose was passed" do
76
- allow(@resource_app.options).to receive(:[]).with(:debug).and_return(false)
77
- allow(@resource_app.options).to receive(:[]).with(:verbose).and_return(true)
76
+ @resource_app.options.stubs(:[]).with(:debug).returns(false)
77
+ @resource_app.options.stubs(:[]).with(:verbose).returns(true)
78
78
  @resource_app.setup
79
79
  expect(Puppet::Log.level).to eq(:info)
80
80
  end
81
+
81
82
  end
82
83
 
83
84
  describe "when running" do
84
85
  before :each do
85
- @type = double('type', :properties => [])
86
- allow(@resource_app.command_line).to receive(:args).and_return(['mytype'])
87
- allow(Puppet::Type).to receive(:type).and_return(@type)
86
+ @type = stub_everything 'type', :properties => []
87
+ @resource_app.command_line.stubs(:args).returns(['mytype'])
88
+ Puppet::Type.stubs(:type).returns(@type)
89
+
90
+ @res = stub_everything "resource"
91
+ @res.stubs(:prune_parameters).returns(@res)
92
+ @res.stubs(:to_manifest).returns("resource")
93
+ @report = stub_everything "report"
88
94
 
89
- @res = double("resource")
90
- allow(@res).to receive(:prune_parameters).and_return(@res)
91
- allow(@res).to receive(:to_manifest).and_return("resource")
92
- @report = double("report")
95
+ @resource_app.stubs(:puts)
93
96
 
94
- allow(@resource_app).to receive(:puts)
97
+ Puppet::Resource.indirection.stubs(:find ).never
98
+ Puppet::Resource.indirection.stubs(:search).never
99
+ Puppet::Resource.indirection.stubs(:save ).never
95
100
  end
96
101
 
97
102
  it "should raise an error if no type is given" do
98
- allow(@resource_app.command_line).to receive(:args).and_return([])
103
+ @resource_app.command_line.stubs(:args).returns([])
99
104
  expect { @resource_app.main }.to raise_error(RuntimeError, "You must specify the type to display")
100
105
  end
101
106
 
102
107
  it "should raise an error if the type is not found" do
103
- allow(Puppet::Type).to receive(:type).and_return(nil)
108
+ Puppet::Type.stubs(:type).returns(nil)
104
109
 
105
110
  expect { @resource_app.main }.to raise_error(RuntimeError, 'Could not find type mytype')
106
111
  end
107
112
 
108
113
  it "should search for resources" do
109
- expect(Puppet::Resource.indirection).to receive(:search).with('mytype/', {}).and_return([])
114
+ Puppet::Resource.indirection.expects(:search).with('mytype/', {}).returns([])
110
115
  @resource_app.main
111
116
  end
112
117
 
113
118
  it "should describe the given resource" do
114
- allow(@resource_app.command_line).to receive(:args).and_return(['type','name'])
115
- expect(Puppet::Resource.indirection).to receive(:find).with('type/name').and_return(@res)
119
+ @resource_app.command_line.stubs(:args).returns(['type','name'])
120
+ Puppet::Resource.indirection.expects(:find).with('type/name').returns(@res)
116
121
  @resource_app.main
117
122
  end
118
123
 
119
124
  it "should add given parameters to the object" do
120
- allow(@resource_app.command_line).to receive(:args).and_return(['type','name','param=temp'])
125
+ @resource_app.command_line.stubs(:args).returns(['type','name','param=temp'])
121
126
 
122
- expect(Puppet::Resource.indirection).to receive(:save).with(@res, 'type/name').and_return([@res, @report])
123
- expect(Puppet::Resource).to receive(:new).with('type', 'name', :parameters => {'param' => 'temp'}).and_return(@res)
127
+ Puppet::Resource.indirection.expects(:save).with(@res, 'type/name').returns([@res, @report])
128
+ Puppet::Resource.expects(:new).with('type', 'name', :parameters => {'param' => 'temp'}).returns(@res)
124
129
 
125
130
  @resource_app.main
126
131
  end
@@ -132,11 +137,11 @@ describe Puppet::Application::Resource do
132
137
  Puppet::Type.type(:user).new(:name => "\u2603".force_encoding(Encoding::UTF_8)).to_resource,
133
138
  Puppet::Type.type(:user).new(:name => "Jos\xE9".force_encoding(Encoding::ISO_8859_1)).to_resource
134
139
  ]
135
- expect(Puppet::Resource.indirection).to receive(:search).with('user/', {}).and_return(resources)
136
- allow(@resource_app.command_line).to receive(:args).and_return(['user'])
140
+ Puppet::Resource.indirection.expects(:search).with('user/', {}).returns(resources)
141
+ @resource_app.command_line.stubs(:args).returns(['user'])
137
142
 
138
143
  # All of our output should be in external encoding
139
- expect(@resource_app).to receive(:puts) { |args| expect(args.encoding).to eq(Encoding::ISO_8859_1) }
144
+ @resource_app.expects(:puts).with { |args| expect(args.encoding).to eq(Encoding::ISO_8859_1) }
140
145
 
141
146
  # This would raise an error if we weren't handling it
142
147
  PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
@@ -147,12 +152,12 @@ describe Puppet::Application::Resource do
147
152
 
148
153
  describe "when handling file type" do
149
154
  before :each do
150
- allow(Facter).to receive(:loadfacts)
155
+ Facter.stubs(:loadfacts)
151
156
  @resource_app.preinit
152
157
  end
153
158
 
154
159
  it "should raise an exception if no file specified" do
155
- allow(@resource_app.command_line).to receive(:args).and_return(['file'])
160
+ @resource_app.command_line.stubs(:args).returns(['file'])
156
161
 
157
162
  expect { @resource_app.main }.to raise_error(RuntimeError, /Listing all file instances is not supported/)
158
163
  end
@@ -160,10 +165,12 @@ describe Puppet::Application::Resource do
160
165
  it "should output a file resource when given a file path" do
161
166
  path = File.expand_path('/etc')
162
167
  res = Puppet::Type.type(:file).new(:path => path).to_resource
163
- expect(Puppet::Resource.indirection).to receive(:find).and_return(res)
168
+ Puppet::Resource.indirection.expects(:find).returns(res)
164
169
 
165
- allow(@resource_app.command_line).to receive(:args).and_return(['file', path])
166
- expect(@resource_app).to receive(:puts).with(/file \{ '#{Regexp.escape(path)}'/m)
170
+ @resource_app.command_line.stubs(:args).returns(['file', path])
171
+ @resource_app.expects(:puts).with do |args|
172
+ expect(args).to match(/file \{ '#{Regexp.escape(path)}'/m)
173
+ end
167
174
 
168
175
  @resource_app.main
169
176
  end
@@ -180,9 +187,8 @@ describe Puppet::Application::Resource do
180
187
  @instances ||= [new(:name => name)]
181
188
  end
182
189
  end
183
-
184
- allow(@resource_app.command_line).to receive(:args).and_return(['testing', 'hello'])
185
- expect(@resource_app).to receive(:puts).with("testing { 'hello':\n}")
190
+ @resource_app.command_line.stubs(:args).returns(['testing', 'hello'])
191
+ @resource_app.expects(:puts).with { |args| expect(args).to eql("testing { 'hello':\n}") }
186
192
  expect { @resource_app.main }.not_to raise_error
187
193
  end
188
194
  end
@@ -105,11 +105,6 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
105
105
 
106
106
  it_behaves_like 'an ssl action'
107
107
 
108
- it 'registers OIDs' do
109
- expect(Puppet::SSL::Oids).to receive(:register_puppet_oids)
110
- expects_command_to_fail(%r{Failed to submit certificate request})
111
- end
112
-
113
108
  it 'submits the CSR and saves it locally' do
114
109
  stub_request(:get, %r{puppet-ca/v1/certificate_request/#{name}}).to_return(status: 404)
115
110
  stub_request(:put, %r{puppet-ca/v1/certificate_request/#{name}}).to_return(status: 200)
@@ -151,8 +146,8 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
151
146
  end.to_return(status: 200)
152
147
  stub_request(:get, %r{puppet-ca/v1/certificate/#{name}}).to_return(status: 404)
153
148
 
154
- allow(Puppet).to receive(:warning) # ignore unrelated warnings
155
- expect(Puppet).to receive(:warning).with("The local CSR does not match the agent's public key. Generating a new CSR.")
149
+ Puppet.stubs(:warning) # ignore unrelated warnings
150
+ Puppet.expects(:warning).with("The local CSR does not match the agent's public key. Generating a new CSR.")
156
151
  expects_command_to_pass(%r{Submitted certificate request for '#{name}' to https://.*})
157
152
  end
158
153
 
@@ -271,7 +266,7 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
271
266
  end
272
267
 
273
268
  it 'reports when verification succeeds' do
274
- allow_any_instance_of(OpenSSL::X509::Store).to receive(:verify).and_return(true)
269
+ OpenSSL::X509::Store.any_instance.stubs(:verify).returns(true)
275
270
 
276
271
  expects_command_to_pass(/Verified certificate '#{name}'/)
277
272
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/application'
@@ -6,11 +7,13 @@ require 'getoptlong'
6
7
  require 'timeout'
7
8
 
8
9
  describe Puppet::Application do
10
+
9
11
  before(:each) do
10
12
  @app = Class.new(Puppet::Application).new
11
13
  @appclass = @app.class
12
14
 
13
- allow(@app).to receive(:name).and_return("test_app")
15
+ @app.stubs(:name).returns("test_app")
16
+
14
17
  end
15
18
 
16
19
  describe "application commandline" do
@@ -29,8 +32,8 @@ describe Puppet::Application do
29
32
 
30
33
  describe "application defaults" do
31
34
  it "should fail if required app default values are missing" do
32
- allow(@app).to receive(:app_defaults).and_return({ :foo => 'bar' })
33
- expect(Puppet).to receive(:send_log).with(:err, /missing required app default setting/)
35
+ @app.stubs(:app_defaults).returns({ :foo => 'bar' })
36
+ Puppet.expects(:send_log).with(:err, regexp_matches(/missing required app default setting/))
34
37
  expect {
35
38
  @app.run
36
39
  }.to exit_with(1)
@@ -40,7 +43,7 @@ describe Puppet::Application do
40
43
  describe "finding" do
41
44
  before do
42
45
  @klass = Puppet::Application
43
- allow(@klass).to receive(:puts)
46
+ @klass.stubs(:puts)
44
47
  end
45
48
 
46
49
  it "should find classes in the namespace" do
@@ -52,10 +55,10 @@ describe Puppet::Application do
52
55
  end
53
56
 
54
57
  it "should error if it can't find a class" do
55
- expect(Puppet).to receive(:send_log) do |_level, message|
56
- expect(message).to match(/Unable to find application 'ThisShallNeverEverEverExist'/)
57
- expect(message).to match(/puppet\/application\/thisshallneverevereverexist/)
58
- expect(message).to match(/no such file to load|cannot load such file/)
58
+ Puppet.expects(:send_log).with do |_level, message|
59
+ message =~ /Unable to find application 'ThisShallNeverEverEverExist'/ and
60
+ message =~ /puppet\/application\/thisshallneverevereverexist/ and
61
+ message =~ /no such file to load|cannot load such file/
59
62
  end
60
63
 
61
64
  expect {
@@ -67,43 +70,43 @@ describe Puppet::Application do
67
70
  describe "#available_application_names" do
68
71
  it 'should be able to find available application names' do
69
72
  apps = %w{describe filebucket kick queue resource agent cert apply doc master}
70
- expect(Puppet::Util::Autoload).to receive(:files_to_load).and_return(apps)
73
+ Puppet::Util::Autoload.expects(:files_to_load).returns(apps)
71
74
 
72
75
  expect(Puppet::Application.available_application_names).to match_array(apps)
73
76
  end
74
77
 
75
78
  it 'should find applications from multiple paths' do
76
- expect(Puppet::Util::Autoload).to receive(:files_to_load).with(
79
+ Puppet::Util::Autoload.expects(:files_to_load).with(
77
80
  'puppet/application',
78
- be_a(Puppet::Node::Environment)
79
- ).and_return(%w{ /a/foo.rb /b/bar.rb })
81
+ is_a(Puppet::Node::Environment)
82
+ ).returns(%w{ /a/foo.rb /b/bar.rb })
80
83
 
81
84
  expect(Puppet::Application.available_application_names).to match_array(%w{ foo bar })
82
85
  end
83
86
 
84
87
  it 'should return unique application names' do
85
- expect(Puppet::Util::Autoload).to receive(:files_to_load).with(
88
+ Puppet::Util::Autoload.expects(:files_to_load).with(
86
89
  'puppet/application',
87
- be_a(Puppet::Node::Environment)
88
- ).and_return(%w{ /a/foo.rb /b/foo.rb })
90
+ is_a(Puppet::Node::Environment)
91
+ ).returns(%w{ /a/foo.rb /b/foo.rb })
89
92
 
90
93
  expect(Puppet::Application.available_application_names).to eq(%w{ foo })
91
94
  end
92
95
 
93
96
  it 'finds the application using the configured environment' do
94
97
  Puppet[:environment] = 'production'
95
- expect(Puppet::Util::Autoload).to receive(:files_to_load) do |_, env|
98
+ Puppet::Util::Autoload.expects(:files_to_load).with do |_, env|
96
99
  expect(env.name).to eq(:production)
97
- end.and_return(%w{ /a/foo.rb })
100
+ end.returns(%w{ /a/foo.rb })
98
101
 
99
102
  expect(Puppet::Application.available_application_names).to eq(%w{ foo })
100
103
  end
101
104
 
102
105
  it "falls back to the current environment if the configured environment doesn't exist" do
103
106
  Puppet[:environment] = 'doesnotexist'
104
- expect(Puppet::Util::Autoload).to receive(:files_to_load) do |_, env|
107
+ Puppet::Util::Autoload.expects(:files_to_load).with do |_, env|
105
108
  expect(env.name).to eq(:'*root*')
106
- end.and_return(%w[a/foo.rb])
109
+ end.returns(%w[a/foo.rb])
107
110
 
108
111
  expect(Puppet::Application.available_application_names).to eq(%w[foo])
109
112
  end
@@ -154,7 +157,7 @@ describe Puppet::Application do
154
157
  end
155
158
 
156
159
  it "should sadly and frighteningly allow run_mode to change at runtime via #initialize_app_defaults" do
157
- allow(Puppet.features).to receive(:syslog?).and_return(true)
160
+ Puppet.features.stubs(:syslog?).returns(true)
158
161
 
159
162
  app = TestApp.new
160
163
  app.initialize_app_defaults
@@ -204,7 +207,7 @@ describe Puppet::Application do
204
207
  end
205
208
 
206
209
  it "should invoke main as the default" do
207
- expect(@app).to receive(:main)
210
+ @app.expects( :main )
208
211
  @app.run_command
209
212
  end
210
213
 
@@ -300,8 +303,8 @@ describe Puppet::Application do
300
303
  describe 'when performing a controlled_run' do
301
304
  it 'should not execute block if not :clear?' do
302
305
  Puppet::Application.run_status = :stop_requested
303
- target = double('target')
304
- expect(target).not_to receive(:some_method)
306
+ target = mock 'target'
307
+ target.expects(:some_method).never
305
308
  Puppet::Application.controlled_run do
306
309
  target.some_method
307
310
  end
@@ -309,8 +312,8 @@ describe Puppet::Application do
309
312
 
310
313
  it 'should execute block if :clear?' do
311
314
  Puppet::Application.run_status = nil
312
- target = double('target')
313
- expect(target).to receive(:some_method).once
315
+ target = mock 'target'
316
+ target.expects(:some_method).once
314
317
  Puppet::Application.controlled_run do
315
318
  target.some_method
316
319
  end
@@ -349,37 +352,40 @@ describe Puppet::Application do
349
352
  end
350
353
 
351
354
  describe "when parsing command-line options" do
355
+
352
356
  before :each do
353
- allow(@app.command_line).to receive(:args).and_return([])
357
+ @app.command_line.stubs(:args).returns([])
354
358
 
355
- allow(Puppet.settings).to receive(:optparse_addargs).and_return([])
359
+ Puppet.settings.stubs(:optparse_addargs).returns([])
356
360
  end
357
361
 
358
362
  it "should pass the banner to the option parser" do
359
- option_parser = double("option parser")
360
- allow(option_parser).to receive(:on)
361
- allow(option_parser).to receive(:parse!)
363
+ option_parser = stub "option parser"
364
+ option_parser.stubs(:on)
365
+ option_parser.stubs(:parse!)
362
366
  @app.class.instance_eval do
363
367
  banner "banner"
364
368
  end
365
369
 
366
- expect(OptionParser).to receive(:new).with("banner").and_return(option_parser)
370
+ OptionParser.expects(:new).with("banner").returns(option_parser)
367
371
 
368
372
  @app.parse_options
369
373
  end
370
374
 
371
375
  it "should ask OptionParser to parse the command-line argument" do
372
- allow(@app.command_line).to receive(:args).and_return(%w{ fake args })
373
- expect_any_instance_of(OptionParser).to receive(:parse!).with(%w{ fake args })
376
+ @app.command_line.stubs(:args).returns(%w{ fake args })
377
+ OptionParser.any_instance.expects(:parse!).with(%w{ fake args })
374
378
 
375
379
  @app.parse_options
376
380
  end
377
381
 
378
382
  describe "when using --help" do
383
+
379
384
  it "should call exit" do
380
- allow(@app).to receive(:puts)
385
+ @app.stubs(:puts)
381
386
  expect { @app.handle_help(nil) }.to exit_with 0
382
387
  end
388
+
383
389
  end
384
390
 
385
391
  describe "when using --version" do
@@ -388,65 +394,66 @@ describe Puppet::Application do
388
394
  end
389
395
 
390
396
  it "should exit after printing the version" do
391
- allow(@app).to receive(:puts)
397
+ @app.stubs(:puts)
392
398
  expect { @app.handle_version(nil) }.to exit_with 0
393
399
  end
394
400
  end
395
401
 
396
402
  describe "when dealing with an argument not declared directly by the application" do
397
403
  it "should pass it to handle_unknown if this method exists" do
398
- allow(Puppet.settings).to receive(:optparse_addargs).and_return([["--not-handled", :REQUIRED]])
404
+ Puppet.settings.stubs(:optparse_addargs).returns([["--not-handled", :REQUIRED]])
399
405
 
400
- expect(@app).to receive(:handle_unknown).with("--not-handled", "value").and_return(true)
401
- allow(@app.command_line).to receive(:args).and_return(["--not-handled", "value"])
406
+ @app.expects(:handle_unknown).with("--not-handled", "value").returns(true)
407
+ @app.command_line.stubs(:args).returns(["--not-handled", "value"])
402
408
  @app.parse_options
403
409
  end
404
410
 
405
411
  it "should transform boolean option to normal form for Puppet.settings" do
406
- expect(@app).to receive(:handle_unknown).with("--option", true)
412
+ @app.expects(:handle_unknown).with("--option", true)
407
413
  @app.send(:handlearg, "--[no-]option", true)
408
414
  end
409
415
 
410
416
  it "should transform boolean option to no- form for Puppet.settings" do
411
- expect(@app).to receive(:handle_unknown).with("--no-option", false)
417
+ @app.expects(:handle_unknown).with("--no-option", false)
412
418
  @app.send(:handlearg, "--[no-]option", false)
413
419
  end
420
+
414
421
  end
415
422
  end
416
423
 
417
424
  describe "when calling default setup" do
418
425
  before :each do
419
- allow(@app.options).to receive(:[])
426
+ @app.options.stubs(:[])
420
427
  end
421
428
 
422
429
  [ :debug, :verbose ].each do |level|
423
430
  it "should honor option #{level}" do
424
- allow(@app.options).to receive(:[]).with(level).and_return(true)
425
- allow(Puppet::Util::Log).to receive(:newdestination)
431
+ @app.options.stubs(:[]).with(level).returns(true)
432
+ Puppet::Util::Log.stubs(:newdestination)
426
433
  @app.setup
427
434
  expect(Puppet::Util::Log.level).to eq(level == :verbose ? :info : :debug)
428
435
  end
429
436
  end
430
437
 
431
438
  it "should honor setdest option" do
432
- allow(@app.options).to receive(:[]).with(:setdest).and_return(false)
439
+ @app.options.stubs(:[]).with(:setdest).returns(false)
433
440
 
434
- expect(Puppet::Util::Log).to receive(:setup_default)
441
+ Puppet::Util::Log.expects(:setup_default)
435
442
 
436
443
  @app.setup
437
444
  end
438
-
445
+
439
446
  it "sets the log destination if provided via settings" do
440
- allow(@app.options).to receive(:[]).and_call_original
447
+ @app.options.unstub(:[])
441
448
  Puppet[:logdest] = "set_via_config"
442
- expect(Puppet::Util::Log).to receive(:newdestination).with("set_via_config")
449
+ Puppet::Util::Log.expects(:newdestination).with("set_via_config")
443
450
 
444
451
  @app.setup
445
452
  end
446
453
 
447
454
  it "does not downgrade the loglevel when --verbose is specified" do
448
455
  Puppet[:log_level] = :debug
449
- allow(@app.options).to receive(:[]).with(:verbose).and_return(true)
456
+ @app.options.stubs(:[]).with(:verbose).returns(true)
450
457
  @app.setup_logs
451
458
 
452
459
  expect(Puppet::Util::Log.level).to eq(:debug)
@@ -509,65 +516,69 @@ describe Puppet::Application do
509
516
  end
510
517
 
511
518
  describe "when running" do
519
+
512
520
  before :each do
513
- allow(@app).to receive(:preinit)
514
- allow(@app).to receive(:setup)
515
- allow(@app).to receive(:parse_options)
521
+ @app.stubs(:preinit)
522
+ @app.stubs(:setup)
523
+ @app.stubs(:parse_options)
516
524
  end
517
525
 
518
526
  it "should call preinit" do
519
- allow(@app).to receive(:run_command)
527
+ @app.stubs(:run_command)
520
528
 
521
- expect(@app).to receive(:preinit)
529
+ @app.expects(:preinit)
522
530
 
523
531
  @app.run
524
532
  end
525
533
 
526
534
  it "should call parse_options" do
527
- allow(@app).to receive(:run_command)
535
+ @app.stubs(:run_command)
528
536
 
529
- expect(@app).to receive(:parse_options)
537
+ @app.expects(:parse_options)
530
538
 
531
539
  @app.run
532
540
  end
533
541
 
534
542
  it "should call run_command" do
535
- expect(@app).to receive(:run_command)
543
+
544
+ @app.expects(:run_command)
536
545
 
537
546
  @app.run
538
547
  end
539
548
 
549
+
540
550
  it "should call run_command" do
541
- expect(@app).to receive(:run_command)
551
+ @app.expects(:run_command)
542
552
 
543
553
  @app.run
544
554
  end
545
555
 
546
556
  it "should call main as the default command" do
547
- expect(@app).to receive(:main)
557
+ @app.expects(:main)
548
558
 
549
559
  @app.run
550
560
  end
551
561
 
552
562
  it "should warn and exit if no command can be called" do
553
- expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
563
+ Puppet.expects(:send_log).with(:err, "Could not run: No valid command or main")
554
564
  expect { @app.run }.to exit_with 1
555
565
  end
556
566
 
557
567
  it "should raise an error if dispatch returns no command" do
558
- allow(@app).to receive(:get_command).and_return(nil)
559
- expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
568
+ @app.stubs(:get_command).returns(nil)
569
+ Puppet.expects(:send_log).with(:err, "Could not run: No valid command or main")
560
570
  expect { @app.run }.to exit_with 1
561
571
  end
562
572
 
563
573
  it "should raise an error if dispatch returns an invalid command" do
564
- allow(@app).to receive(:get_command).and_return(:this_function_doesnt_exist)
565
- expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
574
+ @app.stubs(:get_command).returns(:this_function_doesnt_exist)
575
+ Puppet.expects(:send_log).with(:err, "Could not run: No valid command or main")
566
576
  expect { @app.run }.to exit_with 1
567
577
  end
568
578
  end
569
579
 
570
580
  describe "when metaprogramming" do
581
+
571
582
  describe "when calling option" do
572
583
  it "should create a new method named after the option" do
573
584
  @app.class.option("--test1","-t") do
@@ -600,8 +611,8 @@ describe Puppet::Application do
600
611
  end
601
612
 
602
613
  it "should declare the option to OptionParser" do
603
- allow_any_instance_of(OptionParser).to receive(:on)
604
- expect_any_instance_of(OptionParser).to receive(:on).with("--[no-]test3", anything)
614
+ OptionParser.any_instance.stubs(:on)
615
+ OptionParser.any_instance.expects(:on).with { |*arg| arg[0] == "--[no-]test3" }
605
616
 
606
617
  @app.class.option("--[no-]test3","-t") do
607
618
  end
@@ -610,10 +621,10 @@ describe Puppet::Application do
610
621
  end
611
622
 
612
623
  it "should pass a block that calls our defined method" do
613
- allow_any_instance_of(OptionParser).to receive(:on)
614
- allow_any_instance_of(OptionParser).to receive(:on).with('--test4', '-t').and_yield(nil)
624
+ OptionParser.any_instance.stubs(:on)
625
+ OptionParser.any_instance.stubs(:on).with('--test4','-t').yields(nil)
615
626
 
616
- expect(@app).to receive(:send).with(:handle_test4, nil)
627
+ @app.expects(:send).with(:handle_test4, nil)
617
628
 
618
629
  @app.class.option("--test4","-t") do
619
630
  end
@@ -624,8 +635,8 @@ describe Puppet::Application do
624
635
 
625
636
  describe "when no block is given" do
626
637
  it "should declare the option to OptionParser" do
627
- allow_any_instance_of(OptionParser).to receive(:on)
628
- expect_any_instance_of(OptionParser).to receive(:on).with("--test4", "-t")
638
+ OptionParser.any_instance.stubs(:on)
639
+ OptionParser.any_instance.expects(:on).with("--test4","-t")
629
640
 
630
641
  @app.class.option("--test4","-t")
631
642
 
@@ -633,10 +644,10 @@ describe Puppet::Application do
633
644
  end
634
645
 
635
646
  it "should give to OptionParser a block that adds the value to the options array" do
636
- allow_any_instance_of(OptionParser).to receive(:on)
637
- allow_any_instance_of(OptionParser).to receive(:on).with("--test4", "-t").and_yield(nil)
647
+ OptionParser.any_instance.stubs(:on)
648
+ OptionParser.any_instance.stubs(:on).with("--test4","-t").yields(nil)
638
649
 
639
- expect(@app.options).to receive(:[]=).with(:test4, nil)
650
+ @app.options.expects(:[]=).with(:test4,nil)
640
651
 
641
652
  @app.class.option("--test4","-t")
642
653
 
@@ -644,6 +655,7 @@ describe Puppet::Application do
644
655
  end
645
656
  end
646
657
  end
658
+
647
659
  end
648
660
 
649
661
  describe "#handle_logdest_arg" do
@@ -651,31 +663,31 @@ describe Puppet::Application do
651
663
 
652
664
  it "should log an exception that is raised" do
653
665
  our_exception = Puppet::DevError.new("test exception")
654
- expect(Puppet::Util::Log).to receive(:newdestination).with(test_arg).and_raise(our_exception)
655
- expect(Puppet).to receive(:log_and_raise).with(our_exception, anything)
666
+ Puppet::Util::Log.expects(:newdestination).with(test_arg).raises(our_exception)
667
+ Puppet.expects(:log_exception).with(our_exception)
656
668
  @app.handle_logdest_arg(test_arg)
657
669
  end
658
670
 
659
- it "should exit when an exception is raised" do
660
- our_exception = Puppet::DevError.new("test exception")
661
- expect(Puppet::Util::Log).to receive(:newdestination).with(test_arg).and_raise(our_exception)
662
- expect(Puppet).to receive(:log_and_raise).with(our_exception, anything).and_raise(our_exception)
663
- expect { @app.handle_logdest_arg(test_arg) }.to raise_error(Puppet::DevError)
664
- end
665
-
666
671
  it "should set the new log destination" do
667
- expect(Puppet::Util::Log).to receive(:newdestination).with(test_arg)
672
+ Puppet::Util::Log.expects(:newdestination).with(test_arg)
668
673
  @app.handle_logdest_arg(test_arg)
669
674
  end
670
675
 
671
676
  it "should set the flag that a destination is set in the options hash" do
672
- allow(Puppet::Util::Log).to receive(:newdestination).with(test_arg)
677
+ Puppet::Util::Log.stubs(:newdestination).with(test_arg)
673
678
  @app.handle_logdest_arg(test_arg)
674
679
  expect(@app.options[:setdest]).to be_truthy
675
680
  end
676
681
 
682
+ it "does not set the log destination if setdest is true" do
683
+ Puppet::Util::Log.expects(:newdestination).never
684
+ @app.options[:setdest] = true
685
+
686
+ @app.handle_logdest_arg(test_arg)
687
+ end
688
+
677
689
  it "does not set the log destination if arg is nil" do
678
- expect(Puppet::Util::Log).not_to receive(:newdestination)
690
+ Puppet::Util::Log.expects(:newdestination).never
679
691
 
680
692
  @app.handle_logdest_arg(nil)
681
693
  end