puppet 6.0.10-x86-mingw32 → 6.1.0-x86-mingw32

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,5 @@
1
+ #! /usr/bin/env ruby
2
+
1
3
  require 'spec_helper'
2
4
  require 'puppet/node/facts'
3
5
  require 'matchers/json'
@@ -95,14 +97,14 @@ describe Puppet::Node::Facts, "when indirecting" do
95
97
 
96
98
  describe "when indirecting" do
97
99
  before do
98
- @indirection = double('indirection', :request => double('request'), :name => :facts)
100
+ @indirection = stub 'indirection', :request => mock('request'), :name => :facts
99
101
 
100
102
  @facts = Puppet::Node::Facts.new("me", "one" => "two")
101
103
  end
102
104
 
103
105
  it "should redirect to the specified fact store for storage" do
104
- allow(Puppet::Node::Facts).to receive(:indirection).and_return(@indirection)
105
- expect(@indirection).to receive(:save)
106
+ Puppet::Node::Facts.stubs(:indirection).returns(@indirection)
107
+ @indirection.expects(:save)
106
108
  Puppet::Node::Facts.indirection.save(@facts)
107
109
  end
108
110
 
@@ -188,7 +190,7 @@ describe Puppet::Node::Facts, "when indirecting" do
188
190
  end
189
191
 
190
192
  it "should generate properly formatted json" do
191
- allow(Time).to receive(:now).and_return(@timestamp)
193
+ Time.stubs(:now).returns(@timestamp)
192
194
  facts = Puppet::Node::Facts.new("foo", {'a' => 1, 'b' => 2, 'c' => 3})
193
195
  facts.expiration = @expiration
194
196
  result = JSON.parse(facts.to_json)
@@ -199,7 +201,7 @@ describe Puppet::Node::Facts, "when indirecting" do
199
201
  end
200
202
 
201
203
  it "should generate valid facts data against the facts schema" do
202
- allow(Time).to receive(:now).and_return(@timestamp)
204
+ Time.stubs(:now).returns(@timestamp)
203
205
  facts = Puppet::Node::Facts.new("foo", {'a' => 1, 'b' => 2, 'c' => 3})
204
206
  facts.expiration = @expiration
205
207
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'matchers/json'
3
4
  require 'puppet_spec/files'
@@ -10,6 +11,7 @@ describe Puppet::Node do
10
11
  let(:env_loader) { Puppet::Environments::Static.new(environment) }
11
12
 
12
13
  describe "when managing its environment" do
14
+
13
15
  it "provides an environment instance" do
14
16
  expect(Puppet::Node.new("foo", :environment => environment).environment.name).to eq(:bar)
15
17
  end
@@ -133,6 +135,7 @@ describe Puppet::Node do
133
135
  it "errors if name is nil" do
134
136
  expect { Puppet::Node.from_data_hash({ })}.to raise_error(ArgumentError, /No name provided in serialized data/)
135
137
  end
138
+
136
139
  end
137
140
 
138
141
  describe "when converting to json" do
@@ -271,18 +274,18 @@ describe Puppet::Node, "when merging facts" do
271
274
  let(:facts) { Puppet::Node::Facts.new(@node.name, "foo" => "bar") }
272
275
 
273
276
  it "accepts facts to merge with the node" do
274
- expect(@node).to receive(:merge).with({ 'foo' => 'bar' })
277
+ @node.expects(:merge).with({ 'foo' => 'bar' })
275
278
  @node.fact_merge(facts)
276
279
  end
277
280
 
278
281
  it "will not query the facts indirection if facts are supplied" do
279
- expect(Puppet::Node::Facts.indirection).not_to receive(:find)
282
+ Puppet::Node::Facts.indirection.expects(:find).never
280
283
  @node.fact_merge(facts)
281
284
  end
282
285
  end
283
286
 
284
287
  it "recovers with a Puppet::Error if something is thrown from the facts indirection" do
285
- expect(Puppet::Node::Facts.indirection).to receive(:find).and_raise("something bad happened in the indirector")
288
+ Puppet::Node::Facts.indirection.expects(:find).raises "something bad happened in the indirector"
286
289
  expect { @node.fact_merge }.to raise_error(Puppet::Error, /Could not retrieve facts for testnode: something bad happened in the indirector/)
287
290
  end
288
291
 
@@ -300,7 +303,7 @@ describe Puppet::Node, "when merging facts" do
300
303
 
301
304
  it "warns when a parameter value is not updated" do
302
305
  @node = Puppet::Node.new("testnode", :parameters => {"one" => "a"})
303
- expect(Puppet).to receive(:warning).with('The node parameter \'one\' for node \'testnode\' was already set to \'a\'. It could not be set to \'b\'')
306
+ Puppet.expects(:warning).with('The node parameter \'one\' for node \'testnode\' was already set to \'a\'. It could not be set to \'b\'')
304
307
  @node.merge "one" => "b"
305
308
  end
306
309
 
@@ -374,7 +377,9 @@ describe Puppet::Node, "when merging facts" do
374
377
  end
375
378
 
376
379
  context "when a node is initialized from new" do
380
+
377
381
  context "when a node is initialzed with an environment" do
382
+
378
383
  it "adds the environment to the list of parameters" do
379
384
  Puppet[:environment] = "one"
380
385
  @node = Puppet::Node.new("testnode", :environment => "one")
@@ -396,6 +401,7 @@ describe Puppet::Node, "when merging facts" do
396
401
  end
397
402
 
398
403
  context "when a node is initialized without an environment" do
404
+
399
405
  it "it perfers an environment name to an environment fact" do
400
406
  @node = Puppet::Node.new("testnode")
401
407
  @node.environment_name = "one"
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:file), " when manipulating file contexts" do
@@ -1,9 +1,10 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet'
3
4
  require 'puppet/parameter/boolean'
4
5
 
5
6
  describe Puppet::Parameter::Boolean do
6
- let (:resource) { double('resource') }
7
+ let (:resource) { mock('resource') }
7
8
  describe "after initvars" do
8
9
  before { described_class.initvars }
9
10
  it "should have the correct value_collection" do
@@ -1,9 +1,10 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/parameter/package_options'
4
5
 
5
6
  describe Puppet::Parameter::PackageOptions do
6
- let (:resource) { double('resource') }
7
+ let (:resource) { mock('resource') }
7
8
  let (:param) { described_class.new(:resource => resource) }
8
9
  let (:arg) { '/S' }
9
10
  let (:key) { 'INSTALLDIR' }
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/parameter/path'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/parameter'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/parameter'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/parameter'
@@ -8,9 +9,8 @@ describe Puppet::Parameter do
8
9
  @name = :foo
9
10
  end
10
11
  @class.initvars
11
- @resource = double('resource')
12
- allow(@resource).to receive(:expects)
13
- allow(@resource).to receive(:pathbuilder)
12
+ @resource = mock 'resource'
13
+ @resource.stub_everything
14
14
  @parameter = @class.new :resource => @resource
15
15
  end
16
16
 
@@ -27,13 +27,13 @@ describe Puppet::Parameter do
27
27
 
28
28
  [:line, :file, :version].each do |data|
29
29
  it "should return its resource's #{data} as its #{data}" do
30
- expect(@resource).to receive(data).and_return("foo")
30
+ @resource.expects(data).returns "foo"
31
31
  expect(@parameter.send(data)).to eq("foo")
32
32
  end
33
33
  end
34
34
 
35
35
  it "should return the resource's tags plus its name as its tags" do
36
- expect(@resource).to receive(:tags).and_return(%w{one two})
36
+ @resource.expects(:tags).returns %w{one two}
37
37
  expect(@parameter.tags).to eq(%w{one two foo})
38
38
  end
39
39
 
@@ -47,12 +47,12 @@ describe Puppet::Parameter do
47
47
  end
48
48
 
49
49
  it "should validate the value" do
50
- expect(@parameter).to receive(:validate).with("foo")
50
+ @parameter.expects(:validate).with("foo")
51
51
  @parameter.value = "foo"
52
52
  end
53
53
 
54
54
  it "should munge the value and use any result as the actual value" do
55
- expect(@parameter).to receive(:munge).with("foo").and_return("bar")
55
+ @parameter.expects(:munge).with("foo").returns "bar"
56
56
  @parameter.value = "foo"
57
57
  expect(@parameter.value).to eq("bar")
58
58
  end
@@ -149,8 +149,8 @@ describe Puppet::Parameter do
149
149
 
150
150
  describe "when logging" do
151
151
  it "should use its resource's log level and the provided message" do
152
- expect(@resource).to receive(:[]).with(:loglevel).and_return(:notice)
153
- expect(@parameter).to receive(:send_log).with(:notice, "mymessage")
152
+ @resource.expects(:[]).with(:loglevel).returns :notice
153
+ @parameter.expects(:send_log).with(:notice, "mymessage")
154
154
  @parameter.log "mymessage"
155
155
  end
156
156
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/parser/ast/block_expression'
3
4
 
@@ -15,9 +16,9 @@ describe 'Puppet::Parser::AST::BlockExpression' do
15
16
  StackDepthAST.new({})
16
17
  end
17
18
 
18
- def sequence_probe(name)
19
- probe = double("Sequence Probe #{name}")
20
- expect(probe).to receive(:safeevaluate).ordered
19
+ def sequence_probe(name, sequence)
20
+ probe = mock("Sequence Probe #{name}")
21
+ probe.expects(:safeevaluate).in_sequence(sequence)
21
22
  probe
22
23
  end
23
24
 
@@ -56,9 +57,10 @@ describe 'Puppet::Parser::AST::BlockExpression' do
56
57
  end
57
58
 
58
59
  it "evaluates sequenced children in order" do
59
- expr1 = block_of([sequence_probe("Step 1")])
60
- expr2 = block_of([sequence_probe("Step 2")])
61
- expr3 = block_of([sequence_probe("Step 3")])
60
+ evaluation_order = sequence("Child evaluation order")
61
+ expr1 = block_of([sequence_probe("Step 1", evaluation_order)])
62
+ expr2 = block_of([sequence_probe("Step 2", evaluation_order)])
63
+ expr3 = block_of([sequence_probe("Step 3", evaluation_order)])
62
64
 
63
65
  expr1.sequence_with(expr2).sequence_with(expr3).evaluate(NO_SCOPE)
64
66
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Parser::AST::Leaf do
@@ -5,14 +6,14 @@ describe Puppet::Parser::AST::Leaf do
5
6
  node = Puppet::Node.new('localhost')
6
7
  compiler = Puppet::Parser::Compiler.new(node)
7
8
  @scope = Puppet::Parser::Scope.new(compiler)
8
- @value = double('value')
9
+ @value = stub 'value'
9
10
  @leaf = Puppet::Parser::AST::Leaf.new(:value => @value)
10
11
  end
11
12
 
12
13
  describe "when converting to string" do
13
14
  it "should transform its value to string" do
14
- value = double('value', :is_a? => true)
15
- expect(value).to receive(:to_s)
15
+ value = stub 'value', :is_a? => true
16
+ value.expects(:to_s)
16
17
  Puppet::Parser::AST::Leaf.new( :value => value ).to_s
17
18
  end
18
19
  end
@@ -22,7 +23,7 @@ describe Puppet::Parser::AST::Leaf do
22
23
  end
23
24
 
24
25
  it "should delegate match to ==" do
25
- expect(@value).to receive(:==).with("value")
26
+ @value.expects(:==).with("value")
26
27
 
27
28
  @leaf.match("value")
28
29
  end
@@ -38,14 +39,14 @@ describe Puppet::Parser::AST::Regex do
38
39
 
39
40
  describe "when initializing" do
40
41
  it "should create a Regexp with its content when value is not a Regexp" do
41
- expect(Regexp).to receive(:new).with("/ab/")
42
+ Regexp.expects(:new).with("/ab/")
42
43
 
43
44
  Puppet::Parser::AST::Regex.new :value => "/ab/"
44
45
  end
45
46
 
46
47
  it "should not create a Regexp with its content when value is a Regexp" do
47
48
  value = Regexp.new("/ab/")
48
- expect(Regexp).not_to receive(:new).with("/ab/")
49
+ Regexp.expects(:new).with("/ab/").never
49
50
 
50
51
  Puppet::Parser::AST::Regex.new :value => value
51
52
  end
@@ -60,11 +61,11 @@ describe Puppet::Parser::AST::Regex do
60
61
  end
61
62
 
62
63
  it 'should return the PRegexpType#regexp_to_s_with_delimiters with to_s' do
63
- regex = double('regex')
64
- allow(Regexp).to receive(:new).and_return(regex)
64
+ regex = stub 'regex'
65
+ Regexp.stubs(:new).returns(regex)
65
66
 
66
67
  val = Puppet::Parser::AST::Regex.new :value => '/ab/'
67
- expect(Puppet::Pops::Types::PRegexpType).to receive(:regexp_to_s_with_delimiters)
68
+ Puppet::Pops::Types::PRegexpType.expects(:regexp_to_s_with_delimiters)
68
69
 
69
70
  val.to_s
70
71
  end
@@ -73,7 +74,7 @@ describe Puppet::Parser::AST::Regex do
73
74
  regex = Regexp.new("/ab/")
74
75
  val = Puppet::Parser::AST::Regex.new :value => regex
75
76
 
76
- expect(regex).to receive(:match).with("value")
77
+ regex.expects(:match).with("value")
77
78
 
78
79
  val.match("value")
79
80
  end
@@ -85,8 +86,8 @@ describe Puppet::Parser::AST::HostName do
85
86
  compiler = Puppet::Parser::Compiler.new(node)
86
87
  @scope = Puppet::Parser::Scope.new(compiler)
87
88
  @value = 'value'
88
- allow(@value).to receive(:to_s).and_return(@value)
89
- allow(@value).to receive(:downcase).and_return(@value)
89
+ @value.stubs(:to_s).returns(@value)
90
+ @value.stubs(:downcase).returns(@value)
90
91
  @host = Puppet::Parser::AST::HostName.new(:value => @value)
91
92
  end
92
93
 
@@ -99,16 +100,16 @@ describe Puppet::Parser::AST::HostName do
99
100
  end
100
101
 
101
102
  it "should stringify the value" do
102
- value = double('value', :=~ => false)
103
+ value = stub 'value', :=~ => false
103
104
 
104
- expect(value).to receive(:to_s).and_return("test")
105
+ value.expects(:to_s).returns("test")
105
106
 
106
107
  Puppet::Parser::AST::HostName.new(:value => value)
107
108
  end
108
109
 
109
110
  it "should downcase the value" do
110
- value = double('value', :=~ => false)
111
- allow(value).to receive(:to_s).and_return("UPCASED")
111
+ value = stub 'value', :=~ => false
112
+ value.stubs(:to_s).returns("UPCASED")
112
113
  host = Puppet::Parser::AST::HostName.new(:value => value)
113
114
 
114
115
  host.value == "upcased"
@@ -119,18 +120,18 @@ describe Puppet::Parser::AST::HostName do
119
120
  end
120
121
 
121
122
  it "should delegate eql? to the underlying value if it is an HostName" do
122
- expect(@value).to receive(:eql?).with("value")
123
+ @value.expects(:eql?).with("value")
123
124
  @host.eql?("value")
124
125
  end
125
126
 
126
127
  it "should delegate eql? to the underlying value if it is not an HostName" do
127
- value = double('compared', :is_a? => true, :value => "value")
128
- expect(@value).to receive(:eql?).with("value")
128
+ value = stub 'compared', :is_a? => true, :value => "value"
129
+ @value.expects(:eql?).with("value")
129
130
  @host.eql?(value)
130
131
  end
131
132
 
132
133
  it "should delegate hash to the underlying value" do
133
- expect(@value).to receive(:hash)
134
+ @value.expects(:hash)
134
135
  @host.hash
135
136
  end
136
137
  end
@@ -71,20 +71,20 @@ describe Puppet::Parser::Compiler do
71
71
  # hidden away in the implementation and we keep losing the race.)
72
72
  # --daniel 2011-04-21
73
73
  now = Time.now
74
- allow(Time).to receive(:now).and_return(now)
74
+ Time.stubs(:now).returns(now)
75
75
 
76
76
  @node = Puppet::Node.new("testnode",
77
77
  :facts => Puppet::Node::Facts.new("facts", {}),
78
78
  :environment => environment)
79
79
  @known_resource_types = environment.known_resource_types
80
80
  @compiler = Puppet::Parser::Compiler.new(@node)
81
- @scope = Puppet::Parser::Scope.new(@compiler, :source => double('source'))
81
+ @scope = Puppet::Parser::Scope.new(@compiler, :source => stub('source'))
82
82
  @scope_resource = Puppet::Parser::Resource.new(:file, "/my/file", :scope => @scope)
83
83
  @scope.resource = @scope_resource
84
84
  end
85
85
 
86
86
  it "should fail intelligently when a class-level compile fails" do
87
- expect(Puppet::Parser::Compiler).to receive(:new).and_raise(ArgumentError)
87
+ Puppet::Parser::Compiler.expects(:new).raises ArgumentError
88
88
  expect { Puppet::Parser::Compiler.compile(@node) }.to raise_error(Puppet::Error)
89
89
  end
90
90
 
@@ -94,7 +94,7 @@ describe Puppet::Parser::Compiler do
94
94
 
95
95
  it "fails if the node's environment has validation errors" do
96
96
  conflicted_environment = Puppet::Node::Environment.create(:testing, [], '/some/environment.conf/manifest.pp')
97
- allow(conflicted_environment).to receive(:validation_errors).and_return(['bad environment'])
97
+ conflicted_environment.stubs(:validation_errors).returns(['bad environment'])
98
98
  @node.environment = conflicted_environment
99
99
  expect { Puppet::Parser::Compiler.compile(@node) }.to raise_error(Puppet::Error, /Compilation has been halted because.*bad environment/)
100
100
  end
@@ -108,6 +108,7 @@ describe Puppet::Parser::Compiler do
108
108
  end
109
109
 
110
110
  describe "when initializing" do
111
+
111
112
  it 'should not create the settings class more than once' do
112
113
  logs = []
113
114
  Puppet::Util::Log.with_destination(Puppet::Test::LogCollector.new(logs)) do
@@ -217,6 +218,7 @@ describe Puppet::Parser::Compiler do
217
218
  end
218
219
 
219
220
  describe "when managing scopes" do
221
+
220
222
  it "should create a top scope" do
221
223
  expect(@compiler.topscope).to be_instance_of(Puppet::Parser::Scope)
222
224
  end
@@ -226,7 +228,7 @@ describe Puppet::Parser::Compiler do
226
228
  end
227
229
 
228
230
  it "should set the parent scope of the new scope to be the passed-in parent" do
229
- scope = double('scope')
231
+ scope = mock 'scope'
230
232
  newscope = @compiler.newscope(scope)
231
233
 
232
234
  expect(newscope.parent).to equal(scope)
@@ -240,6 +242,7 @@ describe Puppet::Parser::Compiler do
240
242
  end
241
243
 
242
244
  describe "when compiling" do
245
+
243
246
  def compile_methods
244
247
  [:set_node_parameters, :evaluate_main, :evaluate_ast_node, :evaluate_node_classes, :evaluate_generators, :fail_on_unevaluated,
245
248
  :finish, :store, :extract, :evaluate_relationships]
@@ -247,12 +250,12 @@ describe Puppet::Parser::Compiler do
247
250
 
248
251
  # Stub all of the main compile methods except the ones we're specifically interested in.
249
252
  def compile_stub(*except)
250
- (compile_methods - except).each { |m| allow(@compiler).to receive(m) }
253
+ (compile_methods - except).each { |m| @compiler.stubs(m) }
251
254
  end
252
255
 
253
256
  it "should set node parameters as variables in the top scope" do
254
257
  params = {"a" => "b", "c" => "d"}
255
- allow(@node).to receive(:parameters).and_return(params)
258
+ @node.stubs(:parameters).returns(params)
256
259
  compile_stub(:set_node_parameters)
257
260
  @compiler.compile
258
261
  expect(@compiler.topscope['a']).to eq("b")
@@ -261,7 +264,7 @@ describe Puppet::Parser::Compiler do
261
264
 
262
265
  it "should set node parameters that are of Symbol type as String variables in the top scope" do
263
266
  params = {"a" => :b}
264
- allow(@node).to receive(:parameters).and_return(params)
267
+ @node.stubs(:parameters).returns(params)
265
268
  compile_stub(:set_node_parameters)
266
269
  @compiler.compile
267
270
  expect(@compiler.topscope['a']).to eq("b")
@@ -285,7 +288,7 @@ describe Puppet::Parser::Compiler do
285
288
 
286
289
  it "should set the client and server versions on the catalog" do
287
290
  params = {"clientversion" => "2", "serverversion" => "3"}
288
- allow(@node).to receive(:parameters).and_return(params)
291
+ @node.stubs(:parameters).returns(params)
289
292
  compile_stub(:set_node_parameters)
290
293
  @compiler.compile
291
294
  expect(@compiler.catalog.client_version).to eq("2")
@@ -295,8 +298,8 @@ describe Puppet::Parser::Compiler do
295
298
  it "should evaluate the main class if it exists" do
296
299
  compile_stub(:evaluate_main)
297
300
  main_class = @known_resource_types.add Puppet::Resource::Type.new(:hostclass, "")
298
- expect(main_class).to receive(:evaluate_code).with(be_a(Puppet::Parser::Resource))
299
- expect(@compiler.topscope).to receive(:source=).with(main_class)
301
+ main_class.expects(:evaluate_code).with { |r| r.is_a?(Puppet::Parser::Resource) }
302
+ @compiler.topscope.expects(:source=).with(main_class)
300
303
 
301
304
  @compiler.compile
302
305
  end
@@ -318,9 +321,9 @@ describe Puppet::Parser::Compiler do
318
321
  it "should evaluate all added collections" do
319
322
  colls = []
320
323
  # And when the collections fail to evaluate.
321
- colls << double("coll1-false")
322
- colls << double("coll2-false")
323
- colls.each { |c| expect(c).to receive(:evaluate).and_return(false) }
324
+ colls << mock("coll1-false")
325
+ colls << mock("coll2-false")
326
+ colls.each { |c| c.expects(:evaluate).returns(false) }
324
327
 
325
328
  @compiler.add_collection(colls[0])
326
329
  @compiler.add_collection(colls[1])
@@ -333,7 +336,7 @@ describe Puppet::Parser::Compiler do
333
336
  resource = resource(:file, "testing")
334
337
 
335
338
  @compiler.add_resource(@scope, resource)
336
- expect(resource).not_to receive(:evaluate)
339
+ resource.expects(:evaluate).never
337
340
 
338
341
  @compiler.compile
339
342
  end
@@ -344,17 +347,17 @@ describe Puppet::Parser::Compiler do
344
347
  @compiler.add_resource(@scope, resource)
345
348
 
346
349
  # We have to now mark the resource as evaluated
347
- expect(resource).to receive(:evaluate) { resource.evaluated = true }
350
+ resource.expects(:evaluate).with { |*whatever| resource.evaluated = true }
348
351
 
349
352
  @compiler.compile
350
353
  end
351
354
 
352
355
  it "should not evaluate already-evaluated resources" do
353
356
  resource = resource(:file, "testing")
354
- allow(resource).to receive(:evaluated?).and_return(true)
357
+ resource.stubs(:evaluated?).returns true
355
358
 
356
359
  @compiler.add_resource(@scope, resource)
357
- expect(resource).not_to receive(:evaluate)
360
+ resource.expects(:evaluate).never
358
361
 
359
362
  @compiler.compile
360
363
  end
@@ -366,8 +369,9 @@ describe Puppet::Parser::Compiler do
366
369
  resource2 = CompilerTestResource.new(:file, "other")
367
370
 
368
371
  # We have to now mark the resource as evaluated
369
- expect(resource).to receive(:evaluate) { resource.evaluated = true; @compiler.add_resource(@scope, resource2) }
370
- expect(resource2).to receive(:evaluate) { resource2.evaluated = true }
372
+ resource.expects(:evaluate).with { |*whatever| resource.evaluated = true; @compiler.add_resource(@scope, resource2) }
373
+ resource2.expects(:evaluate).with { |*whatever| resource2.evaluated = true }
374
+
371
375
 
372
376
  @compiler.compile
373
377
  end
@@ -388,12 +392,12 @@ describe Puppet::Parser::Compiler do
388
392
  it "should call finish() on all resources" do
389
393
  # Add a resource that does respond to :finish
390
394
  resource = Puppet::Parser::Resource.new "file", "finish", :scope => @scope
391
- expect(resource).to receive(:finish)
395
+ resource.expects(:finish)
392
396
 
393
397
  @compiler.add_resource(@scope, resource)
394
398
 
395
399
  # And one that does not
396
- dnf_resource = double("dnf", :ref => "File[dnf]", :type => "file", :resource_type => nil, :[] => nil, :class? => nil, :stage? => nil)
400
+ dnf_resource = stub_everything "dnf", :ref => "File[dnf]", :type => "file"
397
401
 
398
402
  @compiler.add_resource(@scope, dnf_resource)
399
403
 
@@ -401,11 +405,13 @@ describe Puppet::Parser::Compiler do
401
405
  end
402
406
 
403
407
  it "should call finish() in add_resource order" do
408
+ resources = sequence('resources')
409
+
404
410
  resource1 = add_resource("finish1")
405
- expect(resource1).to receive(:finish).ordered
411
+ resource1.expects(:finish).in_sequence(resources)
406
412
 
407
413
  resource2 = add_resource("finish2")
408
- expect(resource2).to receive(:finish).ordered
414
+ resource2.expects(:finish).in_sequence(resources)
409
415
 
410
416
  @compiler.send(:finish)
411
417
  end
@@ -546,21 +552,22 @@ describe Puppet::Parser::Compiler do
546
552
  resource.virtual = true
547
553
  @compiler.add_resource(@scope, resource)
548
554
 
549
- expect(resource).not_to receive(:evaluate)
555
+ resource.expects(:evaluate).never
550
556
 
551
557
  @compiler.compile
552
558
  end
553
559
  end
554
560
 
555
561
  describe "when evaluating collections" do
562
+
556
563
  it "should evaluate each collection" do
557
564
  2.times { |i|
558
- coll = double('coll%s' % i)
565
+ coll = mock 'coll%s' % i
559
566
  @compiler.add_collection(coll)
560
567
 
561
568
  # This is the hard part -- we have to emulate the fact that
562
569
  # collections delete themselves if they are done evaluating.
563
- expect(coll).to receive(:evaluate) do
570
+ coll.expects(:evaluate).with do
564
571
  @compiler.delete_collection(coll)
565
572
  end
566
573
  }
@@ -569,8 +576,8 @@ describe Puppet::Parser::Compiler do
569
576
  end
570
577
 
571
578
  it "should not fail when there are unevaluated resource collections that do not refer to specific resources" do
572
- coll = double('coll', :evaluate => false)
573
- expect(coll).to receive(:unresolved_resources).and_return(nil)
579
+ coll = stub 'coll', :evaluate => false
580
+ coll.expects(:unresolved_resources).returns(nil)
574
581
 
575
582
  @compiler.add_collection(coll)
576
583
 
@@ -578,8 +585,8 @@ describe Puppet::Parser::Compiler do
578
585
  end
579
586
 
580
587
  it "should fail when there are unevaluated resource collections that refer to a specific resource" do
581
- coll = double('coll', :evaluate => false)
582
- expect(coll).to receive(:unresolved_resources).and_return(:something)
588
+ coll = stub 'coll', :evaluate => false
589
+ coll.expects(:unresolved_resources).returns(:something)
583
590
 
584
591
  @compiler.add_collection(coll)
585
592
 
@@ -587,8 +594,8 @@ describe Puppet::Parser::Compiler do
587
594
  end
588
595
 
589
596
  it "should fail when there are unevaluated resource collections that refer to multiple specific resources" do
590
- coll = double('coll', :evaluate => false)
591
- expect(coll).to receive(:unresolved_resources).and_return([:one, :two])
597
+ coll = stub 'coll', :evaluate => false
598
+ coll.expects(:unresolved_resources).returns([:one, :two])
592
599
 
593
600
  @compiler.add_collection(coll)
594
601
 
@@ -598,21 +605,22 @@ describe Puppet::Parser::Compiler do
598
605
 
599
606
  describe "when evaluating relationships" do
600
607
  it "should evaluate each relationship with its catalog" do
601
- dep = double('dep')
602
- expect(dep).to receive(:evaluate).with(@compiler.catalog)
608
+ dep = stub 'dep'
609
+ dep.expects(:evaluate).with(@compiler.catalog)
603
610
  @compiler.add_relationship dep
604
611
  @compiler.evaluate_relationships
605
612
  end
606
613
  end
607
614
 
608
615
  describe "when told to evaluate missing classes" do
616
+
609
617
  it "should fail if there's no source listed for the scope" do
610
- scope = double('scope', :source => nil)
618
+ scope = stub 'scope', :source => nil
611
619
  expect { @compiler.evaluate_classes(%w{one two}, scope) }.to raise_error(Puppet::DevError)
612
620
  end
613
621
 
614
622
  it "should raise an error if a class is not found" do
615
- expect(@scope.environment.known_resource_types).to receive(:find_hostclass).with("notfound").and_return(nil)
623
+ @scope.environment.known_resource_types.expects(:find_hostclass).with("notfound").returns(nil)
616
624
  expect{ @compiler.evaluate_classes(%w{notfound}, @scope) }.to raise_error(Puppet::Error, /Could not find class/)
617
625
  end
618
626
 
@@ -624,10 +632,11 @@ describe Puppet::Parser::Compiler do
624
632
  end
625
633
 
626
634
  describe "when evaluating found classes" do
635
+
627
636
  before do
628
637
  Puppet.settings[:data_binding_terminus] = "none"
629
638
  @class = @known_resource_types.add Puppet::Resource::Type.new(:hostclass, "myclass")
630
- @resource = double('resource', :ref => "Class[myclass]", :type => "file")
639
+ @resource = stub 'resource', :ref => "Class[myclass]", :type => "file"
631
640
  end
632
641
 
633
642
  around do |example|
@@ -640,10 +649,10 @@ describe Puppet::Parser::Compiler do
640
649
  end
641
650
 
642
651
  it "should evaluate each class" do
643
- allow(@compiler.catalog).to receive(:tag)
652
+ @compiler.catalog.stubs(:tag)
644
653
 
645
- expect(@class).to receive(:ensure_in_catalog).with(@scope)
646
- allow(@scope).to receive(:class_scope).with(@class)
654
+ @class.expects(:ensure_in_catalog).with(@scope)
655
+ @scope.stubs(:class_scope).with(@class)
647
656
 
648
657
  @compiler.evaluate_classes(%w{myclass}, @scope)
649
658
  end
@@ -731,71 +740,73 @@ describe Puppet::Parser::Compiler do
731
740
  end
732
741
 
733
742
  it "should not evaluate the resources created for found classes unless asked" do
734
- allow(@compiler.catalog).to receive(:tag)
743
+ @compiler.catalog.stubs(:tag)
735
744
 
736
- expect(@resource).not_to receive(:evaluate)
745
+ @resource.expects(:evaluate).never
737
746
 
738
- expect(@class).to receive(:ensure_in_catalog).and_return(@resource)
739
- allow(@scope).to receive(:class_scope).with(@class)
747
+ @class.expects(:ensure_in_catalog).returns(@resource)
748
+ @scope.stubs(:class_scope).with(@class)
740
749
 
741
750
  @compiler.evaluate_classes(%w{myclass}, @scope)
742
751
  end
743
752
 
744
753
  it "should immediately evaluate the resources created for found classes when asked" do
745
- allow(@compiler.catalog).to receive(:tag)
754
+ @compiler.catalog.stubs(:tag)
746
755
 
747
- expect(@resource).to receive(:evaluate)
748
- expect(@class).to receive(:ensure_in_catalog).and_return(@resource)
749
- allow(@scope).to receive(:class_scope).with(@class)
756
+ @resource.expects(:evaluate)
757
+ @class.expects(:ensure_in_catalog).returns(@resource)
758
+ @scope.stubs(:class_scope).with(@class)
750
759
 
751
760
  @compiler.evaluate_classes(%w{myclass}, @scope, false)
752
761
  end
753
762
 
754
763
  it "should skip classes that have already been evaluated" do
755
- allow(@compiler.catalog).to receive(:tag)
764
+ @compiler.catalog.stubs(:tag)
756
765
 
757
- allow(@scope).to receive(:class_scope).with(@class).and_return(@scope)
766
+ @scope.stubs(:class_scope).with(@class).returns(@scope)
758
767
 
759
- expect(@compiler).not_to receive(:add_resource)
768
+ @compiler.expects(:add_resource).never
760
769
 
761
- expect(@resource).not_to receive(:evaluate)
770
+ @resource.expects(:evaluate).never
762
771
 
763
- expect(Puppet::Parser::Resource).not_to receive(:new)
772
+ Puppet::Parser::Resource.expects(:new).never
764
773
  @compiler.evaluate_classes(%w{myclass}, @scope, false)
765
774
  end
766
775
 
767
776
  it "should skip classes previously evaluated with different capitalization" do
768
- allow(@compiler.catalog).to receive(:tag)
769
- allow(@scope.environment.known_resource_types).to receive(:find_hostclass).with("MyClass").and_return(@class)
770
- allow(@scope).to receive(:class_scope).with(@class).and_return(@scope)
771
- expect(@compiler).not_to receive(:add_resource)
772
- expect(@resource).not_to receive(:evaluate)
773
- expect(Puppet::Parser::Resource).not_to receive(:new)
777
+ @compiler.catalog.stubs(:tag)
778
+ @scope.environment.known_resource_types.stubs(:find_hostclass).with("MyClass").returns(@class)
779
+ @scope.stubs(:class_scope).with(@class).returns(@scope)
780
+ @compiler.expects(:add_resource).never
781
+ @resource.expects(:evaluate).never
782
+ Puppet::Parser::Resource.expects(:new).never
774
783
  @compiler.evaluate_classes(%w{MyClass}, @scope, false)
775
784
  end
776
785
  end
777
786
 
778
787
  describe "when evaluating AST nodes with no AST nodes present" do
788
+
779
789
  it "should do nothing" do
780
- allow(@compiler.environment.known_resource_types).to receive(:nodes).and_return(false)
781
- expect(Puppet::Parser::Resource).not_to receive(:new)
790
+ @compiler.environment.known_resource_types.stubs(:nodes).returns(false)
791
+ Puppet::Parser::Resource.expects(:new).never
782
792
 
783
793
  @compiler.send(:evaluate_ast_node)
784
794
  end
785
795
  end
786
796
 
787
797
  describe "when evaluating AST nodes with AST nodes present" do
798
+
788
799
  before do
789
- allow(@compiler.environment.known_resource_types).to receive(:nodes?).and_return(true)
800
+ @compiler.environment.known_resource_types.stubs(:nodes?).returns true
790
801
 
791
802
  # Set some names for our test
792
- allow(@node).to receive(:names).and_return(%w{a b c})
793
- allow(@compiler.environment.known_resource_types).to receive(:node).with("a").and_return(nil)
794
- allow(@compiler.environment.known_resource_types).to receive(:node).with("b").and_return(nil)
795
- allow(@compiler.environment.known_resource_types).to receive(:node).with("c").and_return(nil)
803
+ @node.stubs(:names).returns(%w{a b c})
804
+ @compiler.environment.known_resource_types.stubs(:node).with("a").returns(nil)
805
+ @compiler.environment.known_resource_types.stubs(:node).with("b").returns(nil)
806
+ @compiler.environment.known_resource_types.stubs(:node).with("c").returns(nil)
796
807
 
797
808
  # It should check this last, of course.
798
- allow(@compiler.environment.known_resource_types).to receive(:node).with("default").and_return(nil)
809
+ @compiler.environment.known_resource_types.stubs(:node).with("default").returns(nil)
799
810
  end
800
811
 
801
812
  it "should fail if the named node cannot be found" do
@@ -803,33 +814,33 @@ describe Puppet::Parser::Compiler do
803
814
  end
804
815
 
805
816
  it "should evaluate the first node class matching the node name" do
806
- node_class = double('node', :name => "c", :evaluate_code => nil)
807
- allow(@compiler.environment.known_resource_types).to receive(:node).with("c").and_return(node_class)
817
+ node_class = stub 'node', :name => "c", :evaluate_code => nil
818
+ @compiler.environment.known_resource_types.stubs(:node).with("c").returns(node_class)
808
819
 
809
- node_resource = double('node resource', :ref => "Node[c]", :evaluate => nil, :type => "node")
810
- expect(node_class).to receive(:ensure_in_catalog).and_return(node_resource)
820
+ node_resource = stub 'node resource', :ref => "Node[c]", :evaluate => nil, :type => "node"
821
+ node_class.expects(:ensure_in_catalog).returns(node_resource)
811
822
 
812
823
  @compiler.compile
813
824
  end
814
825
 
815
826
  it "should match the default node if no matching node can be found" do
816
- node_class = double('node', :name => "default", :evaluate_code => nil)
817
- allow(@compiler.environment.known_resource_types).to receive(:node).with("default").and_return(node_class)
827
+ node_class = stub 'node', :name => "default", :evaluate_code => nil
828
+ @compiler.environment.known_resource_types.stubs(:node).with("default").returns(node_class)
818
829
 
819
- node_resource = double('node resource', :ref => "Node[default]", :evaluate => nil, :type => "node")
820
- expect(node_class).to receive(:ensure_in_catalog).and_return(node_resource)
830
+ node_resource = stub 'node resource', :ref => "Node[default]", :evaluate => nil, :type => "node"
831
+ node_class.expects(:ensure_in_catalog).returns(node_resource)
821
832
 
822
833
  @compiler.compile
823
834
  end
824
835
 
825
836
  it "should evaluate the node resource immediately rather than using lazy evaluation" do
826
- node_class = double('node', :name => "c")
827
- allow(@compiler.environment.known_resource_types).to receive(:node).with("c").and_return(node_class)
837
+ node_class = stub 'node', :name => "c"
838
+ @compiler.environment.known_resource_types.stubs(:node).with("c").returns(node_class)
828
839
 
829
- node_resource = double('node resource', :ref => "Node[c]", :type => "node")
830
- expect(node_class).to receive(:ensure_in_catalog).and_return(node_resource)
840
+ node_resource = stub 'node resource', :ref => "Node[c]", :type => "node"
841
+ node_class.expects(:ensure_in_catalog).returns(node_resource)
831
842
 
832
- expect(node_resource).to receive(:evaluate)
843
+ node_resource.expects(:evaluate)
833
844
 
834
845
  @compiler.send(:evaluate_ast_node)
835
846
  end
@@ -967,8 +978,9 @@ describe Puppet::Parser::Compiler do
967
978
  end
968
979
 
969
980
  describe "when managing resource overrides" do
981
+
970
982
  before do
971
- @override = double('override', :ref => "File[/foo]", :type => "my")
983
+ @override = stub 'override', :ref => "File[/foo]", :type => "my"
972
984
  @resource = resource(:file, "/foo")
973
985
  end
974
986
 
@@ -978,7 +990,7 @@ describe Puppet::Parser::Compiler do
978
990
 
979
991
  it "should apply overrides to the appropriate resources" do
980
992
  @compiler.add_resource(@scope, @resource)
981
- expect(@resource).to receive(:merge).with(@override)
993
+ @resource.expects(:merge).with(@override)
982
994
 
983
995
  @compiler.add_override(@override)
984
996
 
@@ -986,7 +998,7 @@ describe Puppet::Parser::Compiler do
986
998
  end
987
999
 
988
1000
  it "should accept overrides before the related resource has been created" do
989
- expect(@resource).to receive(:merge).with(@override)
1001
+ @resource.expects(:merge).with(@override)
990
1002
 
991
1003
  # First store the override
992
1004
  @compiler.add_override(@override)