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
  require 'puppet_spec/files'
3
4
  require 'puppet_pal'
@@ -385,8 +386,8 @@ describe 'Puppet Pal' do
385
386
  end
386
387
 
387
388
  { nil => Puppet::Error,
388
- '0xWAT' => Puppet::ParseErrorWithIssue,
389
- '$0 = 1' => Puppet::ParseErrorWithIssue,
389
+ '0xWAT' => Puppet::ParseErrorWithIssue,
390
+ '$0 = 1' => Puppet::ParseErrorWithIssue,
390
391
  'else 32' => Puppet::ParseErrorWithIssue,
391
392
  }.each_pair do |input, error_class|
392
393
  it "'parse_string' raises an error for invalid input: '#{input}'" do
@@ -512,7 +513,7 @@ describe 'Puppet Pal' do
512
513
 
513
514
  # TODO: there is something amiss with the metadata wrt dependencies - when metadata is present there is an error
514
515
  # that dependencies could not be resolved. Metadata is therefore commented out.
515
- # Dependency based visibility is probably something that we should remove...
516
+ # Dependency based visibility is probably something that we should remove...
516
517
  let(:modules) {
517
518
  {
518
519
  'a' => {
@@ -942,7 +943,7 @@ describe 'Puppet Pal' do
942
943
  testing_env_dir # creates the structure
943
944
  other_modules1 = File.join(environments_dir, 'other_env1/modules')
944
945
  other_modules2 = File.join(environments_dir, 'other_env2/modules')
945
- result = Puppet::Pal.in_environment('pal_env', envpath: environments_dir,
946
+ result = Puppet::Pal.in_environment('pal_env', envpath: environments_dir,
946
947
  pre_modulepath: [other_modules1],
947
948
  post_modulepath: [other_modules2],
948
949
  facts: node_facts
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet_spec/files'
3
4
  require_relative 'puppet_pal_2pec'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet'
3
4
  require 'puppet_spec/files'
@@ -24,8 +25,8 @@ describe Puppet do
24
25
  end
25
26
 
26
27
  it 'should propagate --modulepath to base environment' do
27
- expect(Puppet::Node::Environment).to receive(:create).with(
28
- be_a(Symbol), ['/my/modules'], Puppet::Node::Environment::NO_MANIFEST)
28
+ Puppet::Node::Environment.expects(:create).with(
29
+ is_a(Symbol), ['/my/modules'], Puppet::Node::Environment::NO_MANIFEST)
29
30
 
30
31
  Puppet.base_context({
31
32
  :environmentpath => '/envs',
@@ -35,8 +36,8 @@ describe Puppet do
35
36
  end
36
37
 
37
38
  it 'empty modulepath does not override basemodulepath' do
38
- expect(Puppet::Node::Environment).to receive(:create).with(
39
- be_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
39
+ Puppet::Node::Environment.expects(:create).with(
40
+ is_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
40
41
 
41
42
  Puppet.base_context({
42
43
  :environmentpath => '/envs',
@@ -46,8 +47,8 @@ describe Puppet do
46
47
  end
47
48
 
48
49
  it 'nil modulepath does not override basemodulepath' do
49
- expect(Puppet::Node::Environment).to receive(:create).with(
50
- be_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
50
+ Puppet::Node::Environment.expects(:create).with(
51
+ is_a(Symbol), ['/base/modules'], Puppet::Node::Environment::NO_MANIFEST)
51
52
 
52
53
  Puppet.base_context({
53
54
  :environmentpath => '/envs',
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/relationship'
3
4
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/reports'
3
4
 
@@ -7,19 +8,19 @@ describe processor do
7
8
  subject { Puppet::Transaction::Report.new.extend(processor) }
8
9
 
9
10
  describe "when setting up the connection" do
10
- let(:http) { double("http") }
11
+ let(:http) { stub_everything "http" }
11
12
  let(:httpok) { Net::HTTPOK.new('1.1', 200, '') }
12
13
 
13
14
  before :each do
14
- expect(http).to receive(:post).and_return(httpok)
15
+ http.expects(:post).returns(httpok)
15
16
  end
16
17
 
17
18
  it "configures the connection for ssl when using https" do
18
19
  Puppet[:reporturl] = 'https://testing:8080/the/path'
19
20
 
20
- expect(Puppet::Network::HttpPool).to receive(:http_instance).with(
21
+ Puppet::Network::HttpPool.expects(:http_instance).with(
21
22
  'testing', 8080, true
22
- ).and_return(http)
23
+ ).returns http
23
24
 
24
25
  subject.process
25
26
  end
@@ -27,26 +28,26 @@ describe processor do
27
28
  it "does not configure the connectino for ssl when using http" do
28
29
  Puppet[:reporturl] = "http://testing:8080/the/path"
29
30
 
30
- expect(Puppet::Network::HttpPool).to receive(:http_instance).with(
31
+ Puppet::Network::HttpPool.expects(:http_instance).with(
31
32
  'testing', 8080, false
32
- ).and_return(http)
33
+ ).returns http
33
34
 
34
35
  subject.process
35
36
  end
36
37
  end
37
38
 
38
39
  describe "when making a request" do
39
- let(:connection) { double("connection") }
40
+ let(:connection) { stub_everything "connection" }
40
41
  let(:httpok) { Net::HTTPOK.new('1.1', 200, '') }
41
42
  let(:options) { {:metric_id => [:puppet, :report, :http]} }
42
43
 
43
44
  before :each do
44
- expect(Puppet::Network::HttpPool).to receive(:http_instance).and_return(connection)
45
+ Puppet::Network::HttpPool.expects(:http_instance).returns(connection)
45
46
  end
46
47
 
47
48
  it "should use the path specified by the 'reporturl' setting" do
48
49
  report_path = URI.parse(Puppet[:reporturl]).path
49
- expect(connection).to receive(:post).with(report_path, anything, anything, options).and_return(httpok)
50
+ connection.expects(:post).with(report_path, anything, anything, options).returns(httpok)
50
51
 
51
52
  subject.process
52
53
  end
@@ -54,24 +55,24 @@ describe processor do
54
55
  it "should use the username and password specified by the 'reporturl' setting" do
55
56
  Puppet[:reporturl] = "https://user:pass@myhost.mydomain:1234/report/upload"
56
57
 
57
- expect(connection).to receive(:post).with(anything, anything, anything,
58
- {:metric_id => [:puppet, :report, :http],
59
- :basic_auth => {
60
- :user => 'user',
61
- :password => 'pass'
62
- }}).and_return(httpok)
58
+ connection.expects(:post).with(anything, anything, anything,
59
+ {:metric_id => [:puppet, :report, :http],
60
+ :basic_auth => {
61
+ :user => 'user',
62
+ :password => 'pass'
63
+ }}).returns(httpok)
63
64
 
64
65
  subject.process
65
66
  end
66
67
 
67
68
  it "should give the body as the report as YAML" do
68
- expect(connection).to receive(:post).with(anything, subject.to_yaml, anything, options).and_return(httpok)
69
+ connection.expects(:post).with(anything, subject.to_yaml, anything, options).returns(httpok)
69
70
 
70
71
  subject.process
71
72
  end
72
73
 
73
74
  it "should set content-type to 'application/x-yaml'" do
74
- expect(connection).to receive(:post).with(anything, anything, hash_including("Content-Type" => "application/x-yaml"), options).and_return(httpok)
75
+ connection.expects(:post).with(anything, anything, has_entry("Content-Type" => "application/x-yaml"), options).returns(httpok)
75
76
 
76
77
  subject.process
77
78
  end
@@ -80,9 +81,9 @@ describe processor do
80
81
  if code.to_i >= 200 and code.to_i < 300
81
82
  it "should succeed on http code #{code}" do
82
83
  response = klass.new('1.1', code, '')
83
- expect(connection).to receive(:post).and_return(response)
84
+ connection.expects(:post).returns(response)
84
85
 
85
- expect(Puppet).not_to receive(:err)
86
+ Puppet.expects(:err).never
86
87
  subject.process
87
88
  end
88
89
  end
@@ -90,12 +91,13 @@ describe processor do
90
91
  if code.to_i >= 300 && ![301, 302, 307].include?(code.to_i)
91
92
  it "should log error on http code #{code}" do
92
93
  response = klass.new('1.1', code, '')
93
- expect(connection).to receive(:post).and_return(response)
94
+ connection.expects(:post).returns(response)
94
95
 
95
- expect(Puppet).to receive(:err)
96
+ Puppet.expects(:err)
96
97
  subject.process
97
98
  end
98
99
  end
99
100
  end
101
+
100
102
  end
101
103
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/reports'
@@ -23,7 +24,7 @@ describe processor do
23
24
  end
24
25
 
25
26
  it "should write the report to the file in YAML" do
26
- allow(Time).to receive(:now).and_return(Time.utc(2011,01,06,12,00,00))
27
+ Time.stubs(:now).returns(Time.utc(2011,01,06,12,00,00))
27
28
  @report.process
28
29
 
29
30
  expect(File.read(File.join(Puppet[:reportdir], @report.host, "201101061200.yaml"))).to eq(@report.to_yaml)
@@ -31,14 +32,14 @@ describe processor do
31
32
 
32
33
  it "rejects invalid hostnames" do
33
34
  @report.host = ".."
34
- expect(Puppet::FileSystem).not_to receive(:exist?)
35
+ Puppet::FileSystem.expects(:exist?).never
35
36
  expect { @report.process }.to raise_error(ArgumentError, /Invalid node/)
36
37
  end
37
38
  end
38
39
 
39
40
  describe "::destroy" do
40
41
  it "rejects invalid hostnames" do
41
- expect(Puppet::FileSystem).not_to receive(:unlink)
42
+ Puppet::FileSystem.expects(:unlink).never
42
43
  expect { processor.destroy("..") }.to raise_error(ArgumentError, /Invalid node/)
43
44
  end
44
45
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/reports'
@@ -16,11 +17,11 @@ describe Puppet::Reports do
16
17
  end
17
18
 
18
19
  it "should provide a method for returning documentation for all reports" do
19
- expect(Puppet::Reports).to receive(:loaded_instances).with(:report).and_return([:one, :two])
20
- one = double('one', :doc => "onedoc")
21
- two = double('two', :doc => "twodoc")
22
- expect(Puppet::Reports).to receive(:report).with(:one).and_return(one)
23
- expect(Puppet::Reports).to receive(:report).with(:two).and_return(two)
20
+ Puppet::Reports.expects(:loaded_instances).with(:report).returns([:one, :two])
21
+ one = mock 'one', :doc => "onedoc"
22
+ two = mock 'two', :doc => "twodoc"
23
+ Puppet::Reports.expects(:report).with(:one).returns(one)
24
+ Puppet::Reports.expects(:report).with(:two).returns(two)
24
25
 
25
26
  doc = Puppet::Reports.reportdocs
26
27
  expect(doc.include?("onedoc")).to be_truthy
@@ -28,16 +29,17 @@ describe Puppet::Reports do
28
29
  end
29
30
  end
30
31
 
32
+
31
33
  describe Puppet::Reports, " when loading report types" do
32
34
  it "should use the instance loader to retrieve report types" do
33
- expect(Puppet::Reports).to receive(:loaded_instance).with(:report, :myreporttype)
35
+ Puppet::Reports.expects(:loaded_instance).with(:report, :myreporttype)
34
36
  Puppet::Reports.report(:myreporttype)
35
37
  end
36
38
  end
37
39
 
38
40
  describe Puppet::Reports, " when registering report types" do
39
41
  it "should evaluate the supplied block as code for a module" do
40
- expect(Puppet::Reports).to receive(:genmodule).and_return(Module.new)
42
+ Puppet::Reports.expects(:genmodule).returns(Module.new)
41
43
  Puppet::Reports.register_report(:testing) { }
42
44
  end
43
45
 
@@ -52,17 +54,17 @@ describe Puppet::Reports, " when registering report types" do
52
54
  end
53
55
 
54
56
  it "should extend the report type with the Puppet::Util::Docs module" do
55
- mod = double('module', :define_method => true)
57
+ mod = stub 'module', :define_method => true
56
58
 
57
- expect(Puppet::Reports).to receive(:genmodule).with(anything, hash_including(extend: Puppet::Util::Docs)).and_return(mod)
59
+ Puppet::Reports.expects(:genmodule).with { |name, options, block| options[:extend] == Puppet::Util::Docs }.returns(mod)
58
60
  Puppet::Reports.register_report(:testing) { }
59
61
  end
60
62
 
61
63
  it "should define a :report_name method in the module that returns the name of the report" do
62
- mod = double('module')
63
- expect(mod).to receive(:define_method).with(:report_name)
64
+ mod = mock 'module'
65
+ mod.expects(:define_method).with(:report_name)
64
66
 
65
- expect(Puppet::Reports).to receive(:genmodule).and_return(mod)
67
+ Puppet::Reports.expects(:genmodule).returns(mod)
66
68
  Puppet::Reports.register_report(:testing) { }
67
69
  end
68
70
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require_relative '../pops/parser/parser_rspec_helper'
3
4
  require 'puppet/resource/capability_finder'
@@ -5,14 +6,15 @@ require 'puppet/resource/capability_finder'
5
6
  describe Puppet::Resource::CapabilityFinder do
6
7
  context 'when PuppetDB is not configured' do
7
8
  it 'should error' do
8
- expect(Puppet::Util).to receive(:const_defined?).with('Puppetdb').and_return(false)
9
+ Puppet::Util.expects(:const_defined?).with('Puppetdb').returns false
9
10
  expect { Puppet::Resource::CapabilityFinder.find('production', nil, nil) }.to raise_error(/PuppetDB is not available/)
10
11
  end
11
12
  end
12
13
 
13
14
  context 'when PuppetDB is configured' do
15
+
14
16
  before(:each) do
15
- allow_any_instance_of(Puppet::Parser::Compiler).to receive(:loaders).and_return(loaders)
17
+ Puppet::Parser::Compiler.any_instance.stubs(:loaders).returns(loaders)
16
18
  Puppet.push_context({:loaders => loaders, :current_environment => env})
17
19
  if mock_pdb
18
20
  module Puppet::Util::Puppetdb
@@ -33,7 +35,7 @@ describe Puppet::Resource::CapabilityFinder do
33
35
  let(:loaders) { Puppet::Pops::Loaders.new(env) }
34
36
 
35
37
  let(:response_body) { [{"type"=>"Cap", "title"=>"cap", "parameters"=>{"host"=>"ahost"}}] }
36
- let(:response) { double('response', :body => response_body.to_json) }
38
+ let(:response) { stub('response', :body => response_body.to_json) }
37
39
 
38
40
  def make_cap_type
39
41
  Puppet::Type.newtype :cap, :is_capability => true do
@@ -44,8 +46,8 @@ describe Puppet::Resource::CapabilityFinder do
44
46
 
45
47
  describe "when query_puppetdb method is available" do
46
48
  it 'should call use the query_puppetdb method if available' do
47
- expect(Puppet::Util::Puppetdb).to receive(:query_puppetdb).and_return(response_body)
48
- expect(Puppet::Util::Puppetdb::Http).not_to receive(:action)
49
+ Puppet::Util::Puppetdb.expects(:query_puppetdb).returns(response_body)
50
+ Puppet::Util::Puppetdb::Http.expects(:action).never
49
51
 
50
52
  result = Puppet::Resource::CapabilityFinder.find('production', nil, Puppet::Resource.new('Cap', 'cap'))
51
53
  expect(result['host']).to eq('ahost')
@@ -54,11 +56,11 @@ describe Puppet::Resource::CapabilityFinder do
54
56
 
55
57
  describe "when query_puppetdb method is unavailable" do
56
58
  before :each do
57
- allow(Puppet::Util::Puppetdb).to receive(:respond_to?).with(:query_puppetdb).and_return(false)
59
+ Puppet::Util::Puppetdb.stubs(:respond_to?).with(:query_puppetdb).returns false
58
60
  end
59
61
 
60
62
  it 'should call Puppet::Util::PuppetDB::Http.action' do
61
- expect(Puppet::Util::Puppetdb::Http).to receive(:action).and_return(response)
63
+ Puppet::Util::Puppetdb::Http.expects(:action).returns(response)
62
64
  result = Puppet::Resource::CapabilityFinder.find('production', nil, Puppet::Resource.new('Cap', 'cap'))
63
65
  expect(result['host']).to eq('ahost')
64
66
  end
@@ -70,14 +72,14 @@ describe Puppet::Resource::CapabilityFinder do
70
72
 
71
73
  it 'should search for the resource without including code_id or environment' do
72
74
  resources = [{"type"=>"Cap", "title"=>"cap", "parameters"=>{"host"=>"ahost"}}]
73
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with(nil, nil, capability).and_return(resources)
75
+ Puppet::Resource::CapabilityFinder.stubs(:search).with(nil, nil, capability).returns resources
74
76
 
75
77
  result = Puppet::Resource::CapabilityFinder.find('production', code_id, Puppet::Resource.new('Cap', 'cap'))
76
78
  expect(result['host']).to eq('ahost')
77
79
  end
78
80
 
79
81
  it 'should return nil if no resource is found' do
80
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with(nil, nil, capability).and_return([])
82
+ Puppet::Resource::CapabilityFinder.stubs(:search).with(nil, nil, capability).returns []
81
83
 
82
84
  result = Puppet::Resource::CapabilityFinder.find('production', code_id, capability)
83
85
  expect(result).to be_nil
@@ -90,7 +92,7 @@ describe Puppet::Resource::CapabilityFinder do
90
92
  end
91
93
 
92
94
  before :each do
93
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with(nil, nil, capability).and_return(resources)
95
+ Puppet::Resource::CapabilityFinder.stubs(:search).with(nil, nil, capability).returns resources
94
96
  end
95
97
 
96
98
  it 'should return the resource matching environment' do
@@ -111,30 +113,30 @@ describe Puppet::Resource::CapabilityFinder do
111
113
  end
112
114
 
113
115
  before :each do
114
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with(nil, nil, capability).and_return(resources)
116
+ Puppet::Resource::CapabilityFinder.stubs(:search).with(nil, nil, capability).returns resources
115
117
  end
116
118
 
117
119
  it 'should return the resource matching code_id' do
118
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with('production', code_id, capability).and_return([{"type"=>"Cap", "title"=>"cap", "parameters"=>{"host"=>"chost"}}])
120
+ Puppet::Resource::CapabilityFinder.stubs(:search).with('production', code_id, capability).returns [{"type"=>"Cap", "title"=>"cap", "parameters"=>{"host"=>"chost"}}]
119
121
 
120
122
  result = Puppet::Resource::CapabilityFinder.find('production', code_id, capability)
121
123
  expect(result['host']).to eq('chost')
122
124
  end
123
125
 
124
126
  it 'should fail if no resource matches code_id' do
125
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with('production', code_id, capability).and_return([])
127
+ Puppet::Resource::CapabilityFinder.stubs(:search).with('production', code_id, capability).returns []
126
128
 
127
129
  expect { Puppet::Resource::CapabilityFinder.find('production', code_id, capability) }.to raise_error(Puppet::Error, /expected exactly one resource but got 2/)
128
130
  end
129
131
 
130
132
  it 'should fail if multiple resources match code_id' do
131
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with('production', code_id, capability).and_return(resources)
133
+ Puppet::Resource::CapabilityFinder.stubs(:search).with('production', code_id, capability).returns resources
132
134
 
133
135
  expect { Puppet::Resource::CapabilityFinder.find('production', code_id, capability) }.to raise_error(Puppet::DevError, /expected exactly one resource but got 2/)
134
136
  end
135
137
 
136
138
  it 'should fail if no code_id was specified' do
137
- allow(Puppet::Resource::CapabilityFinder).to receive(:search).with('production', nil, capability).and_return(resources)
139
+ Puppet::Resource::CapabilityFinder.stubs(:search).with('production', nil, capability).returns resources
138
140
  expect { Puppet::Resource::CapabilityFinder.find('production', nil, capability) }.to raise_error(Puppet::DevError, /expected exactly one resource but got 2/)
139
141
  end
140
142
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet_spec/compiler'
3
4
 
@@ -10,7 +11,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
10
11
  before do
11
12
  @basepath = make_absolute("/somepath")
12
13
  # stub this to not try to create state.yaml
13
- allow(Puppet::Util::Storage).to receive(:store)
14
+ Puppet::Util::Storage.stubs(:store)
14
15
  end
15
16
 
16
17
  it "should support json, pson, dot, yaml" do
@@ -70,11 +71,11 @@ describe Puppet::Resource::Catalog, "when compiling" do
70
71
 
71
72
  Puppet[:classfile] = File.expand_path("/class/file")
72
73
 
73
- fh = double('filehandle')
74
+ fh = mock 'filehandle'
74
75
  classfile = Puppet.settings.setting(:classfile)
75
- expect(Puppet::FileSystem).to receive(:open).with(classfile.value, classfile.mode.to_i(8), "w:UTF-8").and_yield(fh)
76
+ Puppet::FileSystem.expects(:open).with(classfile.value, classfile.mode.to_i(8), "w:UTF-8").yields fh
76
77
 
77
- expect(fh).to receive(:puts).with("foo\nbar")
78
+ fh.expects(:puts).with "foo\nbar"
78
79
 
79
80
  @catalog.write_class_file
80
81
  end
@@ -97,7 +98,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
97
98
  end
98
99
 
99
100
  it "should include a catalog_uuid" do
100
- allow(SecureRandom).to receive(:uuid).and_return("827a74c8-cf98-44da-9ff7-18c5e4bee41e")
101
+ SecureRandom.stubs(:uuid).returns ("827a74c8-cf98-44da-9ff7-18c5e4bee41e")
101
102
  catalog = Puppet::Resource::Catalog.new("host")
102
103
  expect(catalog.catalog_uuid).to eq("827a74c8-cf98-44da-9ff7-18c5e4bee41e")
103
104
  end
@@ -234,29 +235,15 @@ describe Puppet::Resource::Catalog, "when compiling" do
234
235
  @original.tag(*%w{one two three})
235
236
  @original.add_class(*%w{four five six})
236
237
 
237
- @r1 = double(
238
- 'r1',
239
- :ref => "File[/a]",
240
- :[] => nil,
241
- :virtual => nil,
242
- :catalog= => nil,
243
- )
244
- allow(@r1).to receive(:respond_to?)
245
- allow(@r1).to receive(:respond_to?).with(:ref).and_return(true)
246
- allow(@r1).to receive(:copy_as_resource).and_return(@r1)
247
- allow(@r1).to receive(:is_a?).with(Puppet::Resource).and_return(true)
248
-
249
- @r2 = double(
250
- 'r2',
251
- :ref => "File[/b]",
252
- :[] => nil,
253
- :virtual => nil,
254
- :catalog= => nil,
255
- )
256
- allow(@r2).to receive(:respond_to?)
257
- allow(@r2).to receive(:respond_to?).with(:ref).and_return(true)
258
- allow(@r2).to receive(:copy_as_resource).and_return(@r2)
259
- allow(@r2).to receive(:is_a?).with(Puppet::Resource).and_return(true)
238
+ @r1 = stub_everything 'r1', :ref => "File[/a]"
239
+ @r1.stubs(:respond_to?).with(:ref).returns(true)
240
+ @r1.stubs(:copy_as_resource).returns(@r1)
241
+ @r1.stubs(:is_a?).with(Puppet::Resource).returns(true)
242
+
243
+ @r2 = stub_everything 'r2', :ref => "File[/b]"
244
+ @r2.stubs(:respond_to?).with(:ref).returns(true)
245
+ @r2.stubs(:copy_as_resource).returns(@r2)
246
+ @r2.stubs(:is_a?).with(Puppet::Resource).returns(true)
260
247
 
261
248
  @resources = [@r1,@r2]
262
249
 
@@ -264,13 +251,13 @@ describe Puppet::Resource::Catalog, "when compiling" do
264
251
  end
265
252
 
266
253
  it "should transform the catalog to a resource catalog" do
267
- expect(@original).to receive(:to_catalog).with(:to_resource)
254
+ @original.expects(:to_catalog).with { |h,b| h == :to_resource }
268
255
 
269
256
  @original.filter
270
257
  end
271
258
 
272
259
  it "should scan each catalog resource in turn and apply filtering block" do
273
- @resources.each { |r| expect(r).to receive(:test?) }
260
+ @resources.each { |r| r.expects(:test?) }
274
261
  @original.filter do |r|
275
262
  r.test?
276
263
  end
@@ -334,7 +321,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
334
321
  end
335
322
 
336
323
  it "should set itself as the resource's catalog if it is not a relationship graph" do
337
- expect(@one).to receive(:catalog=).with(@catalog)
324
+ @one.expects(:catalog=).with(@catalog)
338
325
  @catalog.add_resource @one
339
326
  end
340
327
 
@@ -424,14 +411,14 @@ describe Puppet::Resource::Catalog, "when compiling" do
424
411
  it "should remove all resources when asked" do
425
412
  @catalog.add_resource @one
426
413
  @catalog.add_resource @two
427
- expect(@one).to receive(:remove)
428
- expect(@two).to receive(:remove)
414
+ @one.expects :remove
415
+ @two.expects :remove
429
416
  @catalog.clear(true)
430
417
  end
431
418
 
432
419
  it "should support a mechanism for finishing resources" do
433
- expect(@one).to receive(:finish)
434
- expect(@two).to receive(:finish)
420
+ @one.expects :finish
421
+ @two.expects :finish
435
422
  @catalog.add_resource @one
436
423
  @catalog.add_resource @two
437
424
 
@@ -439,7 +426,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
439
426
  end
440
427
 
441
428
  it "should make default resources when finalizing" do
442
- expect(@catalog).to receive(:make_default_resources)
429
+ @catalog.expects(:make_default_resources)
443
430
  @catalog.finalize
444
431
  end
445
432
 
@@ -449,8 +436,8 @@ describe Puppet::Resource::Catalog, "when compiling" do
449
436
  end
450
437
 
451
438
  it "should optionally support an initialization block and should finalize after such blocks" do
452
- expect(@one).to receive(:finish)
453
- expect(@two).to receive(:finish)
439
+ @one.expects :finish
440
+ @two.expects :finish
454
441
  Puppet::Resource::Catalog.new("host") do |conf|
455
442
  conf.add_resource @one
456
443
  conf.add_resource @two
@@ -458,7 +445,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
458
445
  end
459
446
 
460
447
  it "should inform the resource that it is the resource's catalog" do
461
- expect(@one).to receive(:catalog=).with(@catalog)
448
+ @one.expects(:catalog=).with(@catalog)
462
449
  @catalog.add_resource @one
463
450
  end
464
451
 
@@ -541,14 +528,14 @@ describe Puppet::Resource::Catalog, "when compiling" do
541
528
  it "should remove resource aliases when the target resource is removed" do
542
529
  @catalog.add_resource @one
543
530
  @catalog.alias(@one, "other")
544
- expect(@one).to receive(:remove)
531
+ @one.expects :remove
545
532
  @catalog.remove_resource(@one)
546
533
  expect(@catalog.resource("notify", "other")).to be_nil
547
534
  end
548
535
 
549
536
  it "should add an alias for the namevar when the title and name differ on isomorphic resource types" do
550
537
  resource = Puppet::Type.type(:file).new :path => @basepath+"/something", :title => "other", :content => "blah"
551
- expect(resource).to receive(:isomorphic?).and_return(true)
538
+ resource.expects(:isomorphic?).returns(true)
552
539
  @catalog.add_resource(resource)
553
540
  expect(@catalog.resource(:file, "other")).to equal(resource)
554
541
  expect(@catalog.resource(:file, @basepath+"/something").ref).to eq(resource.ref)
@@ -556,7 +543,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
556
543
 
557
544
  it "should not add an alias for the namevar when the title and name differ on non-isomorphic resource types" do
558
545
  resource = Puppet::Type.type(:file).new :path => @basepath+"/something", :title => "other", :content => "blah"
559
- expect(resource).to receive(:isomorphic?).and_return(false)
546
+ resource.expects(:isomorphic?).returns(false)
560
547
  @catalog.add_resource(resource)
561
548
  expect(@catalog.resource(:file, resource.title)).to equal(resource)
562
549
  # We can't use .should here, because the resources respond to that method.
@@ -565,8 +552,8 @@ describe Puppet::Resource::Catalog, "when compiling" do
565
552
 
566
553
  it "should provide a method to create additional resources that also registers the resource" do
567
554
  args = {:name => "/yay", :ensure => :file}
568
- resource = double('file', :ref => "File[/yay]", :catalog= => @catalog, :title => "/yay", :[] => "/yay")
569
- expect(Puppet::Type.type(:file)).to receive(:new).with(args).and_return(resource)
555
+ resource = stub 'file', :ref => "File[/yay]", :catalog= => @catalog, :title => "/yay", :[] => "/yay"
556
+ Puppet::Type.type(:file).expects(:new).with(args).returns(resource)
570
557
  @catalog.create_resource :file, args
571
558
  expect(@catalog.resource("File[/yay]")).to equal(resource)
572
559
  end
@@ -630,20 +617,20 @@ describe Puppet::Resource::Catalog, "when compiling" do
630
617
  @catalog = Puppet::Resource::Catalog.new("host")
631
618
 
632
619
  @transaction = Puppet::Transaction.new(@catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
633
- allow(Puppet::Transaction).to receive(:new).and_return(@transaction)
634
- allow(@transaction).to receive(:evaluate)
635
- allow(@transaction).to receive(:for_network_device=)
620
+ Puppet::Transaction.stubs(:new).returns(@transaction)
621
+ @transaction.stubs(:evaluate)
622
+ @transaction.stubs(:for_network_device=)
636
623
 
637
- allow(Puppet.settings).to receive(:use)
624
+ Puppet.settings.stubs(:use)
638
625
  end
639
626
 
640
627
  it "should create and evaluate a transaction" do
641
- expect(@transaction).to receive(:evaluate)
628
+ @transaction.expects(:evaluate)
642
629
  @catalog.apply
643
630
  end
644
631
 
645
632
  it "should add a transaction evalution time to the report" do
646
- expect(@transaction.report).to receive(:add_times).with(:transaction_evaluation, kind_of(Numeric))
633
+ @transaction.report.expects(:add_times).with(:transaction_evaluation, kind_of(Numeric))
647
634
  @catalog.apply
648
635
  end
649
636
 
@@ -667,17 +654,17 @@ describe Puppet::Resource::Catalog, "when compiling" do
667
654
  end
668
655
 
669
656
  it "should pass supplied tags on to the transaction" do
670
- expect(@transaction).to receive(:tags=).with(%w{one two})
657
+ @transaction.expects(:tags=).with(%w{one two})
671
658
  @catalog.apply(:tags => %w{one two})
672
659
  end
673
660
 
674
661
  it "should set ignoreschedules on the transaction if specified in apply()" do
675
- expect(@transaction).to receive(:ignoreschedules=).with(true)
662
+ @transaction.expects(:ignoreschedules=).with(true)
676
663
  @catalog.apply(:ignoreschedules => true)
677
664
  end
678
665
 
679
666
  it "should detect transaction failure and report it" do
680
- allow(@transaction).to receive(:evaluate).and_raise(RuntimeError, 'transaction failed.')
667
+ @transaction.stubs(:evaluate).raises(RuntimeError, 'transaction failed.')
681
668
  report = Puppet::Transaction::Report.new('apply')
682
669
 
683
670
  expect { @catalog.apply(:report => report) }.to raise_error(RuntimeError)
@@ -687,28 +674,31 @@ describe Puppet::Resource::Catalog, "when compiling" do
687
674
  end
688
675
 
689
676
  describe "host catalogs" do
677
+
690
678
  # super() doesn't work in the setup method for some reason
691
679
  before do
692
680
  @catalog.host_config = true
693
- allow(Puppet::Util::Storage).to receive(:store)
681
+ Puppet::Util::Storage.stubs(:store)
694
682
  end
695
683
 
696
684
  it "should initialize the state database before applying a catalog" do
697
- expect(Puppet::Util::Storage).to receive(:load)
685
+ Puppet::Util::Storage.expects(:load)
698
686
 
699
687
  # Short-circuit the apply, so we know we're loading before the transaction
700
- expect(Puppet::Transaction).to receive(:new).and_raise(ArgumentError)
688
+ Puppet::Transaction.expects(:new).raises ArgumentError
701
689
  expect { @catalog.apply }.to raise_error(ArgumentError)
702
690
  end
703
691
 
704
692
  it "should sync the state database after applying" do
705
- expect(Puppet::Util::Storage).to receive(:store)
706
- allow(@transaction).to receive(:any_failed?).and_return(false)
693
+ Puppet::Util::Storage.expects(:store)
694
+ @transaction.stubs :any_failed? => false
707
695
  @catalog.apply
708
696
  end
697
+
709
698
  end
710
699
 
711
700
  describe "non-host catalogs" do
701
+
712
702
  before do
713
703
  @catalog.host_config = false
714
704
  end
@@ -720,10 +710,11 @@ describe Puppet::Resource::Catalog, "when compiling" do
720
710
  end
721
711
 
722
712
  it "should never modify the state database" do
723
- expect(Puppet::Util::Storage).not_to receive(:load)
724
- expect(Puppet::Util::Storage).not_to receive(:store)
713
+ Puppet::Util::Storage.expects(:load).never
714
+ Puppet::Util::Storage.expects(:store).never
725
715
  @catalog.apply
726
716
  end
717
+
727
718
  end
728
719
  end
729
720
 
@@ -733,7 +724,7 @@ describe Puppet::Resource::Catalog, "when compiling" do
733
724
  end
734
725
 
735
726
  it "should get removed when the catalog is cleaned up" do
736
- expect(@catalog.relationship_graph).to receive(:clear)
727
+ @catalog.relationship_graph.expects(:clear)
737
728
 
738
729
  @catalog.clear
739
730
 
@@ -749,18 +740,19 @@ describe Puppet::Resource::Catalog, "when compiling" do
749
740
  end
750
741
 
751
742
  it "should only write when it is a host catalog" do
752
- expect(Puppet::FileSystem).not_to receive(:open).with(@file, 0640, "w:UTF-8")
743
+ Puppet::FileSystem.expects(:open).with(@file, 0640, "w:UTF-8").never
753
744
  @catalog.host_config = false
754
745
  Puppet[:graph] = true
755
746
  @catalog.write_graph(@name)
756
747
  end
748
+
757
749
  end
758
750
 
759
751
  describe "when indirecting" do
760
752
  before do
761
753
  @real_indirection = Puppet::Resource::Catalog.indirection
762
754
 
763
- @indirection = double('indirection', :name => :catalog)
755
+ @indirection = stub 'indirection', :name => :catalog
764
756
  end
765
757
 
766
758
  it "should use the value of the 'catalog_terminus' setting to determine its terminus class" do
@@ -885,6 +877,7 @@ describe Puppet::Resource::Catalog, "when converting a resource catalog to json"
885
877
  Puppet.pop_context
886
878
  end
887
879
 
880
+
888
881
  let(:catalog_w_regexp) { compile_to_catalog("notify {'foo': message => /[a-z]+/ }") }
889
882
 
890
883
  it 'should generate rich value hash for parameter values that are not Data' do
@@ -1019,7 +1012,9 @@ describe Puppet::Resource::Catalog, "when converting a resource catalog to json"
1019
1012
  expect(message['a']).to eql(nil)
1020
1013
  expect(message['b']).to eql(10)
1021
1014
  end
1015
+
1022
1016
  end
1017
+
1023
1018
  end
1024
1019
  end
1025
1020
 
@@ -1050,29 +1045,30 @@ describe Puppet::Resource::Catalog, "when converting to json" do
1050
1045
  end
1051
1046
 
1052
1047
  it "should convert its resources to a JSON-encoded array and store it as the 'resources' data" do
1053
- one = double('one', :to_data_hash => "one_resource", :ref => "Foo[one]")
1054
- two = double('two', :to_data_hash => "two_resource", :ref => "Foo[two]")
1048
+ one = stub 'one', :to_data_hash => "one_resource", :ref => "Foo[one]"
1049
+ two = stub 'two', :to_data_hash => "two_resource", :ref => "Foo[two]"
1055
1050
 
1056
- expect(one).to receive(:'[]').with(:alias).and_return(nil)
1057
- expect(two).to receive(:'[]').with(:alias).and_return(nil)
1051
+ one.expects(:'[]').with(:alias).returns nil
1052
+ two.expects(:'[]').with(:alias).returns nil
1058
1053
 
1059
1054
  @catalog.add_resource(one)
1060
1055
  @catalog.add_resource(two)
1061
1056
 
1062
1057
  # TODO this should really guarantee sort order
1063
1058
  expect(JSON.parse(@catalog.to_json,:create_additions => false)['resources'].sort).to eq(["one_resource", "two_resource"].sort)
1059
+
1064
1060
  end
1065
1061
 
1066
1062
  it "should convert its edges to a JSON-encoded array and store it as the 'edges' data" do
1067
- one = double('one', :to_data_hash => "one_resource", :ref => 'Foo[one]')
1068
- two = double('two', :to_data_hash => "two_resource", :ref => 'Foo[two]')
1069
- three = double('three', :to_data_hash => "three_resource", :ref => 'Foo[three]')
1063
+ one = stub 'one', :to_data_hash => "one_resource", :ref => 'Foo[one]'
1064
+ two = stub 'two', :to_data_hash => "two_resource", :ref => 'Foo[two]'
1065
+ three = stub 'three', :to_data_hash => "three_resource", :ref => 'Foo[three]'
1070
1066
 
1071
1067
  @catalog.add_edge(one, two)
1072
1068
  @catalog.add_edge(two, three)
1073
1069
 
1074
- expect(@catalog.edges_between(one, two )[0]).to receive(:to_data_hash).and_return("one_two_json")
1075
- expect(@catalog.edges_between(two, three)[0]).to receive(:to_data_hash).and_return("two_three_json")
1070
+ @catalog.edges_between(one, two )[0].expects(:to_data_hash).returns "one_two_json"
1071
+ @catalog.edges_between(two, three)[0].expects(:to_data_hash).returns "two_three_json"
1076
1072
 
1077
1073
  expect(JSON.parse(@catalog.to_json,:create_additions => false)['edges'].sort).to eq(%w{one_two_json two_three_json}.sort)
1078
1074
  end