puppet 6.19.1-x86-mingw32 → 7.0.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 (440) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +19 -20
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +1 -14
  9. data/ext/redhat/puppet.spec.erb +0 -1
  10. data/ext/windows/service/daemon.rb +6 -5
  11. data/install.rb +21 -17
  12. data/lib/puppet.rb +11 -20
  13. data/lib/puppet/application.rb +172 -98
  14. data/lib/puppet/application/device.rb +100 -104
  15. data/lib/puppet/application/filebucket.rb +15 -11
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +28 -33
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +95 -159
  20. data/lib/puppet/environments.rb +10 -25
  21. data/lib/puppet/face/config.rb +10 -0
  22. data/lib/puppet/face/epp.rb +12 -2
  23. data/lib/puppet/face/facts.rb +66 -6
  24. data/lib/puppet/face/help.rb +1 -1
  25. data/lib/puppet/face/plugin.rb +5 -8
  26. data/lib/puppet/ffi/windows.rb +12 -0
  27. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  28. data/lib/puppet/ffi/windows/constants.rb +404 -0
  29. data/lib/puppet/ffi/windows/functions.rb +628 -0
  30. data/lib/puppet/ffi/windows/structs.rb +338 -0
  31. data/lib/puppet/file_serving/configuration.rb +0 -5
  32. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  33. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  34. data/lib/puppet/file_serving/mount.rb +1 -2
  35. data/lib/puppet/forge/repository.rb +0 -1
  36. data/lib/puppet/functions/epp.rb +1 -0
  37. data/lib/puppet/functions/inline_epp.rb +1 -0
  38. data/lib/puppet/generate/models/type/type.rb +4 -1
  39. data/lib/puppet/http.rb +22 -13
  40. data/lib/puppet/http/client.rb +164 -114
  41. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  42. data/lib/puppet/http/errors.rb +16 -0
  43. data/lib/puppet/http/external_client.rb +5 -7
  44. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  45. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  46. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  47. data/lib/puppet/http/proxy.rb +137 -0
  48. data/lib/puppet/http/redirector.rb +4 -12
  49. data/lib/puppet/http/resolver.rb +5 -15
  50. data/lib/puppet/http/resolver/server_list.rb +6 -10
  51. data/lib/puppet/http/resolver/settings.rb +4 -7
  52. data/lib/puppet/http/resolver/srv.rb +7 -11
  53. data/lib/puppet/http/response.rb +36 -54
  54. data/lib/puppet/http/response_converter.rb +24 -0
  55. data/lib/puppet/http/response_net_http.rb +42 -0
  56. data/lib/puppet/http/retry_after_handler.rb +4 -13
  57. data/lib/puppet/http/service.rb +12 -26
  58. data/lib/puppet/http/service/ca.rb +11 -22
  59. data/lib/puppet/http/service/compiler.rb +22 -69
  60. data/lib/puppet/http/service/file_server.rb +18 -27
  61. data/lib/puppet/http/service/puppetserver.rb +26 -12
  62. data/lib/puppet/http/service/report.rb +8 -10
  63. data/lib/puppet/http/session.rb +11 -20
  64. data/lib/puppet/{network/http → http}/site.rb +1 -2
  65. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  66. data/lib/puppet/indirector/fact_search.rb +60 -0
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/json.rb +27 -0
  69. data/lib/puppet/indirector/facts/rest.rb +3 -22
  70. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  71. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  73. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  74. data/lib/puppet/indirector/file_server.rb +1 -8
  75. data/lib/puppet/indirector/generic_http.rb +0 -11
  76. data/lib/puppet/indirector/json.rb +5 -1
  77. data/lib/puppet/indirector/node/json.rb +8 -0
  78. data/lib/puppet/indirector/node/rest.rb +2 -4
  79. data/lib/puppet/indirector/report/json.rb +34 -0
  80. data/lib/puppet/indirector/report/rest.rb +3 -8
  81. data/lib/puppet/indirector/request.rb +0 -101
  82. data/lib/puppet/indirector/rest.rb +12 -263
  83. data/lib/puppet/module_tool/applications.rb +0 -1
  84. data/lib/puppet/network/authconfig.rb +2 -96
  85. data/lib/puppet/network/authorization.rb +13 -35
  86. data/lib/puppet/network/formats.rb +2 -1
  87. data/lib/puppet/network/http.rb +3 -3
  88. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  89. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  90. data/lib/puppet/network/http/connection.rb +247 -316
  91. data/lib/puppet/network/http/handler.rb +0 -1
  92. data/lib/puppet/network/http_pool.rb +16 -34
  93. data/lib/puppet/node.rb +1 -30
  94. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  95. data/lib/puppet/pal/pal_impl.rb +73 -18
  96. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  97. data/lib/puppet/parser/compiler.rb +0 -198
  98. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  99. data/lib/puppet/parser/resource.rb +0 -69
  100. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
  101. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  102. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  103. data/lib/puppet/pops/issues.rb +0 -5
  104. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  105. data/lib/puppet/pops/model/ast.pp +0 -42
  106. data/lib/puppet/pops/model/ast.rb +0 -290
  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/dpkg.rb +0 -10
  125. data/lib/puppet/provider/package/gem.rb +23 -3
  126. data/lib/puppet/provider/package/pip.rb +0 -1
  127. data/lib/puppet/provider/package/pkg.rb +0 -4
  128. data/lib/puppet/provider/package/portage.rb +1 -1
  129. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  130. data/lib/puppet/provider/service/smf.rb +191 -73
  131. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  132. data/lib/puppet/reference/configuration.rb +2 -0
  133. data/lib/puppet/reference/indirection.rb +1 -1
  134. data/lib/puppet/resource.rb +1 -89
  135. data/lib/puppet/resource/catalog.rb +1 -14
  136. data/lib/puppet/resource/type.rb +3 -119
  137. data/lib/puppet/resource/type_collection.rb +3 -48
  138. data/lib/puppet/runtime.rb +1 -2
  139. data/lib/puppet/settings.rb +45 -33
  140. data/lib/puppet/settings/base_setting.rb +26 -2
  141. data/lib/puppet/settings/integer_setting.rb +17 -0
  142. data/lib/puppet/settings/port_setting.rb +15 -0
  143. data/lib/puppet/settings/priority_setting.rb +5 -4
  144. data/lib/puppet/ssl.rb +10 -6
  145. data/lib/puppet/ssl/base.rb +3 -5
  146. data/lib/puppet/ssl/certificate.rb +0 -6
  147. data/lib/puppet/ssl/certificate_request.rb +1 -12
  148. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  149. data/lib/puppet/ssl/oids.rb +3 -1
  150. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  151. data/lib/puppet/ssl/state_machine.rb +3 -1
  152. data/lib/puppet/ssl/verifier.rb +2 -0
  153. data/lib/puppet/test/test_helper.rb +1 -3
  154. data/lib/puppet/transaction.rb +1 -7
  155. data/lib/puppet/transaction/report.rb +2 -4
  156. data/lib/puppet/type.rb +0 -76
  157. data/lib/puppet/type/file.rb +5 -7
  158. data/lib/puppet/type/file/checksum.rb +1 -1
  159. data/lib/puppet/type/file/source.rb +1 -1
  160. data/lib/puppet/type/filebucket.rb +3 -3
  161. data/lib/puppet/type/package.rb +5 -13
  162. data/lib/puppet/util/execution.rb +0 -11
  163. data/lib/puppet/util/http_proxy.rb +2 -215
  164. data/lib/puppet/util/monkey_patches.rb +0 -46
  165. data/lib/puppet/util/rdoc.rb +0 -7
  166. data/lib/puppet/util/retry_action.rb +1 -1
  167. data/lib/puppet/util/rubygems.rb +5 -1
  168. data/lib/puppet/util/run_mode.rb +9 -1
  169. data/lib/puppet/util/windows.rb +3 -8
  170. data/lib/puppet/util/windows/daemon.rb +360 -0
  171. data/lib/puppet/util/windows/error.rb +1 -0
  172. data/lib/puppet/util/windows/eventlog.rb +4 -9
  173. data/lib/puppet/util/windows/file.rb +8 -242
  174. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  175. data/lib/puppet/util/windows/process.rb +4 -226
  176. data/lib/puppet/util/windows/service.rb +9 -460
  177. data/lib/puppet/util/windows/string.rb +12 -13
  178. data/lib/puppet/util/yaml.rb +0 -22
  179. data/lib/puppet/vendor/require_vendored.rb +0 -1
  180. data/lib/puppet/version.rb +1 -1
  181. data/lib/puppet/x509.rb +5 -1
  182. data/lib/puppet/x509/cert_provider.rb +29 -1
  183. data/locales/puppet.pot +531 -1232
  184. data/man/man5/puppet.conf.5 +37 -97
  185. data/man/man8/puppet-agent.8 +1 -1
  186. data/man/man8/puppet-apply.8 +1 -1
  187. data/man/man8/puppet-catalog.8 +1 -1
  188. data/man/man8/puppet-config.8 +1 -1
  189. data/man/man8/puppet-describe.8 +1 -1
  190. data/man/man8/puppet-device.8 +1 -1
  191. data/man/man8/puppet-doc.8 +1 -1
  192. data/man/man8/puppet-epp.8 +1 -1
  193. data/man/man8/puppet-facts.8 +55 -9
  194. data/man/man8/puppet-filebucket.8 +6 -6
  195. data/man/man8/puppet-generate.8 +1 -1
  196. data/man/man8/puppet-help.8 +1 -1
  197. data/man/man8/puppet-lookup.8 +1 -1
  198. data/man/man8/puppet-module.8 +1 -58
  199. data/man/man8/puppet-node.8 +4 -1
  200. data/man/man8/puppet-parser.8 +1 -1
  201. data/man/man8/puppet-plugin.8 +1 -1
  202. data/man/man8/puppet-report.8 +4 -1
  203. data/man/man8/puppet-resource.8 +1 -1
  204. data/man/man8/puppet-script.8 +1 -1
  205. data/man/man8/puppet-ssl.8 +1 -1
  206. data/man/man8/puppet.8 +2 -2
  207. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  208. data/spec/integration/application/agent_spec.rb +24 -11
  209. data/spec/integration/application/apply_spec.rb +1 -1
  210. data/spec/integration/application/filebucket_spec.rb +16 -16
  211. data/spec/integration/application/help_spec.rb +2 -0
  212. data/spec/integration/application/plugin_spec.rb +23 -1
  213. data/spec/integration/defaults_spec.rb +7 -3
  214. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  215. data/spec/integration/network/http_pool_spec.rb +3 -21
  216. data/spec/integration/parser/catalog_spec.rb +0 -38
  217. data/spec/integration/parser/node_spec.rb +0 -9
  218. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  219. data/spec/integration/type/file_spec.rb +5 -4
  220. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  221. data/spec/integration/util/windows/security_spec.rb +1 -1
  222. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  223. data/spec/lib/puppet_spec/settings.rb +7 -1
  224. data/spec/spec_helper.rb +2 -0
  225. data/spec/unit/agent_spec.rb +0 -2
  226. data/spec/unit/application/config_spec.rb +224 -4
  227. data/spec/unit/application/facts_spec.rb +35 -0
  228. data/spec/unit/application/filebucket_spec.rb +41 -39
  229. data/spec/unit/application/ssl_spec.rb +2 -2
  230. data/spec/unit/certificate_factory_spec.rb +1 -1
  231. data/spec/unit/configurer/downloader_spec.rb +6 -2
  232. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  233. data/spec/unit/configurer_spec.rb +12 -9
  234. data/spec/unit/context/trusted_information_spec.rb +2 -6
  235. data/spec/unit/defaults_spec.rb +77 -28
  236. data/spec/unit/environments_spec.rb +0 -3
  237. data/spec/unit/face/config_spec.rb +27 -32
  238. data/spec/unit/face/facts_spec.rb +4 -0
  239. data/spec/unit/face/plugin_spec.rb +73 -33
  240. data/spec/unit/file_bucket/file_spec.rb +1 -1
  241. data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
  242. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  243. data/spec/unit/functions/camelcase_spec.rb +1 -1
  244. data/spec/unit/functions/capitalize_spec.rb +1 -1
  245. data/spec/unit/functions/downcase_spec.rb +1 -1
  246. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  247. data/spec/unit/functions/upcase_spec.rb +1 -1
  248. data/spec/unit/http/client_spec.rb +7 -8
  249. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  250. data/spec/unit/http/external_client_spec.rb +4 -4
  251. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  252. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  253. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  254. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  255. data/spec/unit/http/resolver_spec.rb +13 -13
  256. data/spec/unit/http/service/compiler_spec.rb +49 -62
  257. data/spec/unit/http/service/file_server_spec.rb +3 -3
  258. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  259. data/spec/unit/http/service_spec.rb +1 -2
  260. data/spec/unit/http/session_spec.rb +16 -14
  261. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  262. data/spec/unit/indirector/facts/facter_spec.rb +97 -0
  263. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  264. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  265. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  266. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  267. data/spec/unit/indirector/file_server_spec.rb +1 -15
  268. data/spec/unit/indirector/node/json_spec.rb +33 -0
  269. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  270. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  271. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  272. data/spec/unit/indirector/request_spec.rb +0 -264
  273. data/spec/unit/indirector/rest_spec.rb +98 -752
  274. data/spec/unit/network/authconfig_spec.rb +2 -132
  275. data/spec/unit/network/authorization_spec.rb +2 -55
  276. data/spec/unit/network/formats_spec.rb +4 -4
  277. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
  278. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  279. data/spec/unit/network/http/api_spec.rb +10 -0
  280. data/spec/unit/network/http/connection_spec.rb +19 -41
  281. data/spec/unit/network/http/handler_spec.rb +0 -6
  282. data/spec/unit/network/http_pool_spec.rb +0 -4
  283. data/spec/unit/node/environment_spec.rb +33 -21
  284. data/spec/unit/node_spec.rb +2 -54
  285. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  286. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  287. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  288. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  289. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  290. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  291. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  292. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  293. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  294. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  295. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  296. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  297. data/spec/unit/pops/visitor_spec.rb +1 -1
  298. data/spec/unit/provider/nameservice_spec.rb +0 -57
  299. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  300. data/spec/unit/provider/package/gem_spec.rb +32 -0
  301. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  302. data/spec/unit/provider/service/smf_spec.rb +401 -165
  303. data/spec/unit/provider/service/windows_spec.rb +0 -1
  304. data/spec/unit/provider_spec.rb +0 -12
  305. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  306. data/spec/unit/resource/type_collection_spec.rb +2 -22
  307. data/spec/unit/resource_spec.rb +0 -56
  308. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  309. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  310. data/spec/unit/settings/port_setting_spec.rb +31 -0
  311. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  312. data/spec/unit/settings_spec.rb +423 -236
  313. data/spec/unit/ssl/base_spec.rb +36 -3
  314. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  315. data/spec/unit/ssl/certificate_spec.rb +2 -11
  316. data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
  317. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  318. data/spec/unit/ssl/verifier_spec.rb +0 -21
  319. data/spec/unit/transaction/report_spec.rb +0 -2
  320. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  321. data/spec/unit/transaction_spec.rb +45 -79
  322. data/spec/unit/type/file/checksum_spec.rb +6 -6
  323. data/spec/unit/type/file/content_spec.rb +1 -1
  324. data/spec/unit/type/file/ensure_spec.rb +1 -1
  325. data/spec/unit/type/file/mode_spec.rb +1 -1
  326. data/spec/unit/type/file/source_spec.rb +0 -1
  327. data/spec/unit/type/file_spec.rb +12 -6
  328. data/spec/unit/type/package_spec.rb +1 -1
  329. data/spec/unit/type_spec.rb +20 -0
  330. data/spec/unit/util/backups_spec.rb +0 -2
  331. data/spec/unit/util/execution_spec.rb +0 -29
  332. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  333. data/spec/unit/util/rubygems_spec.rb +2 -2
  334. data/spec/unit/util/run_mode_spec.rb +21 -121
  335. data/spec/unit/util/windows/string_spec.rb +1 -3
  336. data/spec/unit/util/yaml_spec.rb +0 -54
  337. data/spec/unit/util_spec.rb +0 -18
  338. metadata +50 -232
  339. data/conf/auth.conf +0 -150
  340. data/lib/puppet/application/cert.rb +0 -76
  341. data/lib/puppet/application/key.rb +0 -4
  342. data/lib/puppet/application/man.rb +0 -4
  343. data/lib/puppet/application/status.rb +0 -4
  344. data/lib/puppet/face/key.rb +0 -16
  345. data/lib/puppet/face/man.rb +0 -145
  346. data/lib/puppet/face/module/build.rb +0 -14
  347. data/lib/puppet/face/module/generate.rb +0 -14
  348. data/lib/puppet/face/module/search.rb +0 -103
  349. data/lib/puppet/face/status.rb +0 -51
  350. data/lib/puppet/indirector/certificate/file.rb +0 -9
  351. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  352. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  353. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  354. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  355. data/lib/puppet/indirector/file_content/http.rb +0 -22
  356. data/lib/puppet/indirector/key/file.rb +0 -46
  357. data/lib/puppet/indirector/key/memory.rb +0 -7
  358. data/lib/puppet/indirector/ssl_file.rb +0 -162
  359. data/lib/puppet/indirector/status.rb +0 -3
  360. data/lib/puppet/indirector/status/local.rb +0 -12
  361. data/lib/puppet/indirector/status/rest.rb +0 -27
  362. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  363. data/lib/puppet/network/auth_config_parser.rb +0 -90
  364. data/lib/puppet/network/authstore.rb +0 -283
  365. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  366. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  367. data/lib/puppet/network/http/base_pool.rb +0 -36
  368. data/lib/puppet/network/http/compression.rb +0 -127
  369. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  370. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  371. data/lib/puppet/network/rest_controller.rb +0 -2
  372. data/lib/puppet/network/rights.rb +0 -210
  373. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  374. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  375. data/lib/puppet/parser/environment_compiler.rb +0 -202
  376. data/lib/puppet/pops/types/enumeration.rb +0 -16
  377. data/lib/puppet/resource/capability_finder.rb +0 -154
  378. data/lib/puppet/rest/errors.rb +0 -15
  379. data/lib/puppet/rest/response.rb +0 -35
  380. data/lib/puppet/rest/route.rb +0 -85
  381. data/lib/puppet/rest/routes.rb +0 -135
  382. data/lib/puppet/ssl/host.rb +0 -505
  383. data/lib/puppet/ssl/key.rb +0 -61
  384. data/lib/puppet/ssl/validator.rb +0 -61
  385. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  386. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  387. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  388. data/lib/puppet/status.rb +0 -40
  389. data/lib/puppet/util/connection.rb +0 -88
  390. data/lib/puppet/util/ssl.rb +0 -83
  391. data/lib/puppet/util/windows/api_types.rb +0 -309
  392. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  393. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  394. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  395. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  396. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  397. data/lib/puppet/vendor/pathspec/README.md +0 -53
  398. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  399. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  400. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  401. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  402. data/man/man8/puppet-key.8 +0 -126
  403. data/man/man8/puppet-man.8 +0 -76
  404. data/man/man8/puppet-status.8 +0 -108
  405. data/spec/integration/application/config_spec.rb +0 -74
  406. data/spec/integration/network/authconfig_spec.rb +0 -256
  407. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  408. data/spec/unit/application/man_spec.rb +0 -52
  409. data/spec/unit/capability_spec.rb +0 -414
  410. data/spec/unit/face/catalog_spec.rb +0 -6
  411. data/spec/unit/face/key_spec.rb +0 -9
  412. data/spec/unit/face/module/search_spec.rb +0 -231
  413. data/spec/unit/face/module_spec.rb +0 -3
  414. data/spec/unit/face/status_spec.rb +0 -9
  415. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  416. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  417. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  418. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  419. data/spec/unit/indirector/key/file_spec.rb +0 -79
  420. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  421. data/spec/unit/indirector/status/local_spec.rb +0 -10
  422. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  423. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  424. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  425. data/spec/unit/network/authstore_spec.rb +0 -422
  426. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  427. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  428. data/spec/unit/network/http/compression_spec.rb +0 -240
  429. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  430. data/spec/unit/network/http_spec.rb +0 -9
  431. data/spec/unit/network/rights_spec.rb +0 -439
  432. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  433. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  434. data/spec/unit/resource/capability_finder_spec.rb +0 -143
  435. data/spec/unit/rest/route_spec.rb +0 -132
  436. data/spec/unit/ssl/host_spec.rb +0 -650
  437. data/spec/unit/ssl/key_spec.rb +0 -173
  438. data/spec/unit/ssl/validator_spec.rb +0 -278
  439. data/spec/unit/status_spec.rb +0 -45
  440. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -18,8 +18,8 @@ describe checksum do
18
18
  @checksum.sum("foobar")
19
19
  end
20
20
 
21
- it "should use :md5 to sum when no value is set" do
22
- expect(@checksum).to receive(:md5).with("foobar").and_return("yay")
21
+ it "should use :sha256 to sum when no value is set" do
22
+ expect(@checksum).to receive(:sha256).with("foobar").and_return("yay")
23
23
  @checksum.sum("foobar")
24
24
  end
25
25
 
@@ -47,8 +47,8 @@ describe checksum do
47
47
  expect(@checksum.sum("foobar")).to eq("{sha384}#{sum}")
48
48
  end
49
49
 
50
- it "should use :md5 as its default type" do
51
- expect(@checksum.default).to eq(:md5)
50
+ it "should use :sha256 as its default type" do
51
+ expect(@checksum.default).to eq(:sha256)
52
52
  end
53
53
 
54
54
  it "should use its current value when asked to sum a file's content" do
@@ -57,8 +57,8 @@ describe checksum do
57
57
  @checksum.sum_file(@path)
58
58
  end
59
59
 
60
- it "should use :md5 to sum a file when no value is set" do
61
- expect(@checksum).to receive(:md5_file).with(@path).and_return("yay")
60
+ it "should use :sha256 to sum a file when no value is set" do
61
+ expect(@checksum).to receive(:sha256_file).with(@path).and_return("yay")
62
62
  @checksum.sum_file(@path)
63
63
  end
64
64
 
@@ -7,7 +7,7 @@ describe Puppet::Type.type(:file).attrclass(:content), :uses_checksums => true d
7
7
  let(:filename) { tmpfile('testfile') }
8
8
  let(:environment) { Puppet::Node::Environment.create(:testing, []) }
9
9
  let(:catalog) { Puppet::Resource::Catalog.new(:test, environment) }
10
- let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog }
10
+ let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog, :backup => 'puppet' }
11
11
 
12
12
  before do
13
13
  File.open(filename, 'w') {|f| f.write "initial file content"}
@@ -85,7 +85,7 @@ describe Puppet::Type.type(:file).attrclass(:ensure) do
85
85
  }.to raise_error(Puppet::Error, /Cannot create #{newpath}; parent directory #{File.dirname(newpath)} does not exist/)
86
86
  end
87
87
 
88
- it "should accept octal mode as fixnum" do
88
+ it "should accept octal mode as integer" do
89
89
  resource[:mode] = '0700'
90
90
  expect(resource).to receive(:property_fix)
91
91
  expect(Dir).to receive(:mkdir).with(path, 0700)
@@ -11,7 +11,7 @@ describe Puppet::Type.type(:file).attrclass(:mode) do
11
11
  it "should reject non-string values" do
12
12
  expect {
13
13
  mode.value = 0755
14
- }.to raise_error(Puppet::Error, /The file mode specification must be a string, not '(?:Fixnum|Integer)'/)
14
+ }.to raise_error(Puppet::Error, /The file mode specification must be a string, not 'Integer'/)
15
15
  end
16
16
 
17
17
  it "should accept values specified as octal numbers in strings" do
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
  require 'uri'
3
3
  require 'puppet/network/http_pool'
4
- #require 'puppet/network/resolver'
5
4
 
6
5
  describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
7
6
  include PuppetSpec::Files
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:file) do
@@ -133,6 +134,10 @@ describe Puppet::Type.type(:file) do
133
134
  end
134
135
 
135
136
  describe "the backup parameter" do
137
+ it 'should be disabled by default' do
138
+ expect(file[:backup]).to eq(nil)
139
+ end
140
+
136
141
  [false, 'false', :false].each do |value|
137
142
  it "should disable backup if the value is #{value.inspect}" do
138
143
  file[:backup] = value
@@ -774,7 +779,7 @@ describe Puppet::Type.type(:file) do
774
779
  it "should set the checksum parameter based on the metadata" do
775
780
  allow(file).to receive(:perform_recursion).and_return([@first])
776
781
  allow(@resource).to receive(:[]=)
777
- expect(@resource).to receive(:[]=).with(:checksum, "md5")
782
+ expect(@resource).to receive(:[]=).with(:checksum, "sha256")
778
783
  file.recurse_remote("first" => @resource)
779
784
  end
780
785
 
@@ -810,7 +815,7 @@ describe Puppet::Type.type(:file) do
810
815
  allow(file).to receive(:perform_recursion).and_return([@first])
811
816
 
812
817
  allow(file).to receive(:[]=)
813
- expect(file). to receive(:[]=).with(:checksum, "md5")
818
+ expect(file). to receive(:[]=).with(:checksum, "sha256")
814
819
 
815
820
  file.recurse_remote("first" => @resource)
816
821
  end
@@ -928,7 +933,7 @@ describe Puppet::Type.type(:file) do
928
933
  end
929
934
 
930
935
  it "should fail if it can't backup the file" do
931
- # Default: file[:backup] = true
936
+ file[:backup] = true
932
937
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
933
938
  allow(file).to receive(:perform_backup).and_return(false)
934
939
 
@@ -937,7 +942,7 @@ describe Puppet::Type.type(:file) do
937
942
 
938
943
  describe "backing up directories" do
939
944
  it "should not backup directories if backup is true and force is false" do
940
- # Default: file[:backup] = true
945
+ file[:backup] = true
941
946
  file[:force] = false
942
947
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
943
948
 
@@ -947,7 +952,7 @@ describe Puppet::Type.type(:file) do
947
952
  end
948
953
 
949
954
  it "should backup directories if backup is true and force is true" do
950
- # Default: file[:backup] = true
955
+ file[:backup] = true
951
956
  file[:force] = true
952
957
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
953
958
 
@@ -974,7 +979,7 @@ describe Puppet::Type.type(:file) do
974
979
  end
975
980
 
976
981
  it "should remove a directory if backup is true and force is true" do
977
- # Default: file[:backup] = true
982
+ file[:backup] = true
978
983
  file[:force] = true
979
984
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
980
985
 
@@ -1006,6 +1011,7 @@ describe Puppet::Type.type(:file) do
1006
1011
  end
1007
1012
 
1008
1013
  it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
1014
+ file[:backup] = 'puppet'
1009
1015
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'blockSpecial'))
1010
1016
 
1011
1017
  expect(file).to receive(:warning).with("Could not back up file of type blockSpecial")
@@ -349,7 +349,7 @@ describe Puppet::Type.type(:package) do
349
349
  end
350
350
  end
351
351
 
352
- [:purged, :absent, :held].each do |state|
352
+ [:purged, :absent].each do |state|
353
353
  it "should not reinstall if it should be #{state.to_s} and reinstall_on_refresh is true" do
354
354
  @package[:ensure] = state
355
355
  allow(@provider).to receive(:reinstallable?).and_return(true)
@@ -195,6 +195,26 @@ describe Puppet::Type, :unless => Puppet::Util::Platform.windows? do
195
195
  end
196
196
  end
197
197
 
198
+ context 'aliased resource' do
199
+ it 'fails if a resource is defined and then redefined using name that results in the same alias' do
200
+ drive = Puppet::Util::Platform.windows? ? 'C:' : ''
201
+ code = <<~PUPPET
202
+ $dir='#{drive}/tmp/test'
203
+ $same_dir='#{drive}/tmp/test/'
204
+
205
+ file {$dir:
206
+ ensure => directory
207
+ }
208
+
209
+ file { $same_dir:
210
+ ensure => directory
211
+ }
212
+ PUPPET
213
+
214
+ expect { compile_to_ral(code) }.to raise_error(/resource \["File", "#{drive}\/tmp\/test"\] already declared/)
215
+ end
216
+ end
217
+
198
218
  context "resource attributes" do
199
219
  let(:resource) {
200
220
  resource = klass.new(:name => "foo")
@@ -16,8 +16,6 @@ describe Puppet::Util::Backups do
16
16
  let(:path) { make_absolute('/no/such/file') }
17
17
 
18
18
  it "should noop if the file does not exist" do
19
- file = Puppet::Type.type(:file).new(:name => path)
20
-
21
19
  expect(file).not_to receive(:bucket)
22
20
  expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
23
21
 
@@ -935,33 +935,4 @@ describe Puppet::Util::Execution, if: !Puppet::Util::Platform.jruby? do
935
935
  expect(Puppet::Util::Execution.execpipe('echo hello', false)).to eq('error message')
936
936
  end
937
937
  end
938
-
939
- describe "execfail" do
940
- it "returns the executed command output" do
941
- allow(Puppet::Util::Execution).to receive(:execute)
942
- .and_return(Puppet::Util::Execution::ProcessOutput.new("process output", 0))
943
- expect(Puppet::Util::Execution.execfail('echo hello', Puppet::Error)).to eq('process output')
944
- end
945
-
946
- it "raises a caller-specified exception on failure with the backtrace" do
947
- allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure, "failed to execute")
948
- expect {
949
- Puppet::Util::Execution.execfail("this will fail", Puppet::Error)
950
- }.to raise_error(Puppet::Error, /failed to execute/)
951
- end
952
-
953
- it "raises exceptions that don't extend ExecutionFailure" do
954
- allow(Puppet::Util::Execution).to receive(:execute).and_raise(ArgumentError, "failed to execute")
955
- expect {
956
- Puppet::Util::Execution.execfail("this will fail", Puppet::Error)
957
- }.to raise_error(ArgumentError, /failed to execute/)
958
- end
959
-
960
- it "raises a TypeError if the exception class is nil" do
961
- allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure, "failed to execute")
962
- expect {
963
- Puppet::Util::Execution.execfail('echo hello', nil)
964
- }.to raise_error(TypeError, /exception class\/object expected/)
965
- end
966
- end
967
938
  end
@@ -135,9 +135,3 @@ describe SecureRandom do
135
135
  expect(SecureRandom.uuid).to match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i)
136
136
  end
137
137
  end
138
-
139
- describe 'Enumerable' do
140
- it 'expects uniq to work on an Enumerable' do
141
- expect(['c', 'c', 'C'].reverse_each.uniq).to eql(['C', 'c'])
142
- end
143
- end
@@ -33,8 +33,8 @@ describe Puppet::Util::RubyGems::Source do
33
33
  describe '::Gems18Source' do
34
34
  before(:each) { allow(described_class).to receive(:source).and_return(Puppet::Util::RubyGems::Gems18Source) }
35
35
 
36
- it "#directories returns the lib subdirs of Gem::Specification.latest_specs" do
37
- expect(Gem::Specification).to receive(:latest_specs).with(true).and_return([fake_gem])
36
+ it "#directories returns the lib subdirs of Gem::Specification.stubs" do
37
+ expect(Gem::Specification).to receive(:stubs).and_return([fake_gem])
38
38
 
39
39
  expect(described_class.new.directories).to eq([gem_lib])
40
40
  end
@@ -1,12 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Puppet::Util::RunMode do
4
- # Discriminator for tests that attempts to unset HOME since that, for reasons currently unknown,
5
- # doesn't work in Ruby >= 2.4.0
6
- def self.gte_ruby_2_4
7
- @gte_ruby_2_4 ||= SemanticPuppet::Version.parse(RUBY_VERSION) >= SemanticPuppet::Version.parse('2.4.0')
8
- end
9
-
10
4
  before do
11
5
  @run_mode = Puppet::Util::RunMode.new('fake')
12
6
  end
@@ -34,14 +28,6 @@ describe Puppet::Util::RunMode do
34
28
  as_non_root { expect(@run_mode.conf_dir).to eq(File.expand_path('~/.puppetlabs/etc/puppet')) }
35
29
  end
36
30
  end
37
-
38
- it "fails when asking for the conf_dir as non-root and there is no $HOME", :unless => gte_ruby_2_4 || Puppet::Util::Platform.windows? do
39
- as_non_root do
40
- without_home do
41
- expect { @run_mode.conf_dir }.to raise_error ArgumentError, /couldn't find HOME/
42
- end
43
- end
44
- end
45
31
  end
46
32
 
47
33
  describe "#code_dir" do
@@ -62,14 +48,6 @@ describe Puppet::Util::RunMode do
62
48
  as_non_root { expect(@run_mode.code_dir).to eq(File.expand_path('~/.puppetlabs/etc/code')) }
63
49
  end
64
50
  end
65
-
66
- it "fails when asking for the code_dir as non-root and there is no $HOME", :unless => gte_ruby_2_4 || Puppet::Util::Platform.windows? do
67
- as_non_root do
68
- without_home do
69
- expect { @run_mode.code_dir }.to raise_error ArgumentError, /couldn't find HOME/
70
- end
71
- end
72
- end
73
51
  end
74
52
 
75
53
  describe "#var_dir" do
@@ -80,13 +58,15 @@ describe Puppet::Util::RunMode do
80
58
  it "has vardir ~/.puppetlabs/opt/puppet/cache when run as non-root" do
81
59
  as_non_root { expect(@run_mode.var_dir).to eq(File.expand_path('~/.puppetlabs/opt/puppet/cache')) }
82
60
  end
61
+ end
62
+
63
+ describe "#public_dir" do
64
+ it "has publicdir /opt/puppetlabs/puppet/public when run as root" do
65
+ as_root { expect(@run_mode.public_dir).to eq(File.expand_path('/opt/puppetlabs/puppet/public')) }
66
+ end
83
67
 
84
- it "fails when asking for the var_dir as non-root and there is no $HOME", :unless => gte_ruby_2_4 || Puppet::Util::Platform.windows? do
85
- as_non_root do
86
- without_home do
87
- expect { @run_mode.var_dir }.to raise_error ArgumentError, /couldn't find HOME/
88
- end
89
- end
68
+ it "has publicdir ~/.puppetlabs/opt/puppet/public when run as non-root" do
69
+ as_non_root { expect(@run_mode.public_dir).to eq(File.expand_path('~/.puppetlabs/opt/puppet/public')) }
90
70
  end
91
71
  end
92
72
 
@@ -101,14 +81,6 @@ describe Puppet::Util::RunMode do
101
81
  it "has default logdir ~/.puppetlabs/var/log" do
102
82
  as_non_root { expect(@run_mode.log_dir).to eq(File.expand_path('~/.puppetlabs/var/log')) }
103
83
  end
104
-
105
- it "fails when asking for the log_dir and there is no $HOME", :unless => gte_ruby_2_4 || Puppet::Util::Platform.windows? do
106
- as_non_root do
107
- without_home do
108
- expect { @run_mode.log_dir }.to raise_error ArgumentError, /couldn't find HOME/
109
- end
110
- end
111
- end
112
84
  end
113
85
  end
114
86
 
@@ -123,103 +95,59 @@ describe Puppet::Util::RunMode do
123
95
  it "has default rundir ~/.puppetlabs/var/run" do
124
96
  as_non_root { expect(@run_mode.run_dir).to eq(File.expand_path('~/.puppetlabs/var/run')) }
125
97
  end
126
-
127
- it "fails when asking for the run_dir and there is no $HOME", :unless => gte_ruby_2_4 || Puppet::Util::Platform.windows? do
128
- as_non_root do
129
- without_home do
130
- expect { @run_mode.run_dir }.to raise_error ArgumentError, /couldn't find HOME/
131
- end
132
- end
133
- end
134
98
  end
135
99
  end
136
100
  end
137
101
 
138
102
  describe Puppet::Util::WindowsRunMode, :if => Puppet::Util::Platform.windows? do
139
103
  before do
140
- if not Dir.const_defined? :COMMON_APPDATA
141
- Dir.const_set :COMMON_APPDATA, "/CommonFakeBase"
142
- @remove_const = true
143
- end
144
104
  @run_mode = Puppet::Util::WindowsRunMode.new('fake')
145
105
  end
146
106
 
147
- after do
148
- if @remove_const
149
- Dir.send :remove_const, :COMMON_APPDATA
150
- end
151
- end
152
-
153
107
  describe "#conf_dir" do
154
108
  it "has confdir ending in Puppetlabs/puppet/etc when run as root" do
155
- as_root { expect(@run_mode.conf_dir).to eq(File.expand_path(File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "etc"))) }
109
+ as_root { expect(@run_mode.conf_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "etc"))) }
156
110
  end
157
111
 
158
112
  it "has confdir in ~/.puppetlabs/etc/puppet when run as non-root" do
159
113
  as_non_root { expect(@run_mode.conf_dir).to eq(File.expand_path("~/.puppetlabs/etc/puppet")) }
160
114
  end
161
-
162
- it "fails when asking for the conf_dir as non-root and there is no %HOME%, %HOMEDRIVE%, and %USERPROFILE%", :unless => gte_ruby_2_4 do
163
- as_non_root do
164
- without_env('HOME') do
165
- without_env('HOMEDRIVE') do
166
- without_env('USERPROFILE') do
167
- expect { @run_mode.conf_dir }.to raise_error ArgumentError, /couldn't find HOME/
168
- end
169
- end
170
- end
171
- end
172
- end
173
115
  end
174
116
 
175
117
  describe "#code_dir" do
176
118
  it "has codedir ending in PuppetLabs/code when run as root" do
177
- as_root { expect(@run_mode.code_dir).to eq(File.expand_path(File.join(Dir::COMMON_APPDATA, "PuppetLabs", "code"))) }
119
+ as_root { expect(@run_mode.code_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "code"))) }
178
120
  end
179
121
 
180
122
  it "has codedir in ~/.puppetlabs/etc/code when run as non-root" do
181
123
  as_non_root { expect(@run_mode.code_dir).to eq(File.expand_path("~/.puppetlabs/etc/code")) }
182
124
  end
183
-
184
- it "fails when asking for the code_dir as non-root and there is no %HOME%, %HOMEDRIVE%, and %USERPROFILE%", :unless => gte_ruby_2_4 do
185
- as_non_root do
186
- without_env('HOME') do
187
- without_env('HOMEDRIVE') do
188
- without_env('USERPROFILE') do
189
- expect { @run_mode.code_dir }.to raise_error ArgumentError, /couldn't find HOME/
190
- end
191
- end
192
- end
193
- end
194
- end
195
125
  end
196
126
 
197
127
  describe "#var_dir" do
198
128
  it "has vardir ending in PuppetLabs/puppet/cache when run as root" do
199
- as_root { expect(@run_mode.var_dir).to eq(File.expand_path(File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "cache"))) }
129
+ as_root { expect(@run_mode.var_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "cache"))) }
200
130
  end
201
131
 
202
132
  it "has vardir in ~/.puppetlabs/opt/puppet/cache when run as non-root" do
203
133
  as_non_root { expect(@run_mode.var_dir).to eq(File.expand_path("~/.puppetlabs/opt/puppet/cache")) }
204
134
  end
135
+ end
136
+
137
+ describe "#public_dir" do
138
+ it "has publicdir ending in PuppetLabs/puppet/public when run as root" do
139
+ as_root { expect(@run_mode.public_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "public"))) }
140
+ end
205
141
 
206
- it "fails when asking for the conf_dir as non-root and there is no %HOME%, %HOMEDRIVE%, and %USERPROFILE%", :unless => gte_ruby_2_4 do
207
- as_non_root do
208
- without_env('HOME') do
209
- without_env('HOMEDRIVE') do
210
- without_env('USERPROFILE') do
211
- expect { @run_mode.var_dir }.to raise_error ArgumentError, /couldn't find HOME/
212
- end
213
- end
214
- end
215
- end
142
+ it "has publicdir in ~/.puppetlabs/opt/puppet/public when run as non-root" do
143
+ as_non_root { expect(@run_mode.public_dir).to eq(File.expand_path("~/.puppetlabs/opt/puppet/public")) }
216
144
  end
217
145
  end
218
146
 
219
147
  describe "#log_dir" do
220
148
  describe "when run as root" do
221
149
  it "has logdir ending in PuppetLabs/puppet/var/log" do
222
- as_root { expect(@run_mode.log_dir).to eq(File.expand_path(File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "var", "log"))) }
150
+ as_root { expect(@run_mode.log_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "var", "log"))) }
223
151
  end
224
152
  end
225
153
 
@@ -227,25 +155,13 @@ describe Puppet::Util::RunMode do
227
155
  it "has default logdir ~/.puppetlabs/var/log" do
228
156
  as_non_root { expect(@run_mode.log_dir).to eq(File.expand_path('~/.puppetlabs/var/log')) }
229
157
  end
230
-
231
- it "fails when asking for the log_dir and there is no $HOME", :unless => gte_ruby_2_4 do
232
- as_non_root do
233
- without_env('HOME') do
234
- without_env('HOMEDRIVE') do
235
- without_env('USERPROFILE') do
236
- expect { @run_mode.log_dir }.to raise_error ArgumentError, /couldn't find HOME/
237
- end
238
- end
239
- end
240
- end
241
- end
242
158
  end
243
159
  end
244
160
 
245
161
  describe "#run_dir" do
246
162
  describe "when run as root" do
247
163
  it "has rundir ending in PuppetLabs/puppet/var/run" do
248
- as_root { expect(@run_mode.run_dir).to eq(File.expand_path(File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "var", "run"))) }
164
+ as_root { expect(@run_mode.run_dir).to eq(File.expand_path(File.join(ENV['ALLUSERSPROFILE'], "PuppetLabs", "puppet", "var", "run"))) }
249
165
  end
250
166
  end
251
167
 
@@ -253,18 +169,6 @@ describe Puppet::Util::RunMode do
253
169
  it "has default rundir ~/.puppetlabs/var/run" do
254
170
  as_non_root { expect(@run_mode.run_dir).to eq(File.expand_path('~/.puppetlabs/var/run')) }
255
171
  end
256
-
257
- it "fails when asking for the run_dir and there is no $HOME", :unless => gte_ruby_2_4 do
258
- as_non_root do
259
- without_env('HOME') do
260
- without_env('HOMEDRIVE') do
261
- without_env('USERPROFILE') do
262
- expect { @run_mode.run_dir }.to raise_error ArgumentError, /couldn't find HOME/
263
- end
264
- end
265
- end
266
- end
267
- end
268
172
  end
269
173
  end
270
174
 
@@ -310,8 +214,4 @@ describe Puppet::Util::RunMode do
310
214
  ensure
311
215
  Puppet::Util.set_env(name, saved)
312
216
  end
313
-
314
- def without_home(&block)
315
- without_env('HOME', &block)
316
- end
317
217
  end