puppet 6.20.0-x64-mingw32 → 7.0.0-x64-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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/Gemfile +0 -2
  4. data/Gemfile.lock +18 -24
  5. data/README.md +1 -1
  6. data/conf/fileserver.conf +5 -10
  7. data/ext/build_defaults.yaml +1 -1
  8. data/ext/osx/file_mapping.yaml +0 -5
  9. data/ext/project_data.yaml +1 -14
  10. data/ext/redhat/puppet.spec.erb +0 -1
  11. data/ext/windows/service/daemon.rb +6 -5
  12. data/install.rb +21 -17
  13. data/lib/puppet.rb +11 -20
  14. data/lib/puppet/application.rb +178 -108
  15. data/lib/puppet/application/agent.rb +0 -1
  16. data/lib/puppet/application/apply.rb +2 -3
  17. data/lib/puppet/application/device.rb +100 -105
  18. data/lib/puppet/application/filebucket.rb +13 -9
  19. data/lib/puppet/application/script.rb +0 -1
  20. data/lib/puppet/application/ssl.rb +1 -1
  21. data/lib/puppet/application_support.rb +0 -7
  22. data/lib/puppet/configurer.rb +30 -45
  23. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  24. data/lib/puppet/defaults.rb +97 -167
  25. data/lib/puppet/environments.rb +59 -58
  26. data/lib/puppet/face/facts.rb +51 -51
  27. data/lib/puppet/face/help.rb +1 -1
  28. data/lib/puppet/face/plugin.rb +5 -8
  29. data/lib/puppet/ffi/windows.rb +12 -0
  30. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  31. data/lib/puppet/ffi/windows/constants.rb +404 -0
  32. data/lib/puppet/ffi/windows/functions.rb +628 -0
  33. data/lib/puppet/ffi/windows/structs.rb +338 -0
  34. data/lib/puppet/file_serving/configuration.rb +0 -5
  35. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  36. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  37. data/lib/puppet/file_serving/mount.rb +1 -2
  38. data/lib/puppet/forge/repository.rb +0 -1
  39. data/lib/puppet/generate/models/type/type.rb +4 -1
  40. data/lib/puppet/http.rb +22 -13
  41. data/lib/puppet/http/client.rb +164 -114
  42. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  43. data/lib/puppet/http/errors.rb +16 -0
  44. data/lib/puppet/http/external_client.rb +5 -7
  45. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  46. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  47. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  48. data/lib/puppet/http/proxy.rb +137 -0
  49. data/lib/puppet/http/redirector.rb +4 -12
  50. data/lib/puppet/http/resolver.rb +5 -15
  51. data/lib/puppet/http/resolver/server_list.rb +6 -10
  52. data/lib/puppet/http/resolver/settings.rb +4 -7
  53. data/lib/puppet/http/resolver/srv.rb +7 -11
  54. data/lib/puppet/http/response.rb +36 -54
  55. data/lib/puppet/http/response_converter.rb +24 -0
  56. data/lib/puppet/http/response_net_http.rb +42 -0
  57. data/lib/puppet/http/retry_after_handler.rb +4 -13
  58. data/lib/puppet/http/service.rb +12 -26
  59. data/lib/puppet/http/service/ca.rb +11 -22
  60. data/lib/puppet/http/service/compiler.rb +22 -69
  61. data/lib/puppet/http/service/file_server.rb +18 -27
  62. data/lib/puppet/http/service/puppetserver.rb +26 -12
  63. data/lib/puppet/http/service/report.rb +8 -10
  64. data/lib/puppet/http/session.rb +11 -20
  65. data/lib/puppet/{network/http → http}/site.rb +1 -2
  66. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/rest.rb +3 -22
  69. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  70. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  71. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_server.rb +1 -8
  73. data/lib/puppet/indirector/generic_http.rb +0 -11
  74. data/lib/puppet/indirector/node/rest.rb +2 -4
  75. data/lib/puppet/indirector/report/rest.rb +3 -8
  76. data/lib/puppet/indirector/request.rb +0 -101
  77. data/lib/puppet/indirector/rest.rb +12 -263
  78. data/lib/puppet/module_tool/applications.rb +0 -1
  79. data/lib/puppet/module_tool/applications/installer.rb +2 -48
  80. data/lib/puppet/module_tool/errors/shared.rb +2 -17
  81. data/lib/puppet/network/authconfig.rb +2 -96
  82. data/lib/puppet/network/authorization.rb +13 -35
  83. data/lib/puppet/network/http.rb +3 -3
  84. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  85. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  86. data/lib/puppet/network/http/connection.rb +247 -316
  87. data/lib/puppet/network/http/handler.rb +0 -1
  88. data/lib/puppet/network/http_pool.rb +16 -34
  89. data/lib/puppet/node.rb +1 -30
  90. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  91. data/lib/puppet/pal/pal_impl.rb +3 -1
  92. data/lib/puppet/parser/ast/leaf.rb +2 -3
  93. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  94. data/lib/puppet/parser/compiler.rb +0 -198
  95. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  96. data/lib/puppet/parser/resource.rb +0 -69
  97. data/lib/puppet/parser/templatewrapper.rb +1 -1
  98. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  99. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  100. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  101. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  102. data/lib/puppet/pops/issues.rb +0 -5
  103. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  104. data/lib/puppet/pops/model/ast.pp +0 -42
  105. data/lib/puppet/pops/model/ast.rb +0 -290
  106. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  107. data/lib/puppet/pops/model/factory.rb +0 -45
  108. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  109. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  110. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  111. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  112. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  113. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  114. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  115. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  116. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  117. data/lib/puppet/pops/types/type_parser.rb +0 -4
  118. data/lib/puppet/pops/types/types.rb +0 -1
  119. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  120. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  121. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  122. data/lib/puppet/provider.rb +0 -13
  123. data/lib/puppet/provider/nameservice.rb +0 -18
  124. data/lib/puppet/provider/package/apt.rb +0 -4
  125. data/lib/puppet/provider/package/dpkg.rb +0 -10
  126. data/lib/puppet/provider/package/gem.rb +23 -3
  127. data/lib/puppet/provider/package/pip.rb +0 -1
  128. data/lib/puppet/provider/package/pkg.rb +0 -4
  129. data/lib/puppet/provider/package/portage.rb +1 -1
  130. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  131. data/lib/puppet/provider/service/smf.rb +191 -73
  132. data/lib/puppet/provider/user/aix.rb +2 -2
  133. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  134. data/lib/puppet/reference/configuration.rb +7 -6
  135. data/lib/puppet/reference/indirection.rb +1 -1
  136. data/lib/puppet/resource.rb +1 -89
  137. data/lib/puppet/resource/catalog.rb +1 -14
  138. data/lib/puppet/resource/type.rb +3 -119
  139. data/lib/puppet/resource/type_collection.rb +3 -48
  140. data/lib/puppet/runtime.rb +1 -2
  141. data/lib/puppet/settings.rb +73 -66
  142. data/lib/puppet/settings/integer_setting.rb +17 -0
  143. data/lib/puppet/settings/port_setting.rb +15 -0
  144. data/lib/puppet/settings/priority_setting.rb +5 -4
  145. data/lib/puppet/ssl.rb +10 -6
  146. data/lib/puppet/ssl/base.rb +3 -5
  147. data/lib/puppet/ssl/certificate.rb +0 -6
  148. data/lib/puppet/ssl/certificate_request.rb +1 -12
  149. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  150. data/lib/puppet/ssl/oids.rb +3 -1
  151. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  152. data/lib/puppet/ssl/state_machine.rb +3 -1
  153. data/lib/puppet/ssl/verifier.rb +2 -0
  154. data/lib/puppet/test/test_helper.rb +1 -3
  155. data/lib/puppet/transaction.rb +1 -7
  156. data/lib/puppet/transaction/report.rb +2 -4
  157. data/lib/puppet/type.rb +0 -76
  158. data/lib/puppet/type/file.rb +5 -7
  159. data/lib/puppet/type/file/checksum.rb +1 -1
  160. data/lib/puppet/type/file/source.rb +1 -1
  161. data/lib/puppet/type/filebucket.rb +3 -3
  162. data/lib/puppet/type/package.rb +5 -13
  163. data/lib/puppet/util/autoload.rb +8 -1
  164. data/lib/puppet/util/execution.rb +0 -11
  165. data/lib/puppet/util/http_proxy.rb +2 -215
  166. data/lib/puppet/util/monkey_patches.rb +0 -46
  167. data/lib/puppet/util/posix.rb +5 -54
  168. data/lib/puppet/util/rdoc.rb +0 -7
  169. data/lib/puppet/util/retry_action.rb +1 -1
  170. data/lib/puppet/util/run_mode.rb +9 -1
  171. data/lib/puppet/util/windows.rb +3 -8
  172. data/lib/puppet/util/windows/daemon.rb +360 -0
  173. data/lib/puppet/util/windows/error.rb +1 -0
  174. data/lib/puppet/util/windows/eventlog.rb +4 -9
  175. data/lib/puppet/util/windows/file.rb +8 -242
  176. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  177. data/lib/puppet/util/windows/process.rb +4 -226
  178. data/lib/puppet/util/windows/service.rb +9 -460
  179. data/lib/puppet/util/windows/string.rb +12 -13
  180. data/lib/puppet/util/yaml.rb +0 -22
  181. data/lib/puppet/vendor/require_vendored.rb +0 -1
  182. data/lib/puppet/version.rb +1 -1
  183. data/lib/puppet/x509.rb +5 -1
  184. data/lib/puppet/x509/cert_provider.rb +29 -1
  185. data/locales/puppet.pot +587 -1312
  186. data/man/man5/puppet.conf.5 +39 -99
  187. data/man/man8/puppet-agent.8 +2 -2
  188. data/man/man8/puppet-apply.8 +2 -2
  189. data/man/man8/puppet-catalog.8 +1 -1
  190. data/man/man8/puppet-config.8 +1 -1
  191. data/man/man8/puppet-describe.8 +1 -1
  192. data/man/man8/puppet-device.8 +2 -2
  193. data/man/man8/puppet-doc.8 +1 -1
  194. data/man/man8/puppet-epp.8 +1 -1
  195. data/man/man8/puppet-facts.8 +51 -36
  196. data/man/man8/puppet-filebucket.8 +4 -4
  197. data/man/man8/puppet-generate.8 +1 -1
  198. data/man/man8/puppet-help.8 +1 -1
  199. data/man/man8/puppet-lookup.8 +1 -1
  200. data/man/man8/puppet-module.8 +1 -58
  201. data/man/man8/puppet-node.8 +1 -1
  202. data/man/man8/puppet-parser.8 +1 -1
  203. data/man/man8/puppet-plugin.8 +1 -1
  204. data/man/man8/puppet-report.8 +1 -1
  205. data/man/man8/puppet-resource.8 +1 -1
  206. data/man/man8/puppet-script.8 +2 -2
  207. data/man/man8/puppet-ssl.8 +1 -1
  208. data/man/man8/puppet.8 +2 -2
  209. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  210. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  211. data/spec/integration/application/agent_spec.rb +27 -138
  212. data/spec/integration/application/apply_spec.rb +1 -20
  213. data/spec/integration/application/filebucket_spec.rb +16 -16
  214. data/spec/integration/application/help_spec.rb +2 -0
  215. data/spec/integration/application/plugin_spec.rb +23 -1
  216. data/spec/integration/defaults_spec.rb +14 -3
  217. data/spec/integration/network/http_pool_spec.rb +3 -21
  218. data/spec/integration/parser/catalog_spec.rb +0 -38
  219. data/spec/integration/parser/node_spec.rb +0 -9
  220. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  221. data/spec/integration/resource/type_collection_spec.rb +6 -2
  222. data/spec/integration/transaction_spec.rb +9 -4
  223. data/spec/integration/type/file_spec.rb +5 -4
  224. data/spec/integration/util/windows/adsi_spec.rb +1 -3
  225. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  226. data/spec/integration/util/windows/registry_spec.rb +10 -0
  227. data/spec/integration/util/windows/security_spec.rb +1 -1
  228. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  229. data/spec/lib/puppet_spec/settings.rb +1 -0
  230. data/spec/spec_helper.rb +6 -1
  231. data/spec/unit/agent_spec.rb +6 -10
  232. data/spec/unit/application/agent_spec.rb +1 -0
  233. data/spec/unit/application/facts_spec.rb +35 -0
  234. data/spec/unit/application/filebucket_spec.rb +43 -39
  235. data/spec/unit/application/ssl_spec.rb +2 -2
  236. data/spec/unit/application_spec.rb +9 -51
  237. data/spec/unit/certificate_factory_spec.rb +1 -1
  238. data/spec/unit/configurer/downloader_spec.rb +6 -2
  239. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  240. data/spec/unit/configurer_spec.rb +12 -9
  241. data/spec/unit/confine/feature_spec.rb +1 -1
  242. data/spec/unit/confine_spec.rb +2 -8
  243. data/spec/unit/context/trusted_information_spec.rb +2 -6
  244. data/spec/unit/defaults_spec.rb +72 -42
  245. data/spec/unit/environments_spec.rb +19 -99
  246. data/spec/unit/face/facts_spec.rb +4 -0
  247. data/spec/unit/face/node_spec.rb +11 -0
  248. data/spec/unit/face/plugin_spec.rb +73 -33
  249. data/spec/unit/file_bucket/file_spec.rb +1 -1
  250. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -18
  251. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  252. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  253. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  254. data/spec/unit/forge/module_release_spec.rb +7 -2
  255. data/spec/unit/functions/camelcase_spec.rb +1 -1
  256. data/spec/unit/functions/capitalize_spec.rb +1 -1
  257. data/spec/unit/functions/downcase_spec.rb +1 -1
  258. data/spec/unit/functions/upcase_spec.rb +1 -1
  259. data/spec/unit/http/client_spec.rb +7 -8
  260. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  261. data/spec/unit/http/external_client_spec.rb +4 -4
  262. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  263. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  264. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  265. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  266. data/spec/unit/http/resolver_spec.rb +13 -13
  267. data/spec/unit/http/service/compiler_spec.rb +0 -62
  268. data/spec/unit/http/service/file_server_spec.rb +3 -3
  269. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  270. data/spec/unit/http/service_spec.rb +0 -1
  271. data/spec/unit/http/session_spec.rb +16 -14
  272. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  273. data/spec/unit/indirector/face_spec.rb +1 -0
  274. data/spec/unit/indirector/facts/facter_spec.rb +98 -0
  275. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  276. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  277. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  278. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  279. data/spec/unit/indirector/file_server_spec.rb +1 -15
  280. data/spec/unit/indirector/indirection_spec.rb +12 -8
  281. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  282. data/spec/unit/indirector/request_spec.rb +0 -264
  283. data/spec/unit/indirector/rest_spec.rb +98 -752
  284. data/spec/unit/indirector_spec.rb +2 -2
  285. data/spec/unit/module_tool/applications/installer_spec.rb +0 -66
  286. data/spec/unit/network/authconfig_spec.rb +2 -129
  287. data/spec/unit/network/authorization_spec.rb +2 -55
  288. data/spec/unit/network/formats_spec.rb +4 -4
  289. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  290. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  291. data/spec/unit/network/http/api_spec.rb +10 -0
  292. data/spec/unit/network/http/connection_spec.rb +19 -41
  293. data/spec/unit/network/http/handler_spec.rb +0 -1
  294. data/spec/unit/network/http_pool_spec.rb +0 -4
  295. data/spec/unit/node/environment_spec.rb +33 -21
  296. data/spec/unit/node_spec.rb +2 -54
  297. data/spec/unit/parser/compiler_spec.rb +19 -3
  298. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  299. data/spec/unit/parser/resource_spec.rb +8 -14
  300. data/spec/unit/parser/templatewrapper_spec.rb +3 -4
  301. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  302. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  303. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  304. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  305. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  306. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  307. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  308. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  309. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  310. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  311. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  312. data/spec/unit/pops/visitor_spec.rb +1 -1
  313. data/spec/unit/property_spec.rb +0 -1
  314. data/spec/unit/provider/nameservice_spec.rb +64 -122
  315. data/spec/unit/provider/package/apt_spec.rb +8 -4
  316. data/spec/unit/provider/package/base_spec.rb +5 -6
  317. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  318. data/spec/unit/provider/package/gem_spec.rb +32 -0
  319. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  320. data/spec/unit/provider/package/pip_spec.rb +11 -6
  321. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  322. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  323. data/spec/unit/provider/service/smf_spec.rb +401 -165
  324. data/spec/unit/provider/service/windows_spec.rb +0 -1
  325. data/spec/unit/provider/user/aix_spec.rb +0 -5
  326. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  327. data/spec/unit/provider/user/pw_spec.rb +0 -2
  328. data/spec/unit/provider/user/useradd_spec.rb +0 -1
  329. data/spec/unit/provider_spec.rb +8 -18
  330. data/spec/unit/resource/type_collection_spec.rb +2 -22
  331. data/spec/unit/resource/type_spec.rb +1 -1
  332. data/spec/unit/resource_spec.rb +10 -67
  333. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  334. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  335. data/spec/unit/settings/port_setting_spec.rb +31 -0
  336. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  337. data/spec/unit/settings_spec.rb +23 -13
  338. data/spec/unit/ssl/base_spec.rb +37 -3
  339. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  340. data/spec/unit/ssl/certificate_spec.rb +2 -11
  341. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  342. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  343. data/spec/unit/ssl/verifier_spec.rb +0 -21
  344. data/spec/unit/transaction/additional_resource_generator_spec.rb +7 -3
  345. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  346. data/spec/unit/transaction/report_spec.rb +0 -2
  347. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  348. data/spec/unit/transaction_spec.rb +48 -91
  349. data/spec/unit/type/file/checksum_spec.rb +6 -6
  350. data/spec/unit/type/file/content_spec.rb +2 -1
  351. data/spec/unit/type/file/ensure_spec.rb +1 -1
  352. data/spec/unit/type/file/mode_spec.rb +1 -1
  353. data/spec/unit/type/file/selinux_spec.rb +2 -0
  354. data/spec/unit/type/file/source_spec.rb +0 -1
  355. data/spec/unit/type/file_spec.rb +18 -6
  356. data/spec/unit/type/group_spec.rb +6 -13
  357. data/spec/unit/type/package_spec.rb +1 -1
  358. data/spec/unit/type/resources_spec.rb +7 -7
  359. data/spec/unit/type/service_spec.rb +1 -1
  360. data/spec/unit/type/tidy_spec.rb +1 -0
  361. data/spec/unit/type_spec.rb +22 -2
  362. data/spec/unit/util/at_fork_spec.rb +2 -2
  363. data/spec/unit/util/autoload_spec.rb +1 -5
  364. data/spec/unit/util/backups_spec.rb +2 -3
  365. data/spec/unit/util/execution_spec.rb +11 -44
  366. data/spec/unit/util/inifile_spec.rb +14 -6
  367. data/spec/unit/util/log_spec.rb +7 -8
  368. data/spec/unit/util/logging_spec.rb +3 -3
  369. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  370. data/spec/unit/util/posix_spec.rb +15 -363
  371. data/spec/unit/util/run_mode_spec.rb +21 -121
  372. data/spec/unit/util/selinux_spec.rb +52 -76
  373. data/spec/unit/util/storage_spec.rb +1 -3
  374. data/spec/unit/util/suidmanager_spec.rb +41 -44
  375. data/spec/unit/util/windows/string_spec.rb +1 -3
  376. data/spec/unit/util/yaml_spec.rb +0 -54
  377. data/spec/unit/util_spec.rb +6 -31
  378. metadata +40 -233
  379. data/conf/auth.conf +0 -150
  380. data/lib/puppet/application/cert.rb +0 -76
  381. data/lib/puppet/application/key.rb +0 -4
  382. data/lib/puppet/application/man.rb +0 -4
  383. data/lib/puppet/application/status.rb +0 -4
  384. data/lib/puppet/face/key.rb +0 -16
  385. data/lib/puppet/face/man.rb +0 -145
  386. data/lib/puppet/face/module/build.rb +0 -14
  387. data/lib/puppet/face/module/generate.rb +0 -14
  388. data/lib/puppet/face/module/search.rb +0 -103
  389. data/lib/puppet/face/status.rb +0 -51
  390. data/lib/puppet/ffi/posix.rb +0 -10
  391. data/lib/puppet/ffi/posix/constants.rb +0 -14
  392. data/lib/puppet/ffi/posix/functions.rb +0 -24
  393. data/lib/puppet/indirector/certificate/file.rb +0 -9
  394. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  395. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  396. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  397. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  398. data/lib/puppet/indirector/file_content/http.rb +0 -22
  399. data/lib/puppet/indirector/key/file.rb +0 -46
  400. data/lib/puppet/indirector/key/memory.rb +0 -7
  401. data/lib/puppet/indirector/ssl_file.rb +0 -162
  402. data/lib/puppet/indirector/status.rb +0 -3
  403. data/lib/puppet/indirector/status/local.rb +0 -12
  404. data/lib/puppet/indirector/status/rest.rb +0 -27
  405. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  406. data/lib/puppet/network/auth_config_parser.rb +0 -90
  407. data/lib/puppet/network/authstore.rb +0 -283
  408. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  409. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  410. data/lib/puppet/network/http/base_pool.rb +0 -36
  411. data/lib/puppet/network/http/compression.rb +0 -127
  412. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  413. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  414. data/lib/puppet/network/rest_controller.rb +0 -2
  415. data/lib/puppet/network/rights.rb +0 -210
  416. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  417. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  418. data/lib/puppet/parser/environment_compiler.rb +0 -202
  419. data/lib/puppet/pops/types/enumeration.rb +0 -16
  420. data/lib/puppet/resource/capability_finder.rb +0 -154
  421. data/lib/puppet/rest/errors.rb +0 -15
  422. data/lib/puppet/rest/response.rb +0 -35
  423. data/lib/puppet/rest/route.rb +0 -85
  424. data/lib/puppet/rest/routes.rb +0 -135
  425. data/lib/puppet/settings/alias_setting.rb +0 -37
  426. data/lib/puppet/ssl/host.rb +0 -505
  427. data/lib/puppet/ssl/key.rb +0 -61
  428. data/lib/puppet/ssl/validator.rb +0 -61
  429. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  430. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  431. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  432. data/lib/puppet/status.rb +0 -40
  433. data/lib/puppet/util/connection.rb +0 -88
  434. data/lib/puppet/util/fact_dif.rb +0 -62
  435. data/lib/puppet/util/ssl.rb +0 -83
  436. data/lib/puppet/util/windows/api_types.rb +0 -309
  437. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  438. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  439. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  440. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  441. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  442. data/lib/puppet/vendor/pathspec/README.md +0 -53
  443. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  444. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  445. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  446. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  447. data/man/man8/puppet-key.8 +0 -126
  448. data/man/man8/puppet-man.8 +0 -76
  449. data/man/man8/puppet-status.8 +0 -108
  450. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
  451. data/spec/integration/network/authconfig_spec.rb +0 -256
  452. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  453. data/spec/unit/application/man_spec.rb +0 -52
  454. data/spec/unit/capability_spec.rb +0 -414
  455. data/spec/unit/face/key_spec.rb +0 -9
  456. data/spec/unit/face/module/search_spec.rb +0 -231
  457. data/spec/unit/face/status_spec.rb +0 -9
  458. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  459. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  460. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  461. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  462. data/spec/unit/indirector/key/file_spec.rb +0 -78
  463. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  464. data/spec/unit/indirector/status/local_spec.rb +0 -10
  465. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  466. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  467. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  468. data/spec/unit/network/authstore_spec.rb +0 -422
  469. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  470. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  471. data/spec/unit/network/http/compression_spec.rb +0 -240
  472. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  473. data/spec/unit/network/http_spec.rb +0 -9
  474. data/spec/unit/network/rights_spec.rb +0 -439
  475. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  476. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  477. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  478. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  479. data/spec/unit/rest/route_spec.rb +0 -132
  480. data/spec/unit/ssl/host_spec.rb +0 -645
  481. data/spec/unit/ssl/key_spec.rb +0 -173
  482. data/spec/unit/ssl/validator_spec.rb +0 -278
  483. data/spec/unit/status_spec.rb +0 -45
  484. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -532,7 +532,7 @@ class amod::bad_type {
532
532
  ).and matching(
533
533
  /dir1\/dir2\]\/ensure: created/
534
534
  ).and matching(
535
- /dir1\/dir2\/file\]\/ensure: defined content as '{md5}51f37efb13c3a1e486106f90db6490a5'/
535
+ /dir1\/dir2\/file\]\/ensure: defined content as '{sha256}b37c1d77e09471b3139b2cdfee449fd8ba72ebf7634d52023aff0c0cd088cf1b'/
536
536
  )).to_stdout
537
537
 
538
538
  dest_file = File.join(base_dir, 'dir1', 'dir2', 'file')
@@ -663,23 +663,4 @@ class amod::bad_type {
663
663
  end
664
664
  end
665
665
  end
666
-
667
- context 'rich data' do
668
- it "calls a deferred 4x function" do
669
- apply.command_line.args = ['-e', 'notify { "deferred3x": message => Deferred("join", [[1,2,3], ":"]) }']
670
-
671
- expect {
672
- apply.run
673
- }.to exit_with(0) # for some reason apply returns 0 instead of 2
674
- .and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred3x\]/message: defined 'message' as '1:2:3'}).to_stdout
675
- end
676
-
677
- it "calls a deferred 3x function" do
678
- apply.command_line.args = ['-e', 'notify { "deferred4x": message => Deferred("sprintf", ["%s", "I am deferred"]) }']
679
- expect {
680
- apply.run
681
- }.to exit_with(0) # for some reason apply returns 0 instead of 2
682
- .and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred4x\]/message: defined 'message' as 'I am deferred'}).to_stdout
683
- end
684
- end
685
666
  end
@@ -11,7 +11,7 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
11
11
  let(:filebucket) { Puppet::Application[:filebucket] }
12
12
  let(:backup_file) { tmpfile('backup_file') }
13
13
  let(:text) { 'some random text' }
14
- let(:md5) { Digest::MD5.file(backup_file).to_s }
14
+ let(:sha256) { Digest::SHA256.file(backup_file).to_s }
15
15
 
16
16
  before :each do
17
17
  Puppet[:log_level] = 'debug'
@@ -22,13 +22,13 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
22
22
  filebucket.command_line.args = ['backup', backup_file, '--local']
23
23
  expect {
24
24
  filebucket.run
25
- }.to output(/: #{md5}/).to_stdout
25
+ }.to output(/: #{sha256}/).to_stdout
26
26
 
27
27
  dest = tmpfile('file_bucket_restore')
28
- filebucket.command_line.args = ['restore', dest, md5, '--local']
28
+ filebucket.command_line.args = ['restore', dest, sha256, '--local']
29
29
  expect {
30
30
  filebucket.run
31
- }.to output(/FileBucket read #{md5}/).to_stdout
31
+ }.to output(/FileBucket read #{sha256}/).to_stdout
32
32
 
33
33
  expect(FileUtils.compare_file(backup_file, dest)).to eq(true)
34
34
  end
@@ -40,11 +40,11 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
40
40
  filebucket.command_line.args = ['backup', backup_file]
41
41
  filebucket.run
42
42
  }.to output(a_string_matching(
43
- %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/md5\/#{md5}\/#{File.realpath(backup_file)}\?environment\=production returned 404 Not Found}
43
+ %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 404 Not Found}
44
44
  ).and matching(
45
- %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/md5\/#{md5}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
45
+ %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
46
46
  ).and matching(
47
- %r{#{backup_file}: #{md5}}
47
+ %r{#{backup_file}: #{sha256}}
48
48
  )).to_stdout
49
49
 
50
50
  expect(File.binread(File.join(server.upload_directory, 'filebucket'))).to eq(text)
@@ -61,9 +61,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
61
61
  filebucket.command_line.args = ['backup', backup_file]
62
62
  filebucket.run
63
63
  }.to output(a_string_matching(
64
- %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/md5/b10778ecd8b08dff525e367cf15b2622/}
64
+ %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/f3aee54d781e413862eb068d89661f930385cc81bbafffc68477ff82eb9bea43/}
65
65
  ).and matching(
66
- %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/md5/b10778ecd8b08dff525e367cf15b2622/}
66
+ %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/f3aee54d781e413862eb068d89661f930385cc81bbafffc68477ff82eb9bea43/}
67
67
  )).to_stdout
68
68
 
69
69
  expect(File.binread(File.join(server.upload_directory, 'filebucket'))).to eq(binary)
@@ -80,9 +80,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
80
80
  filebucket.command_line.args = ['backup', backup_file]
81
81
  filebucket.run
82
82
  }.to output(a_string_matching(
83
- %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/md5/48856faf4534a876adeadc72aec53cb2/}
83
+ %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/51643361c79ecaef25a8de802de24f570ba25d9c2df1d22d94fade11b4f466cc/}
84
84
  ).and matching(
85
- %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/md5/48856faf4534a876adeadc72aec53cb2/}
85
+ %r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/51643361c79ecaef25a8de802de24f570ba25d9c2df1d22d94fade11b4f466cc/}
86
86
  )).to_stdout
87
87
 
88
88
  expect(File.read(File.join(server.upload_directory, 'filebucket'), encoding: 'utf-8')).to eq(utf8)
@@ -100,9 +100,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
100
100
  filebucket.command_line.args = ['backup', backup_file]
101
101
  filebucket.run
102
102
  }.to output(a_string_matching(
103
- %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/md5\/#{md5}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
103
+ %r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
104
104
  ).and matching(
105
- %r{#{backup_file}: #{md5}}
105
+ %r{#{backup_file}: #{sha256}}
106
106
  )).to_stdout
107
107
  end
108
108
  end
@@ -119,7 +119,7 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
119
119
  filebucket.command_line.args = ['get', 'fac251367c9e083c6b1f0f3181']
120
120
  filebucket.run
121
121
  }.to output(a_string_matching(
122
- %r{Debug: HTTP GET https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/md5\/fac251367c9e083c6b1f0f3181\?environment\=production returned 200 OK}
122
+ %r{Debug: HTTP GET https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/fac251367c9e083c6b1f0f3181\?environment\=production returned 200 OK}
123
123
  ).and matching(
124
124
  %r{something to store}
125
125
  )).to_stdout
@@ -191,8 +191,8 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
191
191
  File.binwrite(f, "bar\nbaz")
192
192
  f
193
193
  }
194
- let(:checksuma) { Digest::MD5.file(filea).to_s }
195
- let(:checksumb) { Digest::MD5.file(fileb).to_s }
194
+ let(:checksuma) { Digest::SHA256.file(filea).to_s }
195
+ let(:checksumb) { Digest::SHA256.file(fileb).to_s }
196
196
 
197
197
  it 'compares to files stored in a local bucket' do
198
198
  expect {
@@ -17,6 +17,8 @@ describe "puppet help" do
17
17
  end
18
18
 
19
19
  Puppet::Face.faces.sort.each do |face_name|
20
+ next if face_name == :key
21
+
20
22
  context "for #{face_name}" do
21
23
  it "generates help" do
22
24
  app.command_line.args = ['help', face_name]
@@ -9,7 +9,8 @@ describe "puppet plugin" do
9
9
  let(:plugin) { Puppet::Application[:plugin] }
10
10
  let(:response_body) { "[{\"path\":\"/etc/puppetlabs/code/environments/production/modules\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":0,\"group\":0,\"mode\":493,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-03-06 20:14:25 UTC\"},\"type\":\"directory\",\"destination\":null}]" }
11
11
 
12
- it "downloads from plugins, pluginsfacts and locales mounts" do
12
+ it "downloads from plugins, pluginsfacts and locales mounts when i18n is enabled" do
13
+ Puppet[:disable_i18n] = false
13
14
  current_version_handler = -> (req, res) {
14
15
  res['X-Puppet-Version'] = Puppet.version
15
16
  res['Content-Type'] = 'application/json'
@@ -28,6 +29,27 @@ describe "puppet plugin" do
28
29
  end
29
30
  end
30
31
 
32
+ it "downloads from plugins, pluginsfacts but no locales mounts when i18n is disabled" do
33
+ Puppet[:disable_i18n] = true
34
+
35
+ current_version_handler = -> (req, res) {
36
+ res['X-Puppet-Version'] = Puppet.version
37
+ res['Content-Type'] = 'application/json'
38
+ res.body = response_body
39
+ }
40
+
41
+ server.start_server(mounts: {file_metadatas: current_version_handler}) do |port|
42
+ Puppet[:serverport] = port
43
+ expect {
44
+ plugin.command_line.args << 'download'
45
+ plugin.run
46
+ }.to exit_with(0)
47
+ .and output(matching(
48
+ "Downloaded these plugins: #{Regexp.escape(Puppet[:pluginfactdest])}, #{Regexp.escape(Puppet[:plugindest])}"
49
+ )).to_stdout
50
+ end
51
+ end
52
+
31
53
  it "downloads from plugins and pluginsfacts from older puppetservers" do
32
54
  no_locales_handler = -> (req, res) {
33
55
  res['X-Puppet-Version'] = '5.3.3' # locales mount was added in 5.3.4
@@ -36,6 +36,13 @@ describe "Puppet defaults" do
36
36
  end
37
37
  end
38
38
 
39
+ describe "when setting the :serverport" do
40
+ it "should also set the :masterport to the same value" do
41
+ Puppet.settings[:serverport] = 9000
42
+ expect(Puppet.settings[:masterport]).to eq(9000)
43
+ end
44
+ end
45
+
39
46
  describe "when setting the :factpath" do
40
47
  it "should add the :factpath to Facter's search paths" do
41
48
  expect(Facter).to receive(:search).with("/my/fact/path")
@@ -152,6 +159,10 @@ describe "Puppet defaults" do
152
159
  expect(Puppet.settings.value(:preferred_serialization_format)).to eq("json")
153
160
  end
154
161
 
162
+ it "should default to true the disable_i18n setting" do
163
+ expect(Puppet.settings.value(:disable_i18n)).to eq(true)
164
+ end
165
+
155
166
  it "should have a setting for determining the configuration version and should default to an empty string" do
156
167
  expect(Puppet.settings[:config_version]).to eq("")
157
168
  end
@@ -164,18 +175,18 @@ describe "Puppet defaults" do
164
175
 
165
176
  it "should use the default serverport value when report port is unspecified" do
166
177
  Puppet.settings[:serverport] = "1234"
167
- expect(Puppet.settings[:report_port]).to eq("1234")
178
+ expect(Puppet.settings[:report_port]).to eq(1234)
168
179
  end
169
180
 
170
181
  it "should use the default masterport value when report port is unspecified" do
171
182
  Puppet.settings[:masterport] = "1234"
172
- expect(Puppet.settings[:report_port]).to eq("1234")
183
+ expect(Puppet.settings[:report_port]).to eq(1234)
173
184
  end
174
185
 
175
186
  it "should use report_port when set" do
176
187
  Puppet.settings[:serverport] = "1234"
177
188
  Puppet.settings[:report_port] = "5678"
178
- expect(Puppet.settings[:report_port]).to eq("5678")
189
+ expect(Puppet.settings[:report_port]).to eq(5678)
179
190
  end
180
191
  end
181
192
 
@@ -81,16 +81,6 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
81
81
  end
82
82
  end
83
83
 
84
- it "doesn't generate a Puppet::SSL::Host deprecation warning" do
85
- server.start_server do |port|
86
- http = connection(hostname, port)
87
- res = http.get('/')
88
- expect(res.code).to eq('200')
89
- end
90
-
91
- expect(@logs).to eq([])
92
- end
93
-
94
84
  it "detects when the server has closed the connection and reconnects" do
95
85
  server.start_server do |port|
96
86
  http = connection(hostname, port)
@@ -101,17 +91,13 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
101
91
  end
102
92
  end
103
93
 
104
- context "when using single use HTTPS connections" do
105
- include_examples 'HTTPS client'
106
- end
107
-
108
94
  context "when using persistent HTTPS connections" do
109
95
  around :each do |example|
110
- pool = Puppet::Network::HTTP::Pool.new(15)
111
- Puppet.override(:http_pool => pool) do
96
+ begin
112
97
  example.run
98
+ ensure
99
+ Puppet.runtime[:http].close
113
100
  end
114
- pool.close
115
101
  end
116
102
 
117
103
  include_examples 'HTTPS client'
@@ -183,10 +169,6 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
183
169
  end
184
170
 
185
171
  describe Puppet::Network::HTTP::Connection do
186
- it_behaves_like "an HttpPool connection", described_class, true
187
- end
188
-
189
- describe Puppet::Network::HTTP::ConnectionAdapter do
190
172
  it_behaves_like "an HttpPool connection", described_class, false
191
173
  end
192
174
  end
@@ -48,44 +48,6 @@ describe "A catalog" do
48
48
  expect(resources_in(agent_catalog)).
49
49
  to include_in_order(*resources_in_declaration_order)
50
50
  end
51
-
52
- it "does not contain unrealized, virtual resources" do
53
- virtual_resources = ["Unrealized[unreal]", "Class[Unreal]"]
54
-
55
- master_catalog, agent_catalog = master_and_agent_catalogs_for(<<-EOM)
56
- class unreal { }
57
- define unrealized() { }
58
-
59
- class real {
60
- @unrealized { "unreal": }
61
- @class { "unreal": }
62
- }
63
-
64
- include real
65
- EOM
66
-
67
- expect(resources_in(master_catalog)).to_not include(*virtual_resources)
68
- expect(resources_in(agent_catalog)).to_not include(*virtual_resources)
69
- end
70
-
71
- it "does not contain unrealized, exported resources" do
72
- exported_resources = ["Unrealized[unreal]", "Class[Unreal]"]
73
-
74
- master_catalog, agent_catalog = master_and_agent_catalogs_for(<<-EOM)
75
- class unreal { }
76
- define unrealized() { }
77
-
78
- class real {
79
- @@unrealized { "unreal": }
80
- @@class { "unreal": }
81
- }
82
-
83
- include real
84
- EOM
85
-
86
- expect(resources_in(master_catalog)).to_not include(*exported_resources)
87
- expect(resources_in(agent_catalog)).to_not include(*exported_resources)
88
- end
89
51
  end
90
52
  end
91
53
 
@@ -117,15 +117,6 @@ describe 'node statements' do
117
117
  expect(catalog).to have_resource('Notify[matched]')
118
118
  end
119
119
 
120
- it 'selects a node that is a prefix of the agent name' do
121
- Puppet[:strict_hostname_checking] = false
122
- catalog = compile_to_catalog(<<-MANIFEST, Puppet::Node.new("node.name.com"))
123
- node 'node.name' { notify { matched: } }
124
- MANIFEST
125
-
126
- expect(catalog).to have_resource('Notify[matched]')
127
- end
128
-
129
120
  it 'does not treat regex symbols as a regex inside a string literal' do
130
121
  catalog = compile_to_catalog(<<-MANIFEST, Puppet::Node.new("nodexname"))
131
122
  node 'node.name' { notify { 'not matched': } }
@@ -68,16 +68,6 @@ describe 'when pcore described resources types are in use' do
68
68
  end
69
69
  end
70
70
  RUBY
71
- 'cap.rb' => <<-EOF
72
- module Puppet
73
- Type.newtype(:cap, :is_capability => true) do
74
- @doc = "Docs for capability"
75
- @isomorphic = false
76
- newproperty(:message) do
77
- desc "Docs for 'message' property"
78
- end
79
- end;end
80
- EOF
81
71
  } } },
82
72
  }
83
73
  }}})
@@ -126,14 +116,10 @@ describe 'when pcore described resources types are in use' do
126
116
  test3 { 'x/y':
127
117
  message => 'x/y works'
128
118
  }
129
- cap { 'c':
130
- message => 'c works'
131
- }
132
119
  MANIFEST
133
120
  expect(catalog.resource(:test1, "a")['message']).to eq('a works')
134
121
  expect(catalog.resource(:test2, "b")['message']).to eq('b works')
135
122
  expect(catalog.resource(:test3, "x/y")['message']).to eq('x/y works')
136
- expect(catalog.resource(:cap, "c")['message']).to eq('c works')
137
123
  end
138
124
 
139
125
  it 'the validity of attribute names are checked' do
@@ -158,20 +144,6 @@ describe 'when pcore described resources types are in use' do
158
144
  expect(catalog.resource(:test1, "a")['noop']).to eq(true)
159
145
  end
160
146
 
161
- it 'capability is propagated to the catalog' do
162
- genface.types
163
- catalog = compile_to_catalog(<<-MANIFEST)
164
- test2 { 'r':
165
- message => 'a resource'
166
- }
167
- cap { 'c':
168
- message => 'a cap'
169
- }
170
- MANIFEST
171
- expect(catalog.resource(:test2, "r").is_capability?).to eq(false)
172
- expect(catalog.resource(:cap, "c").is_capability?).to eq(true)
173
- end
174
-
175
147
  it 'a generated type describes if it is isomorphic' do
176
148
  generate_and_in_a_compilers_context do |compiler|
177
149
  t1 = find_resource_type(compiler.topscope, 'test1')
@@ -181,15 +153,6 @@ describe 'when pcore described resources types are in use' do
181
153
  end
182
154
  end
183
155
 
184
- it 'a generated type describes if it is a capability' do
185
- generate_and_in_a_compilers_context do |compiler|
186
- t1 = find_resource_type(compiler.topscope, 'test1')
187
- expect(t1.is_capability?).to be(false)
188
- t2 = find_resource_type(compiler.topscope, 'cap')
189
- expect(t2.is_capability?).to be(true)
190
- end
191
- end
192
-
193
156
  it 'a generated type returns parameters defined in pcore' do
194
157
  generate_and_in_a_compilers_context do |compiler|
195
158
  t1 = find_resource_type(compiler.topscope, 'test1')
@@ -11,8 +11,12 @@ describe Puppet::Resource::TypeCollection do
11
11
  @dir = tmpfile("autoload_testing")
12
12
  FileUtils.mkdir_p @dir
13
13
 
14
- loader = double('loader', load: nil, set_entry: nil)
15
- loaders = double('loaders', runtime3_type_loader: loader)
14
+ loader = Object.new
15
+ allow(loader).to receive(:load).and_return(nil)
16
+ allow(loader).to receive(:set_entry)
17
+
18
+ loaders = Object.new
19
+ expect(loaders).to receive(:runtime3_type_loader).at_most(:once).and_return(loader)
16
20
  expect(Puppet::Pops::Loaders).to receive(:loaders).at_most(:once).and_return(loaders)
17
21
 
18
22
  environment = Puppet::Node::Environment.create(:env, [@dir])
@@ -61,7 +61,7 @@ describe Puppet::Transaction do
61
61
 
62
62
  transaction = Puppet::Transaction.new(catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
63
63
 
64
- expect(resource).not_to receive(:retrieve)
64
+ expect(resource).not_to receive(:evaluate)
65
65
 
66
66
  transaction.evaluate
67
67
  end
@@ -86,7 +86,7 @@ describe Puppet::Transaction do
86
86
 
87
87
  transaction = Puppet::Transaction.new(catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
88
88
 
89
- expect(resource).not_to receive(:retrieve)
89
+ expect(resource).not_to receive(:evaluate)
90
90
 
91
91
  transaction.evaluate
92
92
  end
@@ -315,14 +315,16 @@ describe Puppet::Transaction do
315
315
  file1 = tmpfile("file1")
316
316
  file2 = tmpfile("file2")
317
317
 
318
- expect(Puppet::FileSystem).to_not be_exist(file2)
319
-
320
318
  exec1 = Puppet::Type.type(:exec).new(
321
319
  :name => "exec1",
322
320
  :path => ENV["PATH"],
323
321
  :command => touch(file1),
324
322
  )
325
323
 
324
+ allow(exec1).to receive(:eval_generate).and_return(
325
+ [ Puppet::Type.type(:notify).new(:name => "eval1_notify") ]
326
+ )
327
+
326
328
  exec2 = Puppet::Type.type(:exec).new(
327
329
  :name => "exec2",
328
330
  :path => ENV["PATH"],
@@ -330,6 +332,9 @@ describe Puppet::Transaction do
330
332
  :refreshonly => true,
331
333
  :subscribe => exec1,
332
334
  )
335
+ allow(exec2).to receive(:eval_generate).and_return(
336
+ [ Puppet::Type.type(:notify).new(:name => "eval2_notify") ]
337
+ )
333
338
 
334
339
  Puppet[:tags] = "exec"
335
340
  catalog = mk_catalog(exec1, exec2)