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/compiler'
3
4
  require 'matchers/resource'
@@ -10,14 +11,14 @@ describe Puppet::Resource::Catalog::Compiler do
10
11
  let(:node) { Puppet::Node.new(node_name)}
11
12
 
12
13
  before do
13
- allow(Facter).to receive(:to_hash).and_return({})
14
+ Facter.stubs(:to_hash).returns({})
14
15
  end
15
16
 
16
17
  describe "when initializing" do
17
18
  before do
18
- expect(Puppet).to receive(:version).and_return(1)
19
- expect(Facter).to receive(:value).with('fqdn').and_return("my.server.com")
20
- expect(Facter).to receive(:value).with('ipaddress').and_return("my.ip.address")
19
+ Puppet.expects(:version).returns(1)
20
+ Facter.expects(:value).with('fqdn').returns("my.server.com")
21
+ Facter.expects(:value).with('ipaddress').returns("my.ip.address")
21
22
  end
22
23
 
23
24
  it "should gather data about itself" do
@@ -29,7 +30,7 @@ describe Puppet::Resource::Catalog::Compiler do
29
30
  Puppet::Node.indirection.save(Puppet::Node.new("node1"))
30
31
  Puppet::Node.indirection.save(Puppet::Node.new("node2"))
31
32
 
32
- allow(compiler).to receive(:compile)
33
+ compiler.stubs(:compile)
33
34
 
34
35
  compiler.find(Puppet::Indirector::Request.new(:catalog, :find, 'node1', nil, :node => 'node1'))
35
36
  compiler.find(Puppet::Indirector::Request.new(:catalog, :find, 'node2', nil, :node => 'node2'))
@@ -38,71 +39,71 @@ describe Puppet::Resource::Catalog::Compiler do
38
39
 
39
40
  describe "when finding catalogs" do
40
41
  before do
41
- allow(Facter).to receive(:value).and_return("whatever")
42
+ Facter.stubs(:value).returns("whatever")
42
43
 
43
- allow(node).to receive(:merge)
44
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
44
+ node.stubs(:merge)
45
+ Puppet::Node.indirection.stubs(:find).returns(node)
45
46
  @request = Puppet::Indirector::Request.new(:catalog, :find, node_name, nil, :node => node_name)
46
47
  end
47
48
 
48
49
  it "should directly use provided nodes for a local request" do
49
- expect(Puppet::Node.indirection).not_to receive(:find)
50
- expect(compiler).to receive(:compile).with(node, anything)
51
- allow(@request).to receive(:options).and_return(:use_node => node)
52
- allow(@request).to receive(:remote?).and_return(false)
50
+ Puppet::Node.indirection.expects(:find).never
51
+ compiler.expects(:compile).with(node, anything)
52
+ @request.stubs(:options).returns(:use_node => node)
53
+ @request.stubs(:remote?).returns(false)
53
54
  compiler.find(@request)
54
55
  end
55
56
 
56
57
  it "rejects a provided node if the request is remote" do
57
- allow(@request).to receive(:options).and_return(:use_node => node)
58
- allow(@request).to receive(:remote?).and_return(true)
58
+ @request.stubs(:options).returns(:use_node => node)
59
+ @request.stubs(:remote?).returns(true)
59
60
  expect {
60
61
  compiler.find(@request)
61
62
  }.to raise_error Puppet::Error, /invalid option use_node/i
62
63
  end
63
64
 
64
65
  it "should use the authenticated node name if no request key is provided" do
65
- allow(@request).to receive(:key).and_return(nil)
66
- expect(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
67
- expect(compiler).to receive(:compile).with(node, anything)
66
+ @request.stubs(:key).returns(nil)
67
+ Puppet::Node.indirection.expects(:find).with(node_name, anything).returns(node)
68
+ compiler.expects(:compile).with(node, anything)
68
69
  compiler.find(@request)
69
70
  end
70
71
 
71
72
  it "should use the provided node name by default" do
72
- expect(@request).to receive(:key).and_return("my_node")
73
+ @request.expects(:key).returns "my_node"
73
74
 
74
- expect(Puppet::Node.indirection).to receive(:find).with("my_node", anything).and_return(node)
75
- expect(compiler).to receive(:compile).with(node, anything)
75
+ Puppet::Node.indirection.expects(:find).with("my_node", anything).returns node
76
+ compiler.expects(:compile).with(node, anything)
76
77
  compiler.find(@request)
77
78
  end
78
79
 
79
80
  it "should fail if no node is passed and none can be found" do
80
- allow(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(nil)
81
+ Puppet::Node.indirection.stubs(:find).with(node_name, anything).returns(nil)
81
82
  expect { compiler.find(@request) }.to raise_error(ArgumentError)
82
83
  end
83
84
 
84
85
  it "should fail intelligently when searching for a node raises an exception" do
85
- allow(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_raise("eh")
86
+ Puppet::Node.indirection.stubs(:find).with(node_name, anything).raises "eh"
86
87
  expect { compiler.find(@request) }.to raise_error(Puppet::Error)
87
88
  end
88
89
 
89
90
  it "should pass the found node to the compiler for compiling" do
90
- expect(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
91
- expect(Puppet::Parser::Compiler).to receive(:compile).with(node, anything)
91
+ Puppet::Node.indirection.expects(:find).with(node_name, anything).returns(node)
92
+ Puppet::Parser::Compiler.expects(:compile).with(node, anything)
92
93
  compiler.find(@request)
93
94
  end
94
95
 
95
96
  it "should pass node containing percent character to the compiler" do
96
97
  node_with_percent_character = Puppet::Node.new "%6de"
97
- allow(Puppet::Node.indirection).to receive(:find).and_return(node_with_percent_character)
98
- expect(Puppet::Parser::Compiler).to receive(:compile).with(node_with_percent_character, anything)
98
+ Puppet::Node.indirection.stubs(:find).returns(node_with_percent_character)
99
+ Puppet::Parser::Compiler.expects(:compile).with(node_with_percent_character, anything)
99
100
  compiler.find(@request)
100
101
  end
101
102
 
102
103
  it "should extract any facts from the request" do
103
- expect(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
104
- expect(compiler).to receive(:extract_facts_from_request).with(@request)
105
- allow(Puppet::Parser::Compiler).to receive(:compile)
104
+ Puppet::Node.indirection.expects(:find).with(node_name, anything).returns node
105
+ compiler.expects(:extract_facts_from_request).with(@request)
106
+ Puppet::Parser::Compiler.stubs(:compile)
106
107
  compiler.find(@request)
107
108
  end
108
109
 
@@ -125,119 +126,119 @@ describe Puppet::Resource::Catalog::Compiler do
125
126
  end
126
127
 
127
128
  it "should return the results of compiling as the catalog" do
128
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
129
+ Puppet::Node.indirection.stubs(:find).returns(node)
129
130
  catalog = Puppet::Resource::Catalog.new(node.name)
130
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
131
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
131
132
 
132
133
  expect(compiler.find(@request)).to equal(catalog)
133
134
  end
134
135
 
135
136
  it "passes the code_id from the request to the compiler" do
136
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
137
+ Puppet::Node.indirection.stubs(:find).returns(node)
137
138
  code_id = 'b59e5df0578ef411f773ee6c33d8073c50e7b8fe'
138
139
  @request.options[:code_id] = code_id
139
140
 
140
- expect(Puppet::Parser::Compiler).to receive(:compile).with(anything, code_id)
141
+ Puppet::Parser::Compiler.expects(:compile).with(anything, code_id)
141
142
 
142
143
  compiler.find(@request)
143
144
  end
144
145
 
145
146
  it "returns a catalog with the code_id from the request" do
146
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
147
+ Puppet::Node.indirection.stubs(:find).returns(node)
147
148
  code_id = 'b59e5df0578ef411f773ee6c33d8073c50e7b8fe'
148
149
  @request.options[:code_id] = code_id
149
150
 
150
151
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment, code_id)
151
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
152
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
152
153
 
153
154
  expect(compiler.find(@request).code_id).to eq(code_id)
154
155
  end
155
156
 
156
157
  it "does not inline metadata when the static_catalog option is false" do
157
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
158
+ Puppet::Node.indirection.stubs(:find).returns(node)
158
159
  @request.options[:static_catalog] = false
159
160
  @request.options[:code_id] = 'some_code_id'
160
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
161
+ node.environment.stubs(:static_catalogs?).returns true
161
162
 
162
163
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment)
163
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
164
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
164
165
 
165
- expect(compiler).not_to receive(:inline_metadata)
166
+ compiler.expects(:inline_metadata).never
166
167
  compiler.find(@request)
167
168
  end
168
169
 
169
170
  it "does not inline metadata when static_catalogs are disabled" do
170
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
171
+ Puppet::Node.indirection.stubs(:find).returns(node)
171
172
  @request.options[:static_catalog] = true
172
173
  @request.options[:checksum_type] = 'md5'
173
174
  @request.options[:code_id] = 'some_code_id'
174
- allow(node.environment).to receive(:static_catalogs?).and_return(false)
175
+ node.environment.stubs(:static_catalogs?).returns false
175
176
 
176
177
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment)
177
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
178
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
178
179
 
179
- expect(compiler).not_to receive(:inline_metadata)
180
+ compiler.expects(:inline_metadata).never
180
181
  compiler.find(@request)
181
182
  end
182
183
 
183
184
  it "does not inline metadata when code_id is not specified" do
184
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
185
+ Puppet::Node.indirection.stubs(:find).returns(node)
185
186
  @request.options[:static_catalog] = true
186
187
  @request.options[:checksum_type] = 'md5'
187
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
188
+ node.environment.stubs(:static_catalogs?).returns true
188
189
 
189
190
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment)
190
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
191
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
191
192
 
192
- expect(compiler).not_to receive(:inline_metadata)
193
+ compiler.expects(:inline_metadata).never
193
194
  expect(compiler.find(@request)).to eq(catalog)
194
195
  end
195
196
 
196
197
  it "inlines metadata when the static_catalog option is true, static_catalogs are enabled, and a code_id is provided" do
197
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
198
+ Puppet::Node.indirection.stubs(:find).returns(node)
198
199
  @request.options[:static_catalog] = true
199
200
  @request.options[:checksum_type] = 'sha256'
200
201
  @request.options[:code_id] = 'some_code_id'
201
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
202
+ node.environment.stubs(:static_catalogs?).returns true
202
203
 
203
204
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment)
204
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
205
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
205
206
 
206
- expect(compiler).to receive(:inline_metadata).with(catalog, :sha256).and_return(catalog)
207
+ compiler.expects(:inline_metadata).with(catalog, :sha256).returns catalog
207
208
  compiler.find(@request)
208
209
  end
209
210
 
210
211
  it "inlines metadata with the first common checksum type" do
211
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
212
+ Puppet::Node.indirection.stubs(:find).returns(node)
212
213
  @request.options[:static_catalog] = true
213
214
  @request.options[:checksum_type] = 'atime.md5.sha256.mtime'
214
215
  @request.options[:code_id] = 'some_code_id'
215
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
216
+ node.environment.stubs(:static_catalogs?).returns true
216
217
 
217
218
  catalog = Puppet::Resource::Catalog.new(node.name, node.environment)
218
- allow(Puppet::Parser::Compiler).to receive(:compile).and_return(catalog)
219
+ Puppet::Parser::Compiler.stubs(:compile).returns catalog
219
220
 
220
- expect(compiler).to receive(:inline_metadata).with(catalog, :md5).and_return(catalog)
221
+ compiler.expects(:inline_metadata).with(catalog, :md5).returns catalog
221
222
  compiler.find(@request)
222
223
  end
223
224
 
224
225
  it "errors if checksum_type contains no shared checksum types" do
225
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
226
+ Puppet::Node.indirection.stubs(:find).returns(node)
226
227
  @request.options[:static_catalog] = true
227
228
  @request.options[:checksum_type] = 'atime.md2'
228
229
  @request.options[:code_id] = 'some_code_id'
229
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
230
+ node.environment.stubs(:static_catalogs?).returns true
230
231
 
231
232
  expect { compiler.find(@request) }.to raise_error Puppet::Error,
232
233
  "Unable to find a common checksum type between agent 'atime.md2' and master '[:sha256, :sha256lite, :md5, :md5lite, :sha1, :sha1lite, :sha512, :sha384, :sha224, :mtime, :ctime, :none]'."
233
234
  end
234
235
 
235
236
  it "errors if checksum_type contains no shared checksum types" do
236
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
237
+ Puppet::Node.indirection.stubs(:find).returns(node)
237
238
  @request.options[:static_catalog] = true
238
239
  @request.options[:checksum_type] = nil
239
240
  @request.options[:code_id] = 'some_code_id'
240
- allow(node.environment).to receive(:static_catalogs?).and_return(true)
241
+ node.environment.stubs(:static_catalogs?).returns true
241
242
 
242
243
  expect { compiler.find(@request) }.to raise_error Puppet::Error,
243
244
  "Unable to find a common checksum type between agent '' and master '[:sha256, :sha256lite, :md5, :md5lite, :sha1, :sha1lite, :sha512, :sha384, :sha224, :mtime, :ctime, :none]'."
@@ -247,7 +248,7 @@ describe Puppet::Resource::Catalog::Compiler do
247
248
  describe "when handling a request with facts" do
248
249
  before do
249
250
  Puppet::Node::Facts.indirection.terminus_class = :memory
250
- allow(Facter).to receive(:value).and_return("something")
251
+ Facter.stubs(:value).returns "something"
251
252
 
252
253
  @facts = Puppet::Node::Facts.new('hostname', "fact" => "value", "architecture" => "i386")
253
254
  end
@@ -316,7 +317,7 @@ describe Puppet::Resource::Catalog::Compiler do
316
317
  :transaction_uuid => request.options[:transaction_uuid],
317
318
  }
318
319
 
319
- expect(Puppet::Node::Facts.indirection).to receive(:save).with(@facts, nil, options)
320
+ Puppet::Node::Facts.indirection.expects(:save).with(equals(@facts), nil, options)
320
321
  compiler.find(request)
321
322
  end
322
323
 
@@ -328,7 +329,7 @@ describe Puppet::Resource::Catalog::Compiler do
328
329
  :transaction_uuid => request.options[:transaction_uuid],
329
330
  }
330
331
 
331
- expect(Puppet::Node::Facts.indirection).not_to receive(:save).with(@facts, nil, options)
332
+ Puppet::Node::Facts.indirection.expects(:save).with(equals(@facts), nil, options).never
332
333
  compiler.find(request)
333
334
  end
334
335
  end
@@ -336,53 +337,53 @@ describe Puppet::Resource::Catalog::Compiler do
336
337
 
337
338
  describe "when finding nodes" do
338
339
  it "should look node information up via the Node class with the provided key" do
339
- allow(Facter).to receive(:value).and_return("whatever")
340
+ Facter.stubs(:value).returns("whatever")
340
341
  request = Puppet::Indirector::Request.new(:catalog, :find, node_name, nil)
341
- allow(compiler).to receive(:compile)
342
+ compiler.stubs(:compile)
342
343
 
343
- expect(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
344
+ Puppet::Node.indirection.expects(:find).with(node_name, anything).returns(node)
344
345
 
345
346
  compiler.find(request)
346
347
  end
347
348
 
348
349
  it "should pass the transaction_uuid to the node indirection" do
349
350
  uuid = '793ff10d-89f8-4527-a645-3302cbc749f3'
350
- allow(compiler).to receive(:compile)
351
+ compiler.stubs(:compile)
351
352
  request = Puppet::Indirector::Request.new(:catalog, :find, node_name,
352
353
  nil, :transaction_uuid => uuid)
353
354
 
354
- expect(Puppet::Node.indirection).to receive(:find).with(
355
+ Puppet::Node.indirection.expects(:find).with(
355
356
  node_name,
356
- hash_including(:transaction_uuid => uuid)
357
- ).and_return(node)
357
+ has_entries(:transaction_uuid => uuid)
358
+ ).returns(node)
358
359
 
359
360
  compiler.find(request)
360
361
  end
361
362
 
362
363
  it "should pass the configured_environment to the node indirection" do
363
364
  environment = 'foo'
364
- allow(compiler).to receive(:compile)
365
+ compiler.stubs(:compile)
365
366
  request = Puppet::Indirector::Request.new(:catalog, :find, node_name,
366
367
  nil, :configured_environment => environment)
367
368
 
368
- expect(Puppet::Node.indirection).to receive(:find).with(
369
+ Puppet::Node.indirection.expects(:find).with(
369
370
  node_name,
370
- hash_including(:configured_environment => environment)
371
- ).and_return(node)
371
+ has_entries(:configured_environment => environment)
372
+ ).returns(node)
372
373
 
373
374
  compiler.find(request)
374
375
  end
375
376
 
376
377
  it "should pass a facts object from the original request facts to the node indirection" do
377
378
  facts = Puppet::Node::Facts.new("hostname", :afact => "avalue")
378
- expect(compiler).to receive(:extract_facts_from_request).and_return(facts)
379
- expect(compiler).to receive(:save_facts_from_request)
379
+ compiler.expects(:extract_facts_from_request).returns(facts)
380
+ compiler.expects(:save_facts_from_request)
380
381
 
381
382
  request = Puppet::Indirector::Request.new(:catalog, :find, "hostname",
382
383
  nil, :facts_format => "application/json",
383
384
  :facts => facts.render('json'))
384
385
 
385
- expect(Puppet::Node.indirection).to receive(:find).with("hostname", hash_including(:facts => facts)).and_return(node)
386
+ Puppet::Node.indirection.expects(:find).with("hostname", has_entries(:facts => facts)).returns(node)
386
387
 
387
388
  compiler.find(request)
388
389
  end
@@ -390,61 +391,62 @@ describe Puppet::Resource::Catalog::Compiler do
390
391
 
391
392
  describe "after finding nodes" do
392
393
  before do
393
- expect(Puppet).to receive(:version).and_return(1)
394
- expect(Facter).to receive(:value).with('fqdn').and_return("my.server.com")
395
- expect(Facter).to receive(:value).with('ipaddress').and_return("my.ip.address")
394
+ Puppet.expects(:version).returns(1)
395
+ Facter.expects(:value).with('fqdn').returns("my.server.com")
396
+ Facter.expects(:value).with('ipaddress').returns("my.ip.address")
396
397
  @request = Puppet::Indirector::Request.new(:catalog, :find, node_name, nil)
397
- allow(compiler).to receive(:compile)
398
- allow(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
398
+ compiler.stubs(:compile)
399
+ Puppet::Node.indirection.stubs(:find).with(node_name, anything).returns(node)
399
400
  end
400
401
 
401
402
  it "should add the server's Puppet version to the node's parameters as 'serverversion'" do
402
- expect(node).to receive(:merge).with(hash_including("serverversion" => "1"))
403
+ node.expects(:merge).with { |args| args["serverversion"] == "1" }
403
404
  compiler.find(@request)
404
405
  end
405
406
 
406
407
  it "should add the server's fqdn to the node's parameters as 'servername'" do
407
- expect(node).to receive(:merge).with(hash_including("servername" => "my.server.com"))
408
+ node.expects(:merge).with { |args| args["servername"] == "my.server.com" }
408
409
  compiler.find(@request)
409
410
  end
410
411
 
411
412
  it "should add the server's IP address to the node's parameters as 'serverip'" do
412
- expect(node).to receive(:merge).with(hash_including("serverip" => "my.ip.address"))
413
+ node.expects(:merge).with { |args| args["serverip"] == "my.ip.address" }
413
414
  compiler.find(@request)
414
415
  end
415
416
  end
416
417
 
417
418
  describe "when filtering resources" do
418
419
  before :each do
419
- allow(Facter).to receive(:value)
420
- @catalog = double('catalog')
421
- allow(@catalog).to receive(:respond_to?).with(:filter).and_return(true)
420
+ Facter.stubs(:value)
421
+ @catalog = stub_everything 'catalog'
422
+ @catalog.stubs(:respond_to?).with(:filter).returns(true)
422
423
  end
423
424
 
424
425
  it "should delegate to the catalog instance filtering" do
425
- expect(@catalog).to receive(:filter)
426
+ @catalog.expects(:filter)
426
427
  compiler.filter(@catalog)
427
428
  end
428
429
 
429
430
  it "should filter out virtual resources" do
430
- resource = double('resource', :virtual? => true)
431
- allow(@catalog).to receive(:filter).and_yield(resource)
431
+ resource = mock 'resource', :virtual? => true
432
+ @catalog.stubs(:filter).yields(resource)
432
433
 
433
434
  compiler.filter(@catalog)
434
435
  end
435
436
 
436
437
  it "should return the same catalog if it doesn't support filtering" do
437
- allow(@catalog).to receive(:respond_to?).with(:filter).and_return(false)
438
+ @catalog.stubs(:respond_to?).with(:filter).returns(false)
438
439
 
439
440
  expect(compiler.filter(@catalog)).to eq(@catalog)
440
441
  end
441
442
 
442
443
  it "should return the filtered catalog" do
443
- catalog = double('filtered catalog')
444
- allow(@catalog).to receive(:filter).and_return(catalog)
444
+ catalog = stub 'filtered catalog'
445
+ @catalog.stubs(:filter).returns(catalog)
445
446
 
446
447
  expect(compiler.filter(@catalog)).to eq(catalog)
447
448
  end
449
+
448
450
  end
449
451
 
450
452
  describe "when inlining metadata" do
@@ -459,33 +461,33 @@ describe Puppet::Resource::Catalog::Compiler do
459
461
  def stubs_resource_metadata(ftype, relative_path, full_path = nil)
460
462
  full_path ||= File.join(Puppet[:environmentpath], 'production', relative_path)
461
463
 
462
- metadata = double('metadata')
463
- allow(metadata).to receive(:ftype).and_return(ftype)
464
- allow(metadata).to receive(:full_path).and_return(full_path)
465
- allow(metadata).to receive(:relative_path).and_return(relative_path)
466
- allow(metadata).to receive(:source).and_return("puppet:///#{relative_path}")
467
- allow(metadata).to receive(:source=)
468
- allow(metadata).to receive(:content_uri=)
464
+ metadata = stub 'metadata'
465
+ metadata.stubs(:ftype).returns(ftype)
466
+ metadata.stubs(:full_path).returns(full_path)
467
+ metadata.stubs(:relative_path).returns(relative_path)
468
+ metadata.stubs(:source).returns("puppet:///#{relative_path}")
469
+ metadata.stubs(:source=)
470
+ metadata.stubs(:content_uri=)
469
471
 
470
472
  metadata
471
473
  end
472
474
 
473
475
  def stubs_file_metadata(checksum_type, sha, relative_path, full_path = nil)
474
476
  metadata = stubs_resource_metadata('file', relative_path, full_path)
475
- allow(metadata).to receive(:checksum).and_return("{#{checksum_type}}#{sha}")
476
- allow(metadata).to receive(:checksum_type).and_return(checksum_type)
477
+ metadata.stubs(:checksum).returns("{#{checksum_type}}#{sha}")
478
+ metadata.stubs(:checksum_type).returns(checksum_type)
477
479
  metadata
478
480
  end
479
481
 
480
482
  def stubs_link_metadata(relative_path, destination)
481
483
  metadata = stubs_resource_metadata('link', relative_path)
482
- allow(metadata).to receive(:destination).and_return(destination)
484
+ metadata.stubs(:destination).returns(destination)
483
485
  metadata
484
486
  end
485
487
 
486
488
  def stubs_directory_metadata(relative_path)
487
489
  metadata = stubs_resource_metadata('directory', relative_path)
488
- allow(metadata).to receive(:relative_path).and_return('.')
490
+ metadata.stubs(:relative_path).returns('.')
489
491
  metadata
490
492
  end
491
493
 
@@ -498,8 +500,8 @@ describe Puppet::Resource::Catalog::Compiler do
498
500
  MANIFEST
499
501
 
500
502
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/config_file.txt')
501
- expect(metadata).to receive(:source=).with(source)
502
- expect(metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
503
+ metadata.expects(:source=).with(source)
504
+ metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
503
505
 
504
506
  options = {
505
507
  :environment => catalog.environment_instance,
@@ -507,7 +509,7 @@ describe Puppet::Resource::Catalog::Compiler do
507
509
  :checksum_type => checksum_type.to_sym,
508
510
  :source_permissions => :ignore
509
511
  }
510
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, options).and_return(metadata)
512
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, options).returns(metadata)
511
513
 
512
514
  compiler.send(:inline_metadata, catalog, checksum_type)
513
515
 
@@ -526,8 +528,8 @@ describe Puppet::Resource::Catalog::Compiler do
526
528
  MANIFEST
527
529
 
528
530
  metadata = stubs_link_metadata('modules/mymodule/files/config_file.txt', '/tmp/some/absolute/path')
529
- expect(metadata).to receive(:source=).with(source)
530
- expect(metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
531
+ metadata.expects(:source=).with(source)
532
+ metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
531
533
 
532
534
  options = {
533
535
  :environment => catalog.environment_instance,
@@ -535,7 +537,7 @@ describe Puppet::Resource::Catalog::Compiler do
535
537
  :checksum_type => checksum_type.to_sym,
536
538
  :source_permissions => :use
537
539
  }
538
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, options).and_return(metadata)
540
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, options).returns(metadata)
539
541
 
540
542
  compiler.send(:inline_metadata, catalog, checksum_type)
541
543
 
@@ -566,7 +568,7 @@ describe Puppet::Resource::Catalog::Compiler do
566
568
  :source_permissions => default_file[:source_permissions]
567
569
  }
568
570
 
569
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, options).and_return(metadata)
571
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, options).returns(metadata)
570
572
 
571
573
  compiler.send(:inline_metadata, catalog, checksum_type)
572
574
  end
@@ -581,10 +583,10 @@ describe Puppet::Resource::Catalog::Compiler do
581
583
  MANIFEST
582
584
 
583
585
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/config_file.txt')
584
- expect(metadata).to receive(:source=).with(source)
585
- expect(metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
586
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
587
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(alt_source, anything).and_return(nil)
586
+ metadata.expects(:source=).with(source)
587
+ metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/config_file.txt')
588
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
589
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(alt_source, anything).returns(nil)
588
590
 
589
591
  compiler.send(:inline_metadata, catalog, checksum_type)
590
592
 
@@ -611,7 +613,7 @@ describe Puppet::Resource::Catalog::Compiler do
611
613
  :checksum_type => checksum_type.to_sym,
612
614
  :source_permissions => :ignore
613
615
  }
614
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, options).and_return(metadata)
616
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, options).returns(metadata)
615
617
 
616
618
  compiler.send(:inline_metadata, catalog, checksum_type)
617
619
 
@@ -632,11 +634,11 @@ describe Puppet::Resource::Catalog::Compiler do
632
634
  MANIFEST
633
635
 
634
636
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/config_file.txt')
635
- allow(metadata).to receive(:source).and_return(source)
637
+ metadata.stubs(:source).returns(source)
636
638
 
637
- expect(metadata).to receive(:content_uri=).with('puppet://myhost:8888/modules/mymodule/files/config_file.txt')
639
+ metadata.expects(:content_uri=).with('puppet://myhost:8888/modules/mymodule/files/config_file.txt')
638
640
 
639
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
641
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
640
642
 
641
643
  compiler.send(:inline_metadata, catalog, checksum_type)
642
644
  end
@@ -703,7 +705,7 @@ describe Puppet::Resource::Catalog::Compiler do
703
705
 
704
706
  full_path = File.join(Puppet[:codedir], "modules/mymodule/files/config_file.txt")
705
707
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/config_file.txt', full_path)
706
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
708
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
707
709
 
708
710
  compiler.send(:inline_metadata, catalog, checksum_type)
709
711
  expect(catalog.metadata).to be_empty
@@ -721,7 +723,7 @@ describe Puppet::Resource::Catalog::Compiler do
721
723
  MANIFEST
722
724
 
723
725
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'secure/files/data.txt')
724
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
726
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
725
727
 
726
728
  compiler.send(:inline_metadata, catalog, checksum_type)
727
729
  expect(catalog.metadata).to be_empty
@@ -737,7 +739,7 @@ describe Puppet::Resource::Catalog::Compiler do
737
739
  MANIFEST
738
740
 
739
741
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/not_in_files/config_file.txt')
740
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
742
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
741
743
 
742
744
  compiler.send(:inline_metadata, catalog, checksum_type)
743
745
  expect(catalog.metadata).to be_empty
@@ -754,7 +756,7 @@ describe Puppet::Resource::Catalog::Compiler do
754
756
 
755
757
  # note empty module name "modules//files"
756
758
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules//files/config_file.txt')
757
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
759
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
758
760
 
759
761
  compiler.send(:inline_metadata, catalog, checksum_type)
760
762
  expect(catalog.metadata).to be_empty
@@ -774,9 +776,9 @@ describe Puppet::Resource::Catalog::Compiler do
774
776
 
775
777
  # See https://github.com/puppetlabs/control-repo/blob/508b9cc/site/profile/files/puppetmaster/update-classes.sh
776
778
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'site/profile/files/puppetmaster/update-classes.sh')
777
- allow(metadata).to receive(:source).and_return(source)
779
+ metadata.stubs(:source).returns(source)
778
780
 
779
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
781
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
780
782
 
781
783
  compiler.send(:inline_metadata, catalog, checksum_type)
782
784
  expect(catalog.metadata[path]).to eq(metadata)
@@ -796,9 +798,9 @@ describe Puppet::Resource::Catalog::Compiler do
796
798
  MANIFEST
797
799
 
798
800
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/myfile')
799
- allow(metadata).to receive(:source).and_return(source)
801
+ metadata.stubs(:source).returns(source)
800
802
 
801
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
803
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
802
804
 
803
805
  compiler.send(:inline_metadata, catalog, checksum_type)
804
806
  expect(catalog.metadata[path]).to eq(metadata)
@@ -818,8 +820,8 @@ describe Puppet::Resource::Catalog::Compiler do
818
820
  }
819
821
  MANIFEST
820
822
 
821
- expect(metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/directory')
822
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source_dir, anything).and_return(metadata)
823
+ metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/directory')
824
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source_dir, anything).returns(metadata)
823
825
 
824
826
  compiler.send(:inline_metadata, catalog, checksum_type)
825
827
 
@@ -840,8 +842,8 @@ describe Puppet::Resource::Catalog::Compiler do
840
842
  }
841
843
  MANIFEST
842
844
 
843
- expect(metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/directory')
844
- expect(child_metadata).to receive(:content_uri=).with('puppet:///modules/mymodule/files/directory/myfile.txt')
845
+ metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/directory')
846
+ child_metadata.expects(:content_uri=).with('puppet:///modules/mymodule/files/directory/myfile.txt')
845
847
 
846
848
  options = {
847
849
  :environment => catalog.environment_instance,
@@ -852,7 +854,7 @@ describe Puppet::Resource::Catalog::Compiler do
852
854
  :recurselimit => nil,
853
855
  :ignore => nil,
854
856
  }
855
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, options).and_return([metadata, child_metadata])
857
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source_dir, options).returns([metadata, child_metadata])
856
858
 
857
859
  compiler.send(:inline_metadata, catalog, checksum_type)
858
860
 
@@ -883,7 +885,7 @@ describe Puppet::Resource::Catalog::Compiler do
883
885
  :recurselimit => 2,
884
886
  :ignore => 'foo.+',
885
887
  }
886
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, options).and_return([metadata, child_metadata])
888
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source_dir, options).returns([metadata, child_metadata])
887
889
 
888
890
  compiler.send(:inline_metadata, catalog, checksum_type)
889
891
 
@@ -902,8 +904,8 @@ describe Puppet::Resource::Catalog::Compiler do
902
904
  }
903
905
  MANIFEST
904
906
 
905
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, anything).and_return([metadata, child_metadata])
906
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(alt_source_dir, anything).and_return([metadata, child_metadata])
907
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source_dir, anything).returns([metadata, child_metadata])
908
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(alt_source_dir, anything).returns([metadata, child_metadata])
907
909
 
908
910
  compiler.send(:inline_metadata, catalog, checksum_type)
909
911
 
@@ -922,8 +924,8 @@ describe Puppet::Resource::Catalog::Compiler do
922
924
  }
923
925
  MANIFEST
924
926
 
925
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, anything).and_return(nil)
926
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(alt_source_dir, anything).and_return([metadata, child_metadata])
927
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source_dir, anything).returns(nil)
928
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(alt_source_dir, anything).returns([metadata, child_metadata])
927
929
 
928
930
  compiler.send(:inline_metadata, catalog, checksum_type)
929
931
 
@@ -944,9 +946,9 @@ describe Puppet::Resource::Catalog::Compiler do
944
946
  MANIFEST
945
947
 
946
948
  metadata = stubs_directory_metadata('secure/files/data')
947
- allow(metadata).to receive(:source).and_return(source)
949
+ metadata.stubs(:source).returns(source)
948
950
 
949
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source, anything).and_return([metadata])
951
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source, anything).returns([metadata])
950
952
 
951
953
  compiler.send(:inline_metadata, catalog, checksum_type)
952
954
  expect(catalog.metadata).to be_empty
@@ -965,7 +967,7 @@ describe Puppet::Resource::Catalog::Compiler do
965
967
  MANIFEST
966
968
 
967
969
  metadata = stubs_directory_metadata('modules/mymodule/not_in_files/directory')
968
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source, anything).and_return([metadata])
970
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source, anything).returns([metadata])
969
971
 
970
972
  compiler.send(:inline_metadata, catalog, checksum_type)
971
973
  expect(catalog.metadata).to be_empty
@@ -986,12 +988,12 @@ describe Puppet::Resource::Catalog::Compiler do
986
988
 
987
989
  # See https://github.com/puppetlabs/control-repo/blob/508b9cc/site/profile/files/puppetmaster/update-classes.sh
988
990
  dir_metadata = stubs_directory_metadata('site/profile/files/puppetmaster')
989
- allow(dir_metadata).to receive(:source).and_return(source)
991
+ dir_metadata.stubs(:source).returns(source)
990
992
 
991
993
  child_metadata = stubs_file_metadata(checksum_type, checksum_value, './update-classes.sh')
992
- allow(child_metadata).to receive(:source).and_return("#{source}/update-classes.sh")
994
+ child_metadata.stubs(:source).returns("#{source}/update-classes.sh")
993
995
 
994
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source, anything).and_return([dir_metadata, child_metadata])
996
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source, anything).returns([dir_metadata, child_metadata])
995
997
 
996
998
  compiler.send(:inline_metadata, catalog, checksum_type)
997
999
  expect(catalog.metadata).to be_empty
@@ -1010,12 +1012,12 @@ describe Puppet::Resource::Catalog::Compiler do
1010
1012
  MANIFEST
1011
1013
 
1012
1014
  dir_metadata = stubs_directory_metadata('modules/mymodule/files/directory')
1013
- allow(dir_metadata).to receive(:source).and_return(source)
1015
+ dir_metadata.stubs(:source).returns(source)
1014
1016
 
1015
1017
  child_metadata = stubs_file_metadata(checksum_type, checksum_value, './file')
1016
- allow(child_metadata).to receive(:source).and_return("#{source}/file")
1018
+ child_metadata.stubs(:source).returns("#{source}/file")
1017
1019
 
1018
- expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source, anything).and_return([dir_metadata, child_metadata])
1020
+ Puppet::FileServing::Metadata.indirection.expects(:search).with(source, anything).returns([dir_metadata, child_metadata])
1019
1021
 
1020
1022
  compiler.send(:inline_metadata, catalog, checksum_type)
1021
1023
 
@@ -1044,7 +1046,7 @@ describe Puppet::Resource::Catalog::Compiler do
1044
1046
  MANIFEST
1045
1047
 
1046
1048
  metadata = stubs_file_metadata(checksum_type, checksum_value, 'modules/mymodule/files/config_file.txt')
1047
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, anything).and_return(metadata)
1049
+ Puppet::FileServing::Metadata.indirection.expects(:find).with(source, anything).returns(metadata)
1048
1050
 
1049
1051
  compiler.send(:inline_metadata, catalog, checksum_type)
1050
1052
  expect(catalog.metadata['c:/foo']).to eq(metadata)