puppet 6.0.10 → 6.1.0

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/doc'
@@ -7,9 +8,9 @@ require 'puppet/util/rdoc'
7
8
  describe Puppet::Application::Doc do
8
9
  before :each do
9
10
  @doc = Puppet::Application[:doc]
10
- allow(@doc).to receive(:puts)
11
+ @doc.stubs(:puts)
11
12
  @doc.preinit
12
- allow(Puppet::Util::Log).to receive(:newdestination)
13
+ Puppet::Util::Log.stubs(:newdestination)
13
14
  end
14
15
 
15
16
  it "should declare an other command" do
@@ -55,49 +56,49 @@ describe Puppet::Application::Doc do
55
56
  end
56
57
 
57
58
  it "should store argument value when calling handle_#{option}" do
58
- expect(@doc.options).to receive(:[]=).with(option, 'arg')
59
+ @doc.options.expects(:[]=).with(option, 'arg')
59
60
  @doc.send("handle_#{option}".to_sym, 'arg')
60
61
  end
61
62
  end
62
63
 
63
64
  it "should store the format if valid" do
64
- allow(Puppet::Util::Reference).to receive(:method_defined?).with('to_format').and_return(true)
65
+ Puppet::Util::Reference.stubs(:method_defined?).with('to_format').returns(true)
65
66
 
66
67
  @doc.handle_format('format')
67
68
  expect(@doc.options[:format]).to eq('to_format')
68
69
  end
69
70
 
70
71
  it "should raise an error if the format is not valid" do
71
- allow(Puppet::Util::Reference).to receive(:method_defined?).with('to_format').and_return(false)
72
+ Puppet::Util::Reference.stubs(:method_defined?).with('to_format').returns(false)
72
73
  expect { @doc.handle_format('format') }.to raise_error(RuntimeError, /Invalid output format/)
73
74
  end
74
75
 
75
76
  it "should store the mode if valid" do
76
- allow(Puppet::Util::Reference).to receive(:modes).and_return(double('mode', :include? => true))
77
+ Puppet::Util::Reference.stubs(:modes).returns(stub('mode', :include? => true))
77
78
 
78
79
  @doc.handle_mode('mode')
79
80
  expect(@doc.options[:mode]).to eq(:mode)
80
81
  end
81
82
 
82
83
  it "should store the mode if :rdoc" do
83
- allow(Puppet::Util::Reference.modes).to receive(:include?).with('rdoc').and_return(false)
84
+ Puppet::Util::Reference.modes.stubs(:include?).with('rdoc').returns(false)
84
85
 
85
86
  @doc.handle_mode('rdoc')
86
87
  expect(@doc.options[:mode]).to eq(:rdoc)
87
88
  end
88
89
 
89
90
  it "should raise an error if the mode is not valid" do
90
- allow(Puppet::Util::Reference.modes).to receive(:include?).with('unknown').and_return(false)
91
+ Puppet::Util::Reference.modes.stubs(:include?).with('unknown').returns(false)
91
92
  expect { @doc.handle_mode('unknown') }.to raise_error(RuntimeError, /Invalid output mode/)
92
93
  end
93
94
 
94
95
  it "should list all references on list and exit" do
95
- reference = double('reference')
96
- ref = double('ref')
97
- allow(Puppet::Util::Reference).to receive(:references).and_return([reference])
96
+ reference = stubs 'reference'
97
+ ref = stubs 'ref'
98
+ Puppet::Util::Reference.stubs(:references).returns([reference])
98
99
 
99
- expect(Puppet::Util::Reference).to receive(:reference).with(reference).and_return(ref)
100
- expect(ref).to receive(:doc)
100
+ Puppet::Util::Reference.expects(:reference).with(reference).returns(ref)
101
+ ref.expects(:doc)
101
102
 
102
103
  expect { @doc.handle_list(nil) }.to exit_with 0
103
104
  end
@@ -112,14 +113,15 @@ describe Puppet::Application::Doc do
112
113
  end
113
114
 
114
115
  describe "during setup" do
116
+
115
117
  before :each do
116
- allow(Puppet::Log).to receive(:newdestination)
117
- allow(@doc.command_line).to receive(:args).and_return([])
118
+ Puppet::Log.stubs(:newdestination)
119
+ @doc.command_line.stubs(:args).returns([])
118
120
  end
119
121
 
120
122
  it "should default to rdoc mode if there are command line arguments" do
121
- allow(@doc.command_line).to receive(:args).and_return(["1"])
122
- allow(@doc).to receive(:setup_rdoc)
123
+ @doc.command_line.stubs(:args).returns(["1"])
124
+ @doc.stubs(:setup_rdoc)
123
125
 
124
126
  @doc.setup
125
127
  expect(@doc.options[:mode]).to eq(:rdoc)
@@ -128,7 +130,7 @@ describe Puppet::Application::Doc do
128
130
  it "should call setup_rdoc in rdoc mode" do
129
131
  @doc.options[:mode] = :rdoc
130
132
 
131
- expect(@doc).to receive(:setup_rdoc)
133
+ @doc.expects(:setup_rdoc)
132
134
 
133
135
  @doc.setup
134
136
  end
@@ -136,14 +138,14 @@ describe Puppet::Application::Doc do
136
138
  it "should call setup_reference if not rdoc" do
137
139
  @doc.options[:mode] = :test
138
140
 
139
- expect(@doc).to receive(:setup_reference)
141
+ @doc.expects(:setup_reference)
140
142
 
141
143
  @doc.setup
142
144
  end
143
145
 
144
146
  describe "configuring logging" do
145
147
  before :each do
146
- allow(Puppet::Util::Log).to receive(:newdestination)
148
+ Puppet::Util::Log.stubs(:newdestination)
147
149
  end
148
150
 
149
151
  describe "with --debug" do
@@ -157,7 +159,7 @@ describe Puppet::Application::Doc do
157
159
  end
158
160
 
159
161
  it "should set log destination to console" do
160
- expect(Puppet::Util::Log).to receive(:newdestination).with(:console)
162
+ Puppet::Util::Log.expects(:newdestination).with(:console)
161
163
  @doc.setup
162
164
  end
163
165
  end
@@ -173,7 +175,7 @@ describe Puppet::Application::Doc do
173
175
  end
174
176
 
175
177
  it "should set log destination to console" do
176
- expect(Puppet::Util::Log).to receive(:newdestination).with(:console)
178
+ Puppet::Util::Log.expects(:newdestination).with(:console)
177
179
  @doc.setup
178
180
  end
179
181
  end
@@ -190,7 +192,7 @@ describe Puppet::Application::Doc do
190
192
  end
191
193
 
192
194
  it "should set log destination to console" do
193
- expect(Puppet::Util::Log).to receive(:newdestination).with(:console)
195
+ Puppet::Util::Log.expects(:newdestination).with(:console)
194
196
  @doc.setup
195
197
  end
196
198
  end
@@ -199,11 +201,11 @@ describe Puppet::Application::Doc do
199
201
  describe "in non-rdoc mode" do
200
202
  it "should get all non-dynamic reference if --all" do
201
203
  @doc.options[:all] = true
202
- static = double('static', :dynamic? => false)
203
- dynamic = double('dynamic', :dynamic? => true)
204
- allow(Puppet::Util::Reference).to receive(:reference).with(:static).and_return(static)
205
- allow(Puppet::Util::Reference).to receive(:reference).with(:dynamic).and_return(dynamic)
206
- allow(Puppet::Util::Reference).to receive(:references).and_return([:static,:dynamic])
204
+ static = stub 'static', :dynamic? => false
205
+ dynamic = stub 'dynamic', :dynamic? => true
206
+ Puppet::Util::Reference.stubs(:reference).with(:static).returns(static)
207
+ Puppet::Util::Reference.stubs(:reference).with(:dynamic).returns(dynamic)
208
+ Puppet::Util::Reference.stubs(:references).returns([:static,:dynamic])
207
209
 
208
210
  @doc.setup_reference
209
211
  expect(@doc.options[:references]).to eq([:static])
@@ -219,7 +221,7 @@ describe Puppet::Application::Doc do
219
221
  describe "when there are unknown args" do
220
222
  it "should expand --modulepath if any" do
221
223
  @doc.unknown_args = [ { :opt => "--modulepath", :arg => "path" } ]
222
- allow(Puppet.settings).to receive(:handlearg)
224
+ Puppet.settings.stubs(:handlearg)
223
225
 
224
226
  @doc.setup_rdoc
225
227
 
@@ -228,7 +230,7 @@ describe Puppet::Application::Doc do
228
230
 
229
231
  it "should give them to Puppet.settings" do
230
232
  @doc.unknown_args = [ { :opt => :option, :arg => :argument } ]
231
- expect(Puppet.settings).to receive(:handlearg).with(:option,:argument)
233
+ Puppet.settings.expects(:handlearg).with(:option,:argument)
232
234
 
233
235
  @doc.setup_rdoc
234
236
  end
@@ -253,16 +255,16 @@ describe Puppet::Application::Doc do
253
255
 
254
256
  before :each do
255
257
  @doc.manifest = false
256
- allow(Puppet).to receive(:info)
258
+ Puppet.stubs(:info)
257
259
  Puppet[:trace] = false
258
260
  Puppet[:modulepath] = modules
259
261
  Puppet[:manifest] = manifests
260
262
  @doc.options[:all] = false
261
263
  @doc.options[:outputdir] = 'doc'
262
264
  @doc.options[:charset] = nil
263
- allow(Puppet.settings).to receive(:define_settings)
264
- allow(Puppet::Util::RDoc).to receive(:rdoc)
265
- allow(@doc.command_line).to receive(:args).and_return([])
265
+ Puppet.settings.stubs(:define_settings)
266
+ Puppet::Util::RDoc.stubs(:rdoc)
267
+ @doc.command_line.stubs(:args).returns([])
266
268
  end
267
269
 
268
270
  around(:each) do |example|
@@ -275,31 +277,31 @@ describe Puppet::Application::Doc do
275
277
 
276
278
  it "should set document_all on --all" do
277
279
  @doc.options[:all] = true
278
- expect(Puppet.settings).to receive(:[]=).with(:document_all, true)
280
+ Puppet.settings.expects(:[]=).with(:document_all, true)
279
281
 
280
282
  expect { @doc.rdoc }.to exit_with(0)
281
283
  end
282
284
 
283
285
  it "should call Puppet::Util::RDoc.rdoc in full mode" do
284
- expect(Puppet::Util::RDoc).to receive(:rdoc).with('doc', [modules, manifests], nil)
286
+ Puppet::Util::RDoc.expects(:rdoc).with('doc', [modules, manifests], nil)
285
287
  expect { @doc.rdoc }.to exit_with(0)
286
288
  end
287
289
 
288
290
  it "should call Puppet::Util::RDoc.rdoc with a charset if --charset has been provided" do
289
291
  @doc.options[:charset] = 'utf-8'
290
- expect(Puppet::Util::RDoc).to receive(:rdoc).with('doc', [modules, manifests], "utf-8")
292
+ Puppet::Util::RDoc.expects(:rdoc).with('doc', [modules, manifests], "utf-8")
291
293
  expect { @doc.rdoc }.to exit_with(0)
292
294
  end
293
295
 
294
296
  it "should call Puppet::Util::RDoc.rdoc in full mode with outputdir set to doc if no --outputdir" do
295
297
  @doc.options[:outputdir] = false
296
- expect(Puppet::Util::RDoc).to receive(:rdoc).with('doc', [modules, manifests], nil)
298
+ Puppet::Util::RDoc.expects(:rdoc).with('doc', [modules, manifests], nil)
297
299
  expect { @doc.rdoc }.to exit_with(0)
298
300
  end
299
301
 
300
302
  it "should call Puppet::Util::RDoc.manifestdoc in manifest mode" do
301
303
  @doc.manifest = true
302
- expect(Puppet::Util::RDoc).to receive(:manifestdoc)
304
+ Puppet::Util::RDoc.expects(:manifestdoc)
303
305
  expect { @doc.rdoc }.to exit_with(0)
304
306
  end
305
307
 
@@ -310,7 +312,7 @@ describe Puppet::Application::Doc do
310
312
  [modules, modules2],
311
313
  "envmanifests/site.pp")
312
314
  Puppet.override({:environments => Puppet::Environments::Static.new(env), :current_environment => env}) do
313
- allow(Puppet::Util::RDoc).to receive(:rdoc).with('doc', [modules.to_s, modules2.to_s, env.manifest.to_s], nil)
315
+ Puppet::Util::RDoc.stubs(:rdoc).with('doc', [modules.to_s, modules2.to_s, env.manifest.to_s], nil)
314
316
  expect { @doc.rdoc }.to exit_with(0)
315
317
  end
316
318
  end
@@ -318,14 +320,14 @@ describe Puppet::Application::Doc do
318
320
 
319
321
  describe "in the other modes" do
320
322
  it "should get reference in given format" do
321
- reference = double('reference')
323
+ reference = stub 'reference'
322
324
  @doc.options[:mode] = :none
323
325
  @doc.options[:references] = [:ref]
324
- expect(Puppet::Util::Reference).to receive(:reference).with(:ref).and_return(reference)
326
+ Puppet::Util::Reference.expects(:reference).with(:ref).returns(reference)
325
327
  @doc.options[:format] = :format
326
- allow(@doc).to receive(:exit)
328
+ @doc.stubs(:exit)
327
329
 
328
- expect(reference).to receive(:send).with(:format, anything).and_return('doc')
330
+ reference.expects(:send).with { |format,contents| format == :format }.returns('doc')
329
331
  @doc.other
330
332
  end
331
333
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/application/face_base'
3
4
  require 'tmpdir'
@@ -8,8 +9,8 @@ end
8
9
  describe Puppet::Application::FaceBase do
9
10
  let :app do
10
11
  app = Puppet::Application::FaceBase::Basetest.new
11
- allow(app.command_line).to receive(:subcommand_name).and_return('subcommand')
12
- allow(Puppet::Util::Log).to receive(:newdestination)
12
+ app.command_line.stubs(:subcommand_name).returns('subcommand')
13
+ Puppet::Util::Log.stubs(:newdestination)
13
14
  app
14
15
  end
15
16
 
@@ -19,8 +20,8 @@ describe Puppet::Application::FaceBase do
19
20
 
20
21
  describe "#find_global_settings_argument" do
21
22
  it "should not match --ca to --ca-location" do
22
- option = double('ca option', :optparse_args => ["--ca"])
23
- expect(Puppet.settings).to receive(:each).and_yield(:ca, option)
23
+ option = mock('ca option', :optparse_args => ["--ca"])
24
+ Puppet.settings.expects(:each).yields(:ca, option)
24
25
 
25
26
  expect(app.find_global_settings_argument("--ca-location")).to be_nil
26
27
  end
@@ -28,7 +29,7 @@ describe Puppet::Application::FaceBase do
28
29
 
29
30
  describe "#parse_options" do
30
31
  before :each do
31
- allow(app.command_line).to receive(:args).and_return(%w{})
32
+ app.command_line.stubs(:args).returns %w{}
32
33
  end
33
34
 
34
35
  describe "with just an action" do
@@ -39,8 +40,8 @@ describe Puppet::Application::FaceBase do
39
40
  #
40
41
  # It would be nice to fix this elsewhere, but it is actually hard to
41
42
  # capture this in rspec 2.5 and all. :( --daniel 2011-04-08
42
- allow(Signal).to receive(:trap)
43
- allow(app.command_line).to receive(:args).and_return(%w{foo})
43
+ Signal.stubs(:trap)
44
+ app.command_line.stubs(:args).returns %w{foo}
44
45
  app.preinit
45
46
  app.parse_options
46
47
  end
@@ -56,7 +57,7 @@ describe Puppet::Application::FaceBase do
56
57
  end
57
58
 
58
59
  it "should stop if the first thing found is not an action" do
59
- allow(app.command_line).to receive(:args).and_return(%w{banana count_args})
60
+ app.command_line.stubs(:args).returns %w{banana count_args}
60
61
 
61
62
  expect { app.run }.to exit_with(1)
62
63
 
@@ -64,29 +65,29 @@ describe Puppet::Application::FaceBase do
64
65
  end
65
66
 
66
67
  it "should use the default action if not given any arguments" do
67
- allow(app.command_line).to receive(:args).and_return([])
68
- action = double(:options => [], :render_as => nil)
69
- expect(Puppet::Face[:basetest, '0.0.1']).to receive(:get_default_action).and_return(action)
70
- allow(app).to receive(:main)
68
+ app.command_line.stubs(:args).returns []
69
+ action = stub(:options => [], :render_as => nil)
70
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(action)
71
+ app.stubs(:main)
71
72
  app.run
72
73
  expect(app.action).to eq(action)
73
74
  expect(app.arguments).to eq([ { } ])
74
75
  end
75
76
 
76
77
  it "should use the default action if not given a valid one" do
77
- allow(app.command_line).to receive(:args).and_return(%w{bar})
78
- action = double(:options => [], :render_as => nil)
79
- expect(Puppet::Face[:basetest, '0.0.1']).to receive(:get_default_action).and_return(action)
80
- allow(app).to receive(:main)
78
+ app.command_line.stubs(:args).returns %w{bar}
79
+ action = stub(:options => [], :render_as => nil)
80
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(action)
81
+ app.stubs(:main)
81
82
  app.run
82
83
  expect(app.action).to eq(action)
83
84
  expect(app.arguments).to eq([ 'bar', { } ])
84
85
  end
85
86
 
86
87
  it "should have no action if not given a valid one and there is no default action" do
87
- allow(app.command_line).to receive(:args).and_return(%w{bar})
88
- expect(Puppet::Face[:basetest, '0.0.1']).to receive(:get_default_action).and_return(nil)
89
- allow(app).to receive(:main)
88
+ app.command_line.stubs(:args).returns %w{bar}
89
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(nil)
90
+ app.stubs(:main)
90
91
  expect { app.run }.to exit_with(1)
91
92
  expect(@logs.first.message).to match(/has no 'bar' action./)
92
93
  end
@@ -94,9 +95,9 @@ describe Puppet::Application::FaceBase do
94
95
  [%w{something_I_cannot_do},
95
96
  %w{something_I_cannot_do argument}].each do |input|
96
97
  it "should report unknown actions nicely" do
97
- allow(app.command_line).to receive(:args).and_return(input)
98
- expect(Puppet::Face[:basetest, '0.0.1']).to receive(:get_default_action).and_return(nil)
99
- allow(app).to receive(:main)
98
+ app.command_line.stubs(:args).returns input
99
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(nil)
100
+ app.stubs(:main)
100
101
  expect { app.run }.to exit_with(1)
101
102
  expect(@logs.first.message).to match(/has no 'something_I_cannot_do' action/)
102
103
  end
@@ -105,40 +106,40 @@ describe Puppet::Application::FaceBase do
105
106
  [%w{something_I_cannot_do --unknown-option},
106
107
  %w{something_I_cannot_do argument --unknown-option}].each do |input|
107
108
  it "should report unknown actions even if there are unknown options" do
108
- allow(app.command_line).to receive(:args).and_return(input)
109
- expect(Puppet::Face[:basetest, '0.0.1']).to receive(:get_default_action).and_return(nil)
110
- allow(app).to receive(:main)
109
+ app.command_line.stubs(:args).returns input
110
+ Puppet::Face[:basetest, '0.0.1'].expects(:get_default_action).returns(nil)
111
+ app.stubs(:main)
111
112
  expect { app.run }.to exit_with(1)
112
113
  expect(@logs.first.message).to match(/has no 'something_I_cannot_do' action/)
113
114
  end
114
115
  end
115
116
 
116
117
  it "should report a sensible error when options with = fail" do
117
- allow(app.command_line).to receive(:args).and_return(%w{--action=bar foo})
118
+ app.command_line.stubs(:args).returns %w{--action=bar foo}
118
119
  expect { app.preinit; app.parse_options }.
119
120
  to raise_error(OptionParser::InvalidOption, /invalid option: --action/)
120
121
  end
121
122
 
122
123
  it "should fail if an action option is before the action" do
123
- allow(app.command_line).to receive(:args).and_return(%w{--action foo})
124
+ app.command_line.stubs(:args).returns %w{--action foo}
124
125
  expect { app.preinit; app.parse_options }.
125
126
  to raise_error(OptionParser::InvalidOption, /invalid option: --action/)
126
127
  end
127
128
 
128
129
  it "should fail if an unknown option is before the action" do
129
- allow(app.command_line).to receive(:args).and_return(%w{--bar foo})
130
+ app.command_line.stubs(:args).returns %w{--bar foo}
130
131
  expect { app.preinit; app.parse_options }.
131
132
  to raise_error(OptionParser::InvalidOption, /invalid option: --bar/)
132
133
  end
133
134
 
134
135
  it "should fail if an unknown option is after the action" do
135
- allow(app.command_line).to receive(:args).and_return(%w{foo --bar})
136
+ app.command_line.stubs(:args).returns %w{foo --bar}
136
137
  expect { app.preinit; app.parse_options }.
137
138
  to raise_error(OptionParser::InvalidOption, /invalid option: --bar/)
138
139
  end
139
140
 
140
141
  it "should accept --bar as an argument to a mandatory option after action" do
141
- allow(app.command_line).to receive(:args).and_return(%w{foo --mandatory --bar})
142
+ app.command_line.stubs(:args).returns %w{foo --mandatory --bar}
142
143
  app.preinit
143
144
  app.parse_options
144
145
  expect(app.action.name).to eq(:foo)
@@ -146,7 +147,7 @@ describe Puppet::Application::FaceBase do
146
147
  end
147
148
 
148
149
  it "should accept --bar as an argument to a mandatory option before action" do
149
- allow(app.command_line).to receive(:args).and_return(%w{--mandatory --bar foo})
150
+ app.command_line.stubs(:args).returns %w{--mandatory --bar foo}
150
151
  app.preinit
151
152
  app.parse_options
152
153
  expect(app.action.name).to eq(:foo)
@@ -154,13 +155,13 @@ describe Puppet::Application::FaceBase do
154
155
  end
155
156
 
156
157
  it "should not skip when --foo=bar is given" do
157
- allow(app.command_line).to receive(:args).and_return(%w{--mandatory=bar --bar foo})
158
+ app.command_line.stubs(:args).returns %w{--mandatory=bar --bar foo}
158
159
  expect { app.preinit; app.parse_options }.
159
160
  to raise_error(OptionParser::InvalidOption, /invalid option: --bar/)
160
161
  end
161
162
 
162
163
  it "does not skip when a puppet global setting is given as one item" do
163
- allow(app.command_line).to receive(:args).and_return(%w{--confdir=/tmp/puppet foo})
164
+ app.command_line.stubs(:args).returns %w{--confdir=/tmp/puppet foo}
164
165
  app.preinit
165
166
  app.parse_options
166
167
  expect(app.action.name).to eq(:foo)
@@ -168,7 +169,7 @@ describe Puppet::Application::FaceBase do
168
169
  end
169
170
 
170
171
  it "does not skip when a puppet global setting is given as two items" do
171
- allow(app.command_line).to receive(:args).and_return(%w{--confdir /tmp/puppet foo})
172
+ app.command_line.stubs(:args).returns %w{--confdir /tmp/puppet foo}
172
173
  app.preinit
173
174
  app.parse_options
174
175
  expect(app.action.name).to eq(:foo)
@@ -176,7 +177,7 @@ describe Puppet::Application::FaceBase do
176
177
  end
177
178
 
178
179
  it "should not add :debug to the application-level options" do
179
- allow(app.command_line).to receive(:args).and_return(%w{--confdir /tmp/puppet foo --debug})
180
+ app.command_line.stubs(:args).returns %w{--confdir /tmp/puppet foo --debug}
180
181
  app.preinit
181
182
  app.parse_options
182
183
  expect(app.action.name).to eq(:foo)
@@ -184,7 +185,7 @@ describe Puppet::Application::FaceBase do
184
185
  end
185
186
 
186
187
  it "should not add :verbose to the application-level options" do
187
- allow(app.command_line).to receive(:args).and_return(%w{--confdir /tmp/puppet foo --verbose})
188
+ app.command_line.stubs(:args).returns %w{--confdir /tmp/puppet foo --verbose}
188
189
  app.preinit
189
190
  app.parse_options
190
191
  expect(app.action.name).to eq(:foo)
@@ -195,7 +196,7 @@ describe Puppet::Application::FaceBase do
195
196
  "boolean options after" => %w{foo --trace}
196
197
  }.each do |name, args|
197
198
  it "should accept global boolean settings #{name} the action" do
198
- allow(app.command_line).to receive(:args).and_return(args)
199
+ app.command_line.stubs(:args).returns args
199
200
  Puppet.settings.initialize_global_settings(args)
200
201
  app.preinit
201
202
  app.parse_options
@@ -207,7 +208,7 @@ describe Puppet::Application::FaceBase do
207
208
  " after" => %w{foo --syslogfacility user1}
208
209
  }.each do |name, args|
209
210
  it "should accept global settings with arguments #{name} the action" do
210
- allow(app.command_line).to receive(:args).and_return(args)
211
+ app.command_line.stubs(:args).returns args
211
212
  Puppet.settings.initialize_global_settings(args)
212
213
  app.preinit
213
214
  app.parse_options
@@ -216,7 +217,7 @@ describe Puppet::Application::FaceBase do
216
217
  end
217
218
 
218
219
  it "should handle application-level options" do
219
- allow(app.command_line).to receive(:args).and_return(%w{--verbose return_true})
220
+ app.command_line.stubs(:args).returns %w{--verbose return_true}
220
221
  app.preinit
221
222
  app.parse_options
222
223
  expect(app.face.name).to eq(:basetest)
@@ -225,7 +226,7 @@ describe Puppet::Application::FaceBase do
225
226
 
226
227
  describe "#setup" do
227
228
  it "should remove the action name from the arguments" do
228
- allow(app.command_line).to receive(:args).and_return(%w{--mandatory --bar foo})
229
+ app.command_line.stubs(:args).returns %w{--mandatory --bar foo}
229
230
  app.preinit
230
231
  app.parse_options
231
232
  app.setup
@@ -234,7 +235,7 @@ describe Puppet::Application::FaceBase do
234
235
 
235
236
  it "should pass positional arguments" do
236
237
  myargs = %w{--mandatory --bar foo bar baz quux}
237
- allow(app.command_line).to receive(:args).and_return(myargs)
238
+ app.command_line.stubs(:args).returns(myargs)
238
239
  app.preinit
239
240
  app.parse_options
240
241
  app.setup
@@ -244,7 +245,7 @@ describe Puppet::Application::FaceBase do
244
245
 
245
246
  describe "#main" do
246
247
  before :each do
247
- allow(app).to receive(:puts) # don't dump text to screen.
248
+ app.stubs(:puts) # don't dump text to screen.
248
249
 
249
250
  app.face = Puppet::Face[:basetest, '0.0.1']
250
251
  app.action = app.face.get_action(:foo)
@@ -252,41 +253,41 @@ describe Puppet::Application::FaceBase do
252
253
  end
253
254
 
254
255
  it "should send the specified verb and name to the face" do
255
- expect(app.face).to receive(:foo).with(*app.arguments)
256
+ app.face.expects(:foo).with(*app.arguments)
256
257
  expect { app.main }.to exit_with(0)
257
258
  end
258
259
 
259
260
  it "should lookup help when it cannot do anything else" do
260
261
  app.action = nil
261
- expect(Puppet::Face[:help, :current]).to receive(:help).with(:basetest)
262
+ Puppet::Face[:help, :current].expects(:help).with(:basetest)
262
263
  expect { app.main }.to exit_with(1)
263
264
  end
264
265
 
265
266
  it "should use its render method to render any result" do
266
- expect(app).to receive(:render).with(app.arguments.length + 1, ["myname", "myarg"])
267
+ app.expects(:render).with(app.arguments.length + 1, ["myname", "myarg"])
267
268
  expect { app.main }.to exit_with(0)
268
269
  end
269
270
 
270
271
  it "should issue a deprecation warning if the face is deprecated" do
271
272
  # since app is shared across examples, stub to avoid affecting shared context
272
- allow(app.face).to receive(:deprecated?).and_return(true)
273
- expect(app.face).to receive(:foo).with(*app.arguments)
274
- expect(Puppet).to receive(:deprecation_warning).with(/'puppet basetest' is deprecated/)
273
+ app.face.stubs(:deprecated?).returns(true)
274
+ app.face.expects(:foo).with(*app.arguments)
275
+ Puppet.expects(:deprecation_warning).with(regexp_matches(/'puppet basetest' is deprecated/))
275
276
  expect { app.main }.to exit_with(0)
276
277
  end
277
278
 
278
279
  it "should not issue a deprecation warning if the face is not deprecated" do
279
- expect(Puppet).not_to receive(:deprecation_warning)
280
+ Puppet.expects(:deprecation_warning).never
280
281
  # since app is shared across examples, stub to avoid affecting shared context
281
- allow(app.face).to receive(:deprecated?).and_return(false)
282
- expect(app.face).to receive(:foo).with(*app.arguments)
282
+ app.face.stubs(:deprecated?).returns(false)
283
+ app.face.expects(:foo).with(*app.arguments)
283
284
  expect { app.main }.to exit_with(0)
284
285
  end
285
286
  end
286
287
 
287
288
  describe "error reporting" do
288
289
  before :each do
289
- allow(app).to receive(:puts) # don't dump text to screen.
290
+ app.stubs(:puts) # don't dump text to screen.
290
291
 
291
292
  app.render_as = :json
292
293
  app.face = Puppet::Face[:basetest, '0.0.1']
@@ -410,25 +411,25 @@ EOT
410
411
  end
411
412
 
412
413
  it "should fail early if asked to render an invalid format" do
413
- allow(app.command_line).to receive(:args).and_return(%w{--render-as interpretive-dance return_true})
414
+ app.command_line.stubs(:args).returns %w{--render-as interpretive-dance return_true}
414
415
  # We shouldn't get here, thanks to the exception, and our expectation on
415
416
  # it, but this helps us fail if that slips up and all. --daniel 2011-04-27
416
- expect(Puppet::Face[:help, :current]).not_to receive(:help)
417
+ Puppet::Face[:help, :current].expects(:help).never
417
418
 
418
- expect(Puppet).to receive(:send_log).with(:err, "Could not parse application options: I don't know how to render 'interpretive-dance'")
419
+ Puppet.expects(:send_log).with(:err, "Could not parse application options: I don't know how to render 'interpretive-dance'")
419
420
 
420
421
  expect { app.run }.to exit_with(1)
421
422
  end
422
423
 
423
424
  it "should work if asked to render json" do
424
- allow(app.command_line).to receive(:args).and_return(%w{count_args a b c --render-as json})
425
+ app.command_line.stubs(:args).returns %w{count_args a b c --render-as json}
425
426
  expect {
426
427
  expect { app.run }.to exit_with(0)
427
428
  }.to have_printed(/3/)
428
429
  end
429
430
 
430
431
  it "should invoke when_rendering hook 's' when asked to render-as 's'" do
431
- allow(app.command_line).to receive(:args).and_return(%w{with_s_rendering_hook --render-as s})
432
+ app.command_line.stubs(:args).returns %w{with_s_rendering_hook --render-as s}
432
433
  app.action = app.face.get_action(:with_s_rendering_hook)
433
434
  expect {
434
435
  expect { app.run }.to exit_with(0)
@@ -438,14 +439,14 @@ EOT
438
439
 
439
440
  describe "#help" do
440
441
  it "should generate help for --help" do
441
- allow(app.command_line).to receive(:args).and_return(%w{--help})
442
- expect(Puppet::Face[:help, :current]).to receive(:help)
442
+ app.command_line.stubs(:args).returns %w{--help}
443
+ Puppet::Face[:help, :current].expects(:help)
443
444
  expect { app.run }.to exit_with(0)
444
445
  end
445
446
 
446
447
  it "should generate help for -h" do
447
- allow(app.command_line).to receive(:args).and_return(%w{-h})
448
- expect(Puppet::Face[:help, :current]).to receive(:help)
448
+ app.command_line.stubs(:args).returns %w{-h}
449
+ Puppet::Face[:help, :current].expects(:help)
449
450
  expect { app.run }.to exit_with(0)
450
451
  end
451
452
  end