puppet 6.26.0-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 (802) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +5 -7
  5. data/Gemfile.lock +43 -62
  6. data/README.md +5 -5
  7. data/conf/fileserver.conf +5 -10
  8. data/ext/README.environment +8 -0
  9. data/ext/build_defaults.yaml +1 -1
  10. data/ext/dbfix.sql +132 -0
  11. data/ext/debian/README.Debian +8 -0
  12. data/ext/debian/README.source +2 -0
  13. data/ext/debian/TODO.Debian +1 -0
  14. data/ext/debian/changelog.erb +1122 -0
  15. data/ext/debian/compat +1 -0
  16. data/ext/debian/control +144 -0
  17. data/ext/debian/copyright +339 -0
  18. data/ext/debian/docs +1 -0
  19. data/ext/debian/fileserver.conf +41 -0
  20. data/ext/debian/puppet-common.dirs +13 -0
  21. data/ext/debian/puppet-common.install +3 -0
  22. data/ext/debian/puppet-common.lintian-overrides +5 -0
  23. data/ext/debian/puppet-common.manpages +28 -0
  24. data/ext/debian/puppet-common.postinst +35 -0
  25. data/ext/debian/puppet-common.postrm +33 -0
  26. data/ext/debian/puppet-el.dirs +1 -0
  27. data/ext/debian/puppet-el.emacsen-install +25 -0
  28. data/ext/debian/puppet-el.emacsen-remove +11 -0
  29. data/ext/debian/puppet-el.emacsen-startup +9 -0
  30. data/ext/debian/puppet-el.install +1 -0
  31. data/ext/debian/puppet-testsuite.install +2 -0
  32. data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
  33. data/ext/debian/puppet.lintian-overrides +3 -0
  34. data/ext/debian/puppet.logrotate +20 -0
  35. data/ext/debian/puppet.postinst +20 -0
  36. data/ext/debian/puppet.postrm +20 -0
  37. data/ext/debian/puppet.preinst +20 -0
  38. data/ext/debian/puppetmaster-common.install +2 -0
  39. data/ext/debian/puppetmaster-common.manpages +2 -0
  40. data/ext/debian/puppetmaster-common.postinst +6 -0
  41. data/ext/debian/puppetmaster-passenger.dirs +4 -0
  42. data/ext/debian/puppetmaster-passenger.postinst +162 -0
  43. data/ext/debian/puppetmaster-passenger.postrm +61 -0
  44. data/ext/debian/puppetmaster.README.debian +17 -0
  45. data/ext/debian/puppetmaster.default +14 -0
  46. data/ext/debian/puppetmaster.init +137 -0
  47. data/ext/debian/puppetmaster.lintian-overrides +3 -0
  48. data/ext/debian/puppetmaster.postinst +20 -0
  49. data/ext/debian/puppetmaster.postrm +5 -0
  50. data/ext/debian/puppetmaster.preinst +22 -0
  51. data/ext/debian/rules +132 -0
  52. data/ext/debian/source/format +1 -0
  53. data/ext/debian/source/options +1 -0
  54. data/ext/debian/vim-puppet.README.Debian +13 -0
  55. data/ext/debian/vim-puppet.dirs +5 -0
  56. data/ext/debian/vim-puppet.yaml +7 -0
  57. data/ext/debian/watch +2 -0
  58. data/ext/freebsd/puppetd +26 -0
  59. data/ext/freebsd/puppetmasterd +26 -0
  60. data/ext/gentoo/conf.d/puppet +5 -0
  61. data/ext/gentoo/conf.d/puppetmaster +12 -0
  62. data/ext/gentoo/init.d/puppet +38 -0
  63. data/ext/gentoo/init.d/puppetmaster +51 -0
  64. data/ext/gentoo/puppet/fileserver.conf +41 -0
  65. data/ext/ips/puppet-agent +44 -0
  66. data/ext/ips/puppet-master +44 -0
  67. data/ext/ips/puppet.p5m.erb +12 -0
  68. data/ext/ips/puppetagent.xml +42 -0
  69. data/ext/ips/puppetmaster.xml +42 -0
  70. data/ext/ips/rules +19 -0
  71. data/ext/ips/transforms +34 -0
  72. data/ext/ldap/puppet.schema +24 -0
  73. data/ext/logcheck/puppet +23 -0
  74. data/{examples → ext}/nagios/check_puppet.rb +2 -2
  75. data/ext/osx/file_mapping.yaml +28 -0
  76. data/ext/osx/postflight.erb +109 -0
  77. data/ext/osx/preflight.erb +52 -0
  78. data/ext/osx/prototype.plist.erb +38 -0
  79. data/ext/osx/puppet.plist +0 -2
  80. data/ext/project_data.yaml +1 -15
  81. data/ext/redhat/fileserver.conf +41 -0
  82. data/ext/redhat/logrotate +21 -0
  83. data/ext/redhat/puppet.spec.erb +841 -0
  84. data/ext/redhat/server.init +128 -0
  85. data/ext/redhat/server.sysconfig +13 -0
  86. data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  87. data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  88. data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  89. data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  90. data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  91. data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  92. data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  93. data/ext/solaris/pkginfo +6 -0
  94. data/ext/solaris/smf/puppetd.xml +77 -0
  95. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  96. data/ext/solaris/smf/svc-puppetd +71 -0
  97. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  98. data/ext/suse/puppet.spec +310 -0
  99. data/ext/suse/server.init +173 -0
  100. data/ext/windows/service/daemon.rb +6 -5
  101. data/ext/yaml_nodes.rb +105 -0
  102. data/install.rb +21 -17
  103. data/lib/puppet/application/agent.rb +4 -16
  104. data/lib/puppet/application/apply.rb +4 -24
  105. data/lib/puppet/application/device.rb +100 -106
  106. data/lib/puppet/application/filebucket.rb +13 -10
  107. data/lib/puppet/application/lookup.rb +24 -78
  108. data/lib/puppet/application/resource.rb +16 -32
  109. data/lib/puppet/application/script.rb +0 -2
  110. data/lib/puppet/application/ssl.rb +1 -13
  111. data/lib/puppet/application.rb +178 -108
  112. data/lib/puppet/application_support.rb +0 -7
  113. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  114. data/lib/puppet/configurer/downloader.rb +1 -2
  115. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  116. data/lib/puppet/configurer.rb +86 -179
  117. data/lib/puppet/confine/variable.rb +1 -1
  118. data/lib/puppet/defaults.rb +130 -245
  119. data/lib/puppet/environments.rb +82 -146
  120. data/lib/puppet/face/facts.rb +5 -103
  121. data/lib/puppet/face/generate.rb +0 -2
  122. data/lib/puppet/face/help/action.erb +0 -1
  123. data/lib/puppet/face/help/face.erb +0 -1
  124. data/lib/puppet/face/help.rb +1 -1
  125. data/lib/puppet/face/node/clean.rb +0 -11
  126. data/lib/puppet/face/plugin.rb +5 -8
  127. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  128. data/lib/puppet/ffi/windows/constants.rb +404 -0
  129. data/lib/puppet/ffi/windows/functions.rb +628 -0
  130. data/lib/puppet/ffi/windows/structs.rb +338 -0
  131. data/lib/puppet/ffi/windows.rb +12 -0
  132. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  133. data/lib/puppet/file_serving/configuration.rb +0 -8
  134. data/lib/puppet/file_serving/fileset.rb +2 -14
  135. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  136. data/lib/puppet/file_serving/metadata.rb +0 -3
  137. data/lib/puppet/file_serving/mount/file.rb +4 -4
  138. data/lib/puppet/file_serving/mount.rb +1 -2
  139. data/lib/puppet/file_system/file_impl.rb +8 -10
  140. data/lib/puppet/file_system/jruby.rb +1 -1
  141. data/lib/puppet/file_system/memory_file.rb +1 -8
  142. data/lib/puppet/file_system/windows.rb +6 -8
  143. data/lib/puppet/file_system.rb +1 -1
  144. data/lib/puppet/forge/repository.rb +0 -1
  145. data/lib/puppet/forge.rb +4 -4
  146. data/lib/puppet/functions/all.rb +1 -1
  147. data/lib/puppet/functions/camelcase.rb +1 -1
  148. data/lib/puppet/functions/capitalize.rb +2 -2
  149. data/lib/puppet/functions/downcase.rb +2 -2
  150. data/lib/puppet/functions/empty.rb +0 -8
  151. data/lib/puppet/functions/find_template.rb +2 -2
  152. data/lib/puppet/functions/get.rb +5 -5
  153. data/lib/puppet/functions/group_by.rb +5 -13
  154. data/lib/puppet/functions/lest.rb +1 -1
  155. data/lib/puppet/functions/new.rb +100 -100
  156. data/lib/puppet/functions/partition.rb +4 -12
  157. data/lib/puppet/functions/require.rb +5 -5
  158. data/lib/puppet/functions/sort.rb +3 -3
  159. data/lib/puppet/functions/strftime.rb +0 -1
  160. data/lib/puppet/functions/tree_each.rb +9 -7
  161. data/lib/puppet/functions/type.rb +4 -4
  162. data/lib/puppet/functions/unwrap.rb +2 -17
  163. data/lib/puppet/functions/upcase.rb +2 -2
  164. data/lib/puppet/functions/versioncmp.rb +2 -6
  165. data/lib/puppet/generate/models/type/type.rb +4 -1
  166. data/lib/puppet/generate/type.rb +0 -9
  167. data/lib/puppet/http/client.rb +165 -115
  168. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  169. data/lib/puppet/http/errors.rb +16 -0
  170. data/lib/puppet/http/external_client.rb +5 -7
  171. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  172. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  173. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  174. data/lib/puppet/http/proxy.rb +137 -0
  175. data/lib/puppet/http/redirector.rb +4 -17
  176. data/lib/puppet/http/resolver/server_list.rb +10 -25
  177. data/lib/puppet/http/resolver/settings.rb +4 -7
  178. data/lib/puppet/http/resolver/srv.rb +7 -11
  179. data/lib/puppet/http/resolver.rb +5 -15
  180. data/lib/puppet/http/response.rb +36 -54
  181. data/lib/puppet/http/response_converter.rb +24 -0
  182. data/lib/puppet/http/response_net_http.rb +42 -0
  183. data/lib/puppet/http/retry_after_handler.rb +4 -13
  184. data/lib/puppet/http/service/ca.rb +11 -22
  185. data/lib/puppet/http/service/compiler.rb +23 -144
  186. data/lib/puppet/http/service/file_server.rb +19 -29
  187. data/lib/puppet/http/service/puppetserver.rb +26 -12
  188. data/lib/puppet/http/service/report.rb +8 -10
  189. data/lib/puppet/http/service.rb +12 -26
  190. data/lib/puppet/http/session.rb +11 -20
  191. data/lib/puppet/{network/http → http}/site.rb +1 -2
  192. data/lib/puppet/http.rb +22 -13
  193. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  194. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  195. data/lib/puppet/indirector/facts/facter.rb +6 -6
  196. data/lib/puppet/indirector/facts/rest.rb +3 -22
  197. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  198. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  199. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  200. data/lib/puppet/indirector/file_server.rb +1 -8
  201. data/lib/puppet/indirector/generic_http.rb +0 -11
  202. data/lib/puppet/indirector/indirection.rb +1 -1
  203. data/lib/puppet/indirector/node/rest.rb +2 -4
  204. data/lib/puppet/indirector/report/rest.rb +3 -8
  205. data/lib/puppet/indirector/request.rb +0 -101
  206. data/lib/puppet/indirector/resource/ral.rb +1 -6
  207. data/lib/puppet/indirector/rest.rb +12 -263
  208. data/lib/puppet/indirector/terminus.rb +0 -4
  209. data/lib/puppet/interface/documentation.rb +0 -1
  210. data/lib/puppet/module/plan.rb +1 -0
  211. data/lib/puppet/module/task.rb +1 -1
  212. data/lib/puppet/module.rb +0 -1
  213. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  214. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  215. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  216. data/lib/puppet/module_tool/applications.rb +0 -1
  217. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  218. data/lib/puppet/network/authconfig.rb +2 -96
  219. data/lib/puppet/network/authorization.rb +13 -35
  220. data/lib/puppet/network/formats.rb +0 -67
  221. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  222. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  223. data/lib/puppet/network/http/connection.rb +247 -316
  224. data/lib/puppet/network/http/handler.rb +0 -1
  225. data/lib/puppet/network/http.rb +3 -3
  226. data/lib/puppet/network/http_pool.rb +16 -34
  227. data/lib/puppet/node/environment.rb +11 -10
  228. data/lib/puppet/node.rb +2 -31
  229. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  230. data/lib/puppet/pal/pal_impl.rb +4 -2
  231. data/lib/puppet/parser/ast/leaf.rb +2 -3
  232. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  233. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  234. data/lib/puppet/parser/compiler.rb +0 -198
  235. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  236. data/lib/puppet/parser/resource.rb +1 -70
  237. data/lib/puppet/parser/scope.rb +0 -1
  238. data/lib/puppet/parser/templatewrapper.rb +1 -2
  239. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  240. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  241. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  242. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  243. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  244. data/lib/puppet/pops/issues.rb +0 -5
  245. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  246. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  247. data/lib/puppet/pops/model/ast.pp +0 -42
  248. data/lib/puppet/pops/model/ast.rb +0 -291
  249. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  250. data/lib/puppet/pops/model/factory.rb +1 -47
  251. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  252. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  253. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  254. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  255. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  256. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  257. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  258. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  259. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  261. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  262. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  263. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  264. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  265. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  266. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  267. data/lib/puppet/pops/types/type_parser.rb +0 -4
  268. data/lib/puppet/pops/types/types.rb +1 -2
  269. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  270. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  271. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  272. data/lib/puppet/property/list.rb +1 -1
  273. data/lib/puppet/provider/aix_object.rb +1 -1
  274. data/lib/puppet/provider/exec/posix.rb +4 -16
  275. data/lib/puppet/provider/group/groupadd.rb +10 -18
  276. data/lib/puppet/provider/nameservice.rb +0 -18
  277. data/lib/puppet/provider/package/apt.rb +2 -34
  278. data/lib/puppet/provider/package/aptitude.rb +0 -6
  279. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  280. data/lib/puppet/provider/package/dpkg.rb +0 -10
  281. data/lib/puppet/provider/package/gem.rb +23 -3
  282. data/lib/puppet/provider/package/nim.rb +6 -11
  283. data/lib/puppet/provider/package/pip.rb +3 -16
  284. data/lib/puppet/provider/package/pkg.rb +2 -23
  285. data/lib/puppet/provider/package/portage.rb +1 -1
  286. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  287. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  288. data/lib/puppet/provider/package/yum.rb +1 -1
  289. data/lib/puppet/provider/parsedfile.rb +0 -3
  290. data/lib/puppet/provider/service/base.rb +1 -1
  291. data/lib/puppet/provider/service/debian.rb +0 -2
  292. data/lib/puppet/provider/service/init.rb +9 -10
  293. data/lib/puppet/provider/service/launchd.rb +2 -2
  294. data/lib/puppet/provider/service/redhat.rb +1 -1
  295. data/lib/puppet/provider/service/smf.rb +194 -76
  296. data/lib/puppet/provider/service/systemd.rb +6 -16
  297. data/lib/puppet/provider/service/upstart.rb +5 -5
  298. data/lib/puppet/provider/service/windows.rb +0 -38
  299. data/lib/puppet/provider/user/aix.rb +3 -46
  300. data/lib/puppet/provider/user/directoryservice.rb +11 -34
  301. data/lib/puppet/provider/user/useradd.rb +24 -134
  302. data/lib/puppet/provider.rb +1 -14
  303. data/lib/puppet/reference/configuration.rb +8 -7
  304. data/lib/puppet/reference/indirection.rb +1 -1
  305. data/lib/puppet/reference/providers.rb +2 -2
  306. data/lib/puppet/resource/catalog.rb +2 -15
  307. data/lib/puppet/resource/type.rb +3 -119
  308. data/lib/puppet/resource/type_collection.rb +3 -49
  309. data/lib/puppet/resource.rb +6 -127
  310. data/lib/puppet/runtime.rb +2 -13
  311. data/lib/puppet/settings/environment_conf.rb +0 -1
  312. data/lib/puppet/settings/integer_setting.rb +17 -0
  313. data/lib/puppet/settings/port_setting.rb +15 -0
  314. data/lib/puppet/settings/priority_setting.rb +5 -4
  315. data/lib/puppet/settings.rb +82 -98
  316. data/lib/puppet/ssl/base.rb +3 -5
  317. data/lib/puppet/ssl/certificate.rb +0 -6
  318. data/lib/puppet/ssl/certificate_request.rb +1 -12
  319. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  320. data/lib/puppet/ssl/oids.rb +3 -1
  321. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  322. data/lib/puppet/ssl/state_machine.rb +3 -1
  323. data/lib/puppet/ssl/verifier.rb +2 -6
  324. data/lib/puppet/ssl.rb +10 -6
  325. data/lib/puppet/test/test_helper.rb +2 -7
  326. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  327. data/lib/puppet/transaction/persistence.rb +1 -21
  328. data/lib/puppet/transaction/report.rb +3 -19
  329. data/lib/puppet/transaction.rb +1 -7
  330. data/lib/puppet/type/exec.rb +5 -35
  331. data/lib/puppet/type/file/checksum.rb +1 -1
  332. data/lib/puppet/type/file/data_sync.rb +1 -1
  333. data/lib/puppet/type/file/mode.rb +0 -6
  334. data/lib/puppet/type/file/selcontext.rb +1 -1
  335. data/lib/puppet/type/file/source.rb +1 -1
  336. data/lib/puppet/type/file.rb +12 -32
  337. data/lib/puppet/type/filebucket.rb +4 -4
  338. data/lib/puppet/type/group.rb +1 -0
  339. data/lib/puppet/type/package.rb +8 -16
  340. data/lib/puppet/type/resources.rb +1 -1
  341. data/lib/puppet/type/service.rb +41 -26
  342. data/lib/puppet/type/tidy.rb +3 -22
  343. data/lib/puppet/type/user.rb +13 -32
  344. data/lib/puppet/type.rb +1 -77
  345. data/lib/puppet/util/autoload.rb +8 -1
  346. data/lib/puppet/util/command_line.rb +1 -1
  347. data/lib/puppet/util/execution.rb +0 -11
  348. data/lib/puppet/util/filetype.rb +2 -2
  349. data/lib/puppet/util/http_proxy.rb +2 -215
  350. data/lib/puppet/util/json.rb +0 -20
  351. data/lib/puppet/util/log.rb +4 -8
  352. data/lib/puppet/util/logging.rb +25 -1
  353. data/lib/puppet/util/monkey_patches.rb +0 -59
  354. data/lib/puppet/util/package.rb +16 -25
  355. data/lib/puppet/util/pidlock.rb +1 -1
  356. data/lib/puppet/util/posix.rb +5 -54
  357. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  358. data/lib/puppet/util/rdoc.rb +0 -7
  359. data/lib/puppet/util/retry_action.rb +1 -1
  360. data/lib/puppet/util/run_mode.rb +9 -1
  361. data/lib/puppet/util/selinux.rb +4 -30
  362. data/lib/puppet/util/suidmanager.rb +2 -1
  363. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  364. data/lib/puppet/util/tagging.rb +0 -1
  365. data/lib/puppet/util/windows/adsi.rb +0 -46
  366. data/lib/puppet/util/windows/daemon.rb +360 -0
  367. data/lib/puppet/util/windows/error.rb +1 -0
  368. data/lib/puppet/util/windows/eventlog.rb +4 -9
  369. data/lib/puppet/util/windows/file.rb +8 -242
  370. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  371. data/lib/puppet/util/windows/principal.rb +2 -9
  372. data/lib/puppet/util/windows/process.rb +4 -226
  373. data/lib/puppet/util/windows/service.rb +11 -457
  374. data/lib/puppet/util/windows/sid.rb +2 -6
  375. data/lib/puppet/util/windows/string.rb +12 -13
  376. data/lib/puppet/util/windows/user.rb +2 -0
  377. data/lib/puppet/util/windows.rb +3 -11
  378. data/lib/puppet/util/yaml.rb +1 -42
  379. data/lib/puppet/util.rb +3 -4
  380. data/lib/puppet/vendor/require_vendored.rb +0 -1
  381. data/lib/puppet/version.rb +1 -1
  382. data/lib/puppet/x509/cert_provider.rb +29 -1
  383. data/lib/puppet/x509.rb +5 -1
  384. data/lib/puppet.rb +20 -26
  385. data/locales/puppet.pot +9633 -5
  386. data/man/man5/puppet.conf.5 +286 -401
  387. data/man/man8/puppet-agent.8 +2 -5
  388. data/man/man8/puppet-apply.8 +2 -2
  389. data/man/man8/puppet-catalog.8 +9 -9
  390. data/man/man8/puppet-config.8 +1 -1
  391. data/man/man8/puppet-describe.8 +1 -1
  392. data/man/man8/puppet-device.8 +2 -2
  393. data/man/man8/puppet-doc.8 +1 -1
  394. data/man/man8/puppet-epp.8 +1 -1
  395. data/man/man8/puppet-facts.8 +8 -51
  396. data/man/man8/puppet-filebucket.8 +4 -4
  397. data/man/man8/puppet-generate.8 +1 -1
  398. data/man/man8/puppet-help.8 +1 -1
  399. data/man/man8/puppet-lookup.8 +6 -9
  400. data/man/man8/puppet-module.8 +3 -60
  401. data/man/man8/puppet-node.8 +5 -5
  402. data/man/man8/puppet-parser.8 +1 -1
  403. data/man/man8/puppet-plugin.8 +1 -1
  404. data/man/man8/puppet-report.8 +5 -5
  405. data/man/man8/puppet-resource.8 +1 -1
  406. data/man/man8/puppet-script.8 +2 -2
  407. data/man/man8/puppet-ssl.8 +1 -5
  408. data/man/man8/puppet.8 +2 -2
  409. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  410. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  411. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  412. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  413. data/spec/fixtures/ssl/ca.pem +35 -57
  414. data/spec/fixtures/ssl/crl.pem +18 -28
  415. data/spec/fixtures/ssl/ec-key.pem +11 -11
  416. data/spec/fixtures/ssl/ec.pem +24 -33
  417. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  418. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  419. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  420. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  421. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  422. data/spec/fixtures/ssl/intermediate.pem +36 -57
  423. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  424. data/spec/fixtures/ssl/pluto.pem +30 -52
  425. data/spec/fixtures/ssl/request-key.pem +57 -107
  426. data/spec/fixtures/ssl/request.pem +26 -47
  427. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  428. data/spec/fixtures/ssl/revoked.pem +30 -52
  429. data/spec/fixtures/ssl/signed-key.pem +57 -107
  430. data/spec/fixtures/ssl/signed.pem +30 -52
  431. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  432. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  433. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  434. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  435. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  436. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  437. data/spec/fixtures/unit/forge/bacula.json +1 -1
  438. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  439. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  440. data/spec/integration/application/agent_spec.rb +51 -299
  441. data/spec/integration/application/apply_spec.rb +1 -20
  442. data/spec/integration/application/filebucket_spec.rb +16 -32
  443. data/spec/integration/application/help_spec.rb +2 -0
  444. data/spec/integration/application/lookup_spec.rb +6 -32
  445. data/spec/integration/application/module_spec.rb +0 -21
  446. data/spec/integration/application/plugin_spec.rb +24 -2
  447. data/spec/integration/configurer_spec.rb +2 -18
  448. data/spec/integration/defaults_spec.rb +14 -3
  449. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  450. data/spec/integration/http/client_spec.rb +0 -12
  451. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  452. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  453. data/spec/integration/network/http_pool_spec.rb +3 -21
  454. data/spec/integration/parser/catalog_spec.rb +0 -38
  455. data/spec/integration/parser/node_spec.rb +0 -9
  456. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  457. data/spec/integration/resource/type_collection_spec.rb +6 -2
  458. data/spec/integration/transaction/report_spec.rb +1 -1
  459. data/spec/integration/transaction_spec.rb +9 -4
  460. data/spec/integration/type/exec_spec.rb +45 -70
  461. data/spec/integration/type/file_spec.rb +7 -6
  462. data/spec/integration/type/package_spec.rb +6 -6
  463. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  464. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  465. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  466. data/spec/integration/util/windows/principal_spec.rb +0 -21
  467. data/spec/integration/util/windows/process_spec.rb +9 -1
  468. data/spec/integration/util/windows/registry_spec.rb +10 -6
  469. data/spec/integration/util/windows/security_spec.rb +1 -1
  470. data/spec/lib/matchers/include.rb +27 -0
  471. data/spec/lib/matchers/include_spec.rb +32 -0
  472. data/spec/lib/puppet/test_ca.rb +2 -7
  473. data/spec/lib/puppet_spec/modules.rb +2 -13
  474. data/spec/lib/puppet_spec/puppetserver.rb +1 -16
  475. data/spec/lib/puppet_spec/settings.rb +1 -1
  476. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  477. data/spec/spec_helper.rb +17 -13
  478. data/spec/unit/agent_spec.rb +6 -10
  479. data/spec/unit/application/agent_spec.rb +3 -7
  480. data/spec/unit/application/apply_spec.rb +56 -76
  481. data/spec/unit/application/facts_spec.rb +12 -456
  482. data/spec/unit/application/filebucket_spec.rb +43 -39
  483. data/spec/unit/application/lookup_spec.rb +10 -131
  484. data/spec/unit/application/resource_spec.rb +0 -29
  485. data/spec/unit/application/ssl_spec.rb +2 -25
  486. data/spec/unit/application_spec.rb +9 -51
  487. data/spec/unit/certificate_factory_spec.rb +1 -1
  488. data/spec/unit/configurer/downloader_spec.rb +6 -8
  489. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  490. data/spec/unit/configurer_spec.rb +68 -296
  491. data/spec/unit/confine/feature_spec.rb +1 -1
  492. data/spec/unit/confine_spec.rb +2 -8
  493. data/spec/unit/context/trusted_information_spec.rb +2 -6
  494. data/spec/unit/defaults_spec.rb +68 -55
  495. data/spec/unit/environments_spec.rb +68 -408
  496. data/spec/unit/face/generate_spec.rb +0 -64
  497. data/spec/unit/face/node_spec.rb +11 -0
  498. data/spec/unit/face/plugin_spec.rb +73 -33
  499. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  500. data/spec/unit/file_bucket/file_spec.rb +1 -1
  501. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  502. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  503. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  504. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  505. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  506. data/spec/unit/file_system_spec.rb +4 -56
  507. data/spec/unit/forge/module_release_spec.rb +10 -5
  508. data/spec/unit/functions/assert_type_spec.rb +1 -1
  509. data/spec/unit/functions/camelcase_spec.rb +1 -1
  510. data/spec/unit/functions/capitalize_spec.rb +1 -1
  511. data/spec/unit/functions/downcase_spec.rb +1 -1
  512. data/spec/unit/functions/empty_spec.rb +0 -10
  513. data/spec/unit/functions/logging_spec.rb +0 -1
  514. data/spec/unit/functions/lookup_spec.rb +0 -64
  515. data/spec/unit/functions/unwrap_spec.rb +0 -8
  516. data/spec/unit/functions/upcase_spec.rb +1 -1
  517. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  518. data/spec/unit/functions4_spec.rb +2 -2
  519. data/spec/unit/gettext/config_spec.rb +0 -12
  520. data/spec/unit/http/client_spec.rb +8 -66
  521. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  522. data/spec/unit/http/external_client_spec.rb +4 -4
  523. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  524. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  525. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  526. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  527. data/spec/unit/http/resolver_spec.rb +13 -13
  528. data/spec/unit/http/service/compiler_spec.rb +0 -193
  529. data/spec/unit/http/service/file_server_spec.rb +3 -3
  530. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  531. data/spec/unit/http/service_spec.rb +0 -1
  532. data/spec/unit/http/session_spec.rb +16 -14
  533. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  534. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  535. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  536. data/spec/unit/indirector/face_spec.rb +1 -0
  537. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  538. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  539. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  540. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  541. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  542. data/spec/unit/indirector/file_server_spec.rb +1 -15
  543. data/spec/unit/indirector/indirection_spec.rb +15 -18
  544. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  545. data/spec/unit/indirector/request_spec.rb +0 -264
  546. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  547. data/spec/unit/indirector/rest_spec.rb +98 -752
  548. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  549. data/spec/unit/indirector_spec.rb +2 -2
  550. data/spec/unit/interface/action_spec.rb +9 -0
  551. data/spec/unit/module_spec.rb +1 -15
  552. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  553. data/spec/unit/network/authconfig_spec.rb +2 -129
  554. data/spec/unit/network/authorization_spec.rb +2 -55
  555. data/spec/unit/network/formats_spec.rb +4 -51
  556. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  557. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  558. data/spec/unit/network/http/api_spec.rb +10 -0
  559. data/spec/unit/network/http/connection_spec.rb +19 -41
  560. data/spec/unit/network/http/handler_spec.rb +0 -1
  561. data/spec/unit/network/http_pool_spec.rb +0 -4
  562. data/spec/unit/node/environment_spec.rb +33 -21
  563. data/spec/unit/node_spec.rb +2 -60
  564. data/spec/unit/parser/compiler_spec.rb +19 -3
  565. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  566. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  567. data/spec/unit/parser/resource_spec.rb +8 -14
  568. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  569. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  570. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  571. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  572. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  573. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  574. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  575. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  576. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  577. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  578. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  579. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  580. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  581. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  582. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  583. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  584. data/spec/unit/pops/visitor_spec.rb +1 -1
  585. data/spec/unit/property_spec.rb +0 -1
  586. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  587. data/spec/unit/provider/nameservice_spec.rb +64 -122
  588. data/spec/unit/provider/package/apt_spec.rb +23 -28
  589. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  590. data/spec/unit/provider/package/base_spec.rb +5 -6
  591. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  592. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  593. data/spec/unit/provider/package/gem_spec.rb +33 -1
  594. data/spec/unit/provider/package/nim_spec.rb +0 -42
  595. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  596. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  597. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  598. data/spec/unit/provider/package/pip_spec.rb +12 -44
  599. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  600. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  601. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  602. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  603. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  604. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  605. data/spec/unit/provider/service/init_spec.rb +9 -16
  606. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  607. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  608. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  609. data/spec/unit/provider/service/smf_spec.rb +401 -165
  610. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  611. data/spec/unit/provider/service/windows_spec.rb +0 -203
  612. data/spec/unit/provider/user/aix_spec.rb +0 -105
  613. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  614. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  615. data/spec/unit/provider/user/pw_spec.rb +0 -2
  616. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  617. data/spec/unit/provider_spec.rb +12 -22
  618. data/spec/unit/puppet_spec.rb +4 -12
  619. data/spec/unit/resource/catalog_spec.rb +2 -15
  620. data/spec/unit/resource/type_collection_spec.rb +2 -22
  621. data/spec/unit/resource/type_spec.rb +1 -1
  622. data/spec/unit/resource_spec.rb +12 -125
  623. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  624. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  625. data/spec/unit/settings/port_setting_spec.rb +31 -0
  626. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  627. data/spec/unit/settings_spec.rb +79 -110
  628. data/spec/unit/ssl/base_spec.rb +37 -3
  629. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  630. data/spec/unit/ssl/certificate_spec.rb +2 -11
  631. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  632. data/spec/unit/ssl/state_machine_spec.rb +5 -20
  633. data/spec/unit/ssl/verifier_spec.rb +0 -21
  634. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  635. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  636. data/spec/unit/transaction/persistence_spec.rb +0 -51
  637. data/spec/unit/transaction/report_spec.rb +0 -2
  638. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  639. data/spec/unit/transaction_spec.rb +55 -96
  640. data/spec/unit/type/exec_spec.rb +29 -76
  641. data/spec/unit/type/file/checksum_spec.rb +6 -6
  642. data/spec/unit/type/file/content_spec.rb +2 -1
  643. data/spec/unit/type/file/ensure_spec.rb +1 -1
  644. data/spec/unit/type/file/mode_spec.rb +1 -1
  645. data/spec/unit/type/file/selinux_spec.rb +5 -3
  646. data/spec/unit/type/file/source_spec.rb +4 -5
  647. data/spec/unit/type/file_spec.rb +18 -6
  648. data/spec/unit/type/group_spec.rb +6 -13
  649. data/spec/unit/type/package_spec.rb +1 -1
  650. data/spec/unit/type/resources_spec.rb +7 -7
  651. data/spec/unit/type/service_spec.rb +189 -87
  652. data/spec/unit/type/tidy_spec.rb +8 -24
  653. data/spec/unit/type_spec.rb +24 -4
  654. data/spec/unit/util/at_fork_spec.rb +2 -2
  655. data/spec/unit/util/autoload_spec.rb +1 -5
  656. data/spec/unit/util/backups_spec.rb +2 -3
  657. data/spec/unit/util/execution_spec.rb +11 -44
  658. data/spec/unit/util/inifile_spec.rb +14 -6
  659. data/spec/unit/util/log_spec.rb +7 -8
  660. data/spec/unit/util/logging_spec.rb +3 -5
  661. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  662. data/spec/unit/util/posix_spec.rb +15 -363
  663. data/spec/unit/util/run_mode_spec.rb +21 -121
  664. data/spec/unit/util/selinux_spec.rb +68 -163
  665. data/spec/unit/util/storage_spec.rb +1 -3
  666. data/spec/unit/util/suidmanager_spec.rb +41 -44
  667. data/spec/unit/util/windows/sid_spec.rb +0 -41
  668. data/spec/unit/util/windows/string_spec.rb +1 -3
  669. data/spec/unit/util/yaml_spec.rb +13 -92
  670. data/spec/unit/util_spec.rb +6 -31
  671. data/tasks/generate_cert_fixtures.rake +3 -12
  672. data/tasks/parallel.rake +3 -3
  673. metadata +138 -293
  674. data/conf/auth.conf +0 -150
  675. data/ext/README.md +0 -13
  676. data/lib/puppet/application/cert.rb +0 -76
  677. data/lib/puppet/application/key.rb +0 -4
  678. data/lib/puppet/application/man.rb +0 -4
  679. data/lib/puppet/application/status.rb +0 -4
  680. data/lib/puppet/face/key.rb +0 -16
  681. data/lib/puppet/face/man.rb +0 -145
  682. data/lib/puppet/face/module/build.rb +0 -14
  683. data/lib/puppet/face/module/generate.rb +0 -14
  684. data/lib/puppet/face/module/search.rb +0 -103
  685. data/lib/puppet/face/status.rb +0 -51
  686. data/lib/puppet/facter_impl.rb +0 -96
  687. data/lib/puppet/ffi/posix/constants.rb +0 -14
  688. data/lib/puppet/ffi/posix/functions.rb +0 -24
  689. data/lib/puppet/ffi/posix.rb +0 -10
  690. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  691. data/lib/puppet/indirector/certificate/file.rb +0 -9
  692. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  693. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  694. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  695. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  696. data/lib/puppet/indirector/file_content/http.rb +0 -22
  697. data/lib/puppet/indirector/key/file.rb +0 -46
  698. data/lib/puppet/indirector/key/memory.rb +0 -7
  699. data/lib/puppet/indirector/ssl_file.rb +0 -162
  700. data/lib/puppet/indirector/status/local.rb +0 -12
  701. data/lib/puppet/indirector/status/rest.rb +0 -27
  702. data/lib/puppet/indirector/status.rb +0 -3
  703. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  704. data/lib/puppet/network/auth_config_parser.rb +0 -90
  705. data/lib/puppet/network/authstore.rb +0 -283
  706. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  707. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  708. data/lib/puppet/network/http/base_pool.rb +0 -36
  709. data/lib/puppet/network/http/compression.rb +0 -127
  710. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  711. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  712. data/lib/puppet/network/rest_controller.rb +0 -2
  713. data/lib/puppet/network/rights.rb +0 -210
  714. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  715. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  716. data/lib/puppet/parser/environment_compiler.rb +0 -202
  717. data/lib/puppet/pops/types/enumeration.rb +0 -16
  718. data/lib/puppet/resource/capability_finder.rb +0 -154
  719. data/lib/puppet/rest/errors.rb +0 -15
  720. data/lib/puppet/rest/response.rb +0 -35
  721. data/lib/puppet/rest/route.rb +0 -85
  722. data/lib/puppet/rest/routes.rb +0 -135
  723. data/lib/puppet/settings/alias_setting.rb +0 -37
  724. data/lib/puppet/ssl/host.rb +0 -505
  725. data/lib/puppet/ssl/key.rb +0 -61
  726. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  727. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  728. data/lib/puppet/ssl/validator.rb +0 -61
  729. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  730. data/lib/puppet/status.rb +0 -40
  731. data/lib/puppet/util/connection.rb +0 -88
  732. data/lib/puppet/util/fact_dif.rb +0 -81
  733. data/lib/puppet/util/ssl.rb +0 -83
  734. data/lib/puppet/util/windows/api_types.rb +0 -309
  735. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  736. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  737. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  738. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  739. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  740. data/lib/puppet/vendor/pathspec/README.md +0 -53
  741. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  742. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  743. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  744. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  745. data/man/man8/puppet-key.8 +0 -126
  746. data/man/man8/puppet-man.8 +0 -76
  747. data/man/man8/puppet-status.8 +0 -108
  748. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  749. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  750. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  751. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  752. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  753. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  754. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  755. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  756. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  757. data/spec/fixtures/ssl/oid-key.pem +0 -117
  758. data/spec/fixtures/ssl/oid.pem +0 -69
  759. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  760. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  761. data/spec/integration/application/resource_spec.rb +0 -64
  762. data/spec/integration/application/ssl_spec.rb +0 -20
  763. data/spec/integration/l10n/compiler_spec.rb +0 -37
  764. data/spec/integration/network/authconfig_spec.rb +0 -256
  765. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  766. data/spec/shared_contexts/l10n.rb +0 -32
  767. data/spec/unit/application/man_spec.rb +0 -52
  768. data/spec/unit/capability_spec.rb +0 -414
  769. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  770. data/spec/unit/face/key_spec.rb +0 -9
  771. data/spec/unit/face/module/search_spec.rb +0 -231
  772. data/spec/unit/face/status_spec.rb +0 -9
  773. data/spec/unit/facter_impl_spec.rb +0 -31
  774. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  775. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  776. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  777. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  778. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  779. data/spec/unit/indirector/key/file_spec.rb +0 -78
  780. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  781. data/spec/unit/indirector/status/local_spec.rb +0 -10
  782. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  783. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  784. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  785. data/spec/unit/network/authstore_spec.rb +0 -407
  786. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  787. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  788. data/spec/unit/network/http/compression_spec.rb +0 -240
  789. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  790. data/spec/unit/network/http_spec.rb +0 -9
  791. data/spec/unit/network/rights_spec.rb +0 -439
  792. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  793. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  794. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  795. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  796. data/spec/unit/rest/route_spec.rb +0 -132
  797. data/spec/unit/ssl/host_spec.rb +0 -645
  798. data/spec/unit/ssl/key_spec.rb +0 -173
  799. data/spec/unit/ssl/validator_spec.rb +0 -278
  800. data/spec/unit/status_spec.rb +0 -45
  801. data/spec/unit/util/json_spec.rb +0 -126
  802. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -870,46 +870,6 @@ describe "The lookup function" do
870
870
  end
871
871
  end
872
872
 
873
- context 'with lookup_options' do
874
- let(:environment_files) do
875
- {
876
- env_name => {
877
- 'hiera.yaml' => <<-YAML.unindent,
878
- ---
879
- version: 5
880
- YAML
881
- 'data' => {
882
- 'common.yaml' => common_yaml
883
- }
884
- }
885
- }
886
- end
887
-
888
- context 'that are empty' do
889
- let(:common_yaml) { <<-YAML.unindent }
890
- lookup_options:
891
- a: b
892
- YAML
893
-
894
- it 'ignores empty options' do
895
- expect(lookup('a')).to eq("b")
896
- end
897
- end
898
-
899
- context 'that contains a legal yaml hash with unexpected types' do
900
- let(:common_yaml) { <<-YAML.unindent }
901
- lookup_options:
902
- :invalid_symbol
903
- YAML
904
-
905
- it 'fails lookup and reports a type mismatch' do
906
- expect {
907
- lookup('a')
908
- }.to raise_error(Puppet::DataBinding::LookupError, /has wrong type, expects Puppet::LookupValue, got Runtime\[ruby, 'Symbol'\]/)
909
- end
910
- end
911
- end
912
-
913
873
  context 'with lookup_options configured using patterns' do
914
874
  let(:mod_common) {
915
875
  <<-YAML.unindent
@@ -1059,30 +1019,6 @@ describe "The lookup function" do
1059
1019
  })
1060
1020
  end
1061
1021
 
1062
- context 'and lookup_options is empty' do
1063
- let(:mod_common) { <<-YAML.unindent }
1064
- lookup_options:
1065
- mod::a: b
1066
- YAML
1067
-
1068
- it 'ignores empty options' do
1069
- expect(lookup('mod::a')).to eq("b")
1070
- end
1071
- end
1072
-
1073
- context 'and lookup_options contains a legal hash with unexpected types' do
1074
- let(:mod_common) { <<-YAML.unindent }
1075
- lookup_options:
1076
- :invalid_symbol
1077
- YAML
1078
-
1079
- it 'fails lookup and reports a type mismatch' do
1080
- expect {
1081
- lookup('mod::a')
1082
- }.to raise_error(Puppet::DataBinding::LookupError, /has wrong type, expects Puppet::LookupValue, got Runtime\[ruby, 'Symbol'\]/)
1083
- end
1084
- end
1085
-
1086
1022
  context 'and patterns in module are not limited to module keys' do
1087
1023
  let(:mod_common) {
1088
1024
  <<-YAML.unindent
@@ -15,14 +15,6 @@ describe 'the unwrap function' do
15
15
  expect(eval_and_collect_notices(code)).to eq(['unwrapped value is 12345'])
16
16
  end
17
17
 
18
- it 'just returns a non-sensitive value' do
19
- code = <<-CODE
20
- $non_sensitive = "12345"
21
- notice("value is still ${non_sensitive.unwrap}")
22
- CODE
23
- expect(eval_and_collect_notices(code)).to eq(['value is still 12345'])
24
- end
25
-
26
18
  it 'unwraps a sensitive value when given a code block' do
27
19
  code = <<-CODE
28
20
  $sensitive = Sensitive.new("12345")
@@ -15,7 +15,7 @@ describe 'the upcase function' do
15
15
  expect(compile_to_catalog("notify { String(42.upcase == 42): }")).to have_resource('Notify[true]')
16
16
  end
17
17
 
18
- it 'performs capitalize of international UTF-8 characters', :if => RUBY_VERSION >= "2.4" do
18
+ it 'performs upcase of international UTF-8 characters' do
19
19
  expect(compile_to_catalog("notify { 'åäö'.upcase: }")).to have_resource('Notify[ÅÄÖ]')
20
20
  end
21
21
 
@@ -19,52 +19,16 @@ describe "the versioncmp function" do
19
19
  let(:type_parser) { Puppet::Pops::Types::TypeParser.singleton }
20
20
 
21
21
  it 'should raise an Error if there is less than 2 arguments' do
22
- expect { versioncmp('a,b') }.to raise_error(/expects between 2 and 3 arguments, got 1/)
22
+ expect { versioncmp('a,b') }.to raise_error(/expects 2 arguments, got 1/)
23
23
  end
24
24
 
25
- it 'should raise an Error if there is more than 3 arguments' do
26
- expect { versioncmp('a,b','foo', false, 'bar') }.to raise_error(/expects between 2 and 3 arguments, got 4/)
25
+ it 'should raise an Error if there is more than 2 arguments' do
26
+ expect { versioncmp('a,b','foo', 'bar') }.to raise_error(/expects 2 arguments, got 3/)
27
27
  end
28
28
 
29
29
  it "should call Puppet::Util::Package.versioncmp (included in scope)" do
30
- expect(Puppet::Util::Package).to receive(:versioncmp).with('1.2', '1.3', false).and_return(-1)
30
+ expect(Puppet::Util::Package).to receive(:versioncmp).with('1.2', '1.3').and_return(-1)
31
31
 
32
32
  expect(versioncmp('1.2', '1.3')).to eq(-1)
33
33
  end
34
-
35
- context "when ignore_trailing_zeroes is true" do
36
- it "should equate versions with 2 elements and dots but with unnecessary zero" do
37
- expect(versioncmp("10.1.0", "10.1", true)).to eq(0)
38
- end
39
-
40
- it "should equate versions with 1 element and dot but with unnecessary zero" do
41
- expect(versioncmp("11.0", "11", true)).to eq(0)
42
- end
43
-
44
- it "should equate versions with 1 element and dot but with unnecessary zeros" do
45
- expect(versioncmp("11.00", "11", true)).to eq(0)
46
- end
47
-
48
- it "should equate versions with dots and iregular zeroes" do
49
- expect(versioncmp("11.0.00", "11", true)).to eq(0)
50
- end
51
-
52
- it "should equate versions with dashes" do
53
- expect(versioncmp("10.1-0", "10.1.0-0", true)).to eq(0)
54
- end
55
-
56
- it "should compare versions with dashes after normalization" do
57
- expect(versioncmp("10.1-1", "10.1.0-0", true)).to eq(1)
58
- end
59
-
60
- it "should not normalize versions if zeros are not trailing" do
61
- expect(versioncmp("1.1", "1.0.1", true)).to eq(1)
62
- end
63
- end
64
-
65
- context "when ignore_trailing_zeroes is false" do
66
- it "should not equate versions if zeros are not trailing" do
67
- expect(versioncmp("1.1", "1.0.1")).to eq(1)
68
- end
69
- end
70
34
  end
@@ -160,7 +160,7 @@ describe 'the 4x function api' do
160
160
  expect(func.is_a?(Puppet::Functions::Function)).to be_truthy
161
161
  expect do
162
162
  func.call({}, 3, 10, 3, "4")
163
- end.to raise_error(ArgumentError, "The function 'min' was called with arguments it does not accept. It expects one of:
163
+ end.to raise_error(ArgumentError, "'min' expects one of:
164
164
  (Numeric x, Numeric y, Numeric a?, Numeric b?, Numeric c*)
165
165
  rejected: parameter 'b' expects a Numeric value, got String
166
166
  (String x, String y, String a+)
@@ -231,7 +231,7 @@ describe 'the 4x function api' do
231
231
  expect(func.is_a?(Puppet::Functions::Function)).to be_truthy
232
232
  expect do
233
233
  func.call({}, 10, '20')
234
- end.to raise_error(ArgumentError, "The function 'min' was called with arguments it does not accept. It expects one of:
234
+ end.to raise_error(ArgumentError, "'min' expects one of:
235
235
  (Numeric a, Numeric b)
236
236
  rejected: parameter 'b' expects a Numeric value, got String
237
237
  (String s1, String s2)
@@ -27,18 +27,6 @@ describe Puppet::GettextConfig do
27
27
  Puppet::GettextConfig.delete_all_text_domains
28
28
  end
29
29
 
30
- # These tests assume gettext is enabled, but it will be disabled when the
31
- # first time the `Puppet[:disable_i18n]` setting is resolved
32
- around(:each) do |example|
33
- disabled = Puppet::GettextConfig.instance_variable_get(:@gettext_disabled)
34
- Puppet::GettextConfig.instance_variable_set(:@gettext_disabled, false)
35
- begin
36
- example.run
37
- ensure
38
- Puppet::GettextConfig.instance_variable_set(:@gettext_disabled, disabled)
39
- end
40
- end
41
-
42
30
  describe 'setting and getting the locale' do
43
31
  it 'should return "en" when gettext is unavailable' do
44
32
  allow(Puppet::GettextConfig).to receive(:gettext_loaded?).and_return(false)
@@ -154,7 +154,7 @@ describe Puppet::HTTP::Client do
154
154
  stub_request(:get, uri)
155
155
 
156
156
  response = client.get(uri)
157
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
157
+ expect(response).to be_a(Puppet::HTTP::Response)
158
158
  expect(response).to be_success
159
159
  expect(response.code).to eq(200)
160
160
  end
@@ -224,7 +224,7 @@ describe Puppet::HTTP::Client do
224
224
  stub_request(:head, uri)
225
225
 
226
226
  response = client.head(uri)
227
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
227
+ expect(response).to be_a(Puppet::HTTP::Response)
228
228
  expect(response).to be_success
229
229
  expect(response.code).to eq(200)
230
230
  end
@@ -284,7 +284,7 @@ describe Puppet::HTTP::Client do
284
284
  stub_request(:put, uri)
285
285
 
286
286
  response = client.put(uri, "", headers: {'Content-Type' => 'text/plain'})
287
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
287
+ expect(response).to be_a(Puppet::HTTP::Response)
288
288
  expect(response).to be_success
289
289
  expect(response.code).to eq(200)
290
290
  end
@@ -353,7 +353,7 @@ describe Puppet::HTTP::Client do
353
353
  stub_request(:post, uri)
354
354
 
355
355
  response = client.post(uri, "", headers: {'Content-Type' => 'text/plain'})
356
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
356
+ expect(response).to be_a(Puppet::HTTP::Response)
357
357
  expect(response).to be_success
358
358
  expect(response.code).to eq(200)
359
359
  end
@@ -435,7 +435,7 @@ describe Puppet::HTTP::Client do
435
435
  stub_request(:delete, uri)
436
436
 
437
437
  response = client.delete(uri)
438
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
438
+ expect(response).to be_a(Puppet::HTTP::Response)
439
439
  expect(response).to be_success
440
440
  expect(response.code).to eq(200)
441
441
  end
@@ -597,68 +597,11 @@ describe Puppet::HTTP::Client do
597
597
  expect(response).to be_success
598
598
  end
599
599
 
600
- it "does not preserve basic authorization when redirecting to different hosts" do
601
- stub_request(:get, start_url).with(basic_auth: credentials).to_return(redirect_to(url: other_host))
602
- stub_request(:get, other_host).to_return(status: 200)
603
-
604
- client.get(start_url, options: {basic_auth: {user: 'user', password: 'pass'}})
605
- expect(a_request(:get, other_host).
606
- with{ |req| !req.headers.key?('Authorization')}).to have_been_made
607
- end
608
-
609
- it "does preserve basic authorization when redirecting to the same hosts" do
610
- stub_request(:get, start_url).with(basic_auth: credentials).to_return(redirect_to(url: bar_url))
611
- stub_request(:get, bar_url).with(basic_auth: credentials).to_return(status: 200)
612
-
613
- client.get(start_url, options: {basic_auth: {user: 'user', password: 'pass'}})
614
- expect(a_request(:get, bar_url).
615
- with{ |req| req.headers.key?('Authorization')}).to have_been_made
616
- end
617
-
618
- it "does not preserve cookie header when redirecting to different hosts" do
619
- headers = { 'Cookie' => 'TEST_COOKIE'}
620
-
621
- stub_request(:get, start_url).with(headers: headers).to_return(redirect_to(url: other_host))
622
- stub_request(:get, other_host).to_return(status: 200)
623
-
624
- client.get(start_url, headers: headers)
625
- expect(a_request(:get, other_host).
626
- with{ |req| !req.headers.key?('Cookie')}).to have_been_made
627
- end
628
-
629
- it "does preserve cookie header when redirecting to the same hosts" do
630
- headers = { 'Cookie' => 'TEST_COOKIE'}
631
-
632
- stub_request(:get, start_url).with(headers: headers).to_return(redirect_to(url: bar_url))
633
- stub_request(:get, bar_url).with(headers: headers).to_return(status: 200)
634
-
635
- client.get(start_url, headers: headers)
636
- expect(a_request(:get, bar_url).
637
- with{ |req| req.headers.key?('Cookie')}).to have_been_made
638
- end
639
-
640
- it "does preserves cookie header and basic authentication when Puppet[:location_trusted] is true redirecting to different hosts" do
641
- headers = { 'cookie' => 'TEST_COOKIE'}
642
- Puppet[:location_trusted] = true
643
-
644
- stub_request(:get, start_url).with(headers: headers, basic_auth: credentials).to_return(redirect_to(url: other_host))
645
- stub_request(:get, other_host).with(headers: headers, basic_auth: credentials).to_return(status: 200)
646
-
647
- client.get(start_url, headers: headers, options: {basic_auth: {user: 'user', password: 'pass'}})
648
- expect(a_request(:get, other_host).
649
- with{ |req| req.headers.key?('Authorization') && req.headers.key?('Cookie')}).to have_been_made
650
- end
651
-
652
- it "treats hosts as case-insensitive" do
653
- start_url = URI("https://www.EXAmple.com:8140/Start")
654
- bar_url = "https://www.example.com:8140/bar"
655
-
600
+ it "preserves basic authorization" do
656
601
  stub_request(:get, start_url).with(basic_auth: credentials).to_return(redirect_to(url: bar_url))
657
602
  stub_request(:get, bar_url).with(basic_auth: credentials).to_return(status: 200)
658
603
 
659
604
  client.get(start_url, options: {basic_auth: {user: 'user', password: 'pass'}})
660
- expect(a_request(:get, bar_url).
661
- with{ |req| req.headers.key?('Authorization')}).to have_been_made
662
605
  end
663
606
 
664
607
  it "redirects given a relative location" do
@@ -828,7 +771,7 @@ describe Puppet::HTTP::Client do
828
771
  it "should close the connection before sleeping" do
829
772
  retry_after('42')
830
773
 
831
- site = Puppet::Network::HTTP::Site.from_uri(uri)
774
+ site = Puppet::HTTP::Site.from_uri(uri)
832
775
 
833
776
  http1 = Net::HTTP.new(site.host, site.port)
834
777
  http1.use_ssl = true
@@ -838,8 +781,7 @@ describe Puppet::HTTP::Client do
838
781
  http2.use_ssl = true
839
782
  allow(http2).to receive(:started?).and_return(true)
840
783
 
841
-
842
- pool = Puppet::Network::HTTP::Pool.new(15)
784
+ pool = Puppet::HTTP::Pool.new(15)
843
785
  client = Puppet::HTTP::Client.new(pool: pool)
844
786
 
845
787
  # The "with_connection" method is required to yield started connections
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
- require 'puppet/network/resolver'
2
+ require 'puppet/http'
3
3
 
4
- describe Puppet::Network::Resolver do
4
+ describe Puppet::HTTP::DNS do
5
5
  before do
6
6
  @dns_mock_object = double('dns')
7
7
  allow(Resolv::DNS).to receive(:new).and_return(@dns_mock_object)
@@ -26,7 +26,7 @@ describe Puppet::Network::Resolver do
26
26
  end
27
27
  end
28
28
 
29
- let(:resolver) { Puppet::Network::Resolver.new }
29
+ let(:resolver) { described_class.new }
30
30
 
31
31
  describe 'when the domain is not known' do
32
32
  before :each do
@@ -9,7 +9,7 @@ class Puppet::HTTP::TestExternal
9
9
  @host = host
10
10
  @port = port
11
11
  @options = options
12
- @factory = Puppet::Network::HTTP::Factory.new
12
+ @factory = Puppet::HTTP::Factory.new
13
13
  end
14
14
 
15
15
  def get(path, headers = {}, options = {})
@@ -27,7 +27,7 @@ class Puppet::HTTP::TestExternal
27
27
  request.basic_auth(options[:basic_auth][:user], options[:basic_auth][:password])
28
28
  end
29
29
 
30
- site = Puppet::Network::HTTP::Site.new(@options[:use_ssl] ? 'https' : 'http', @host, @port)
30
+ site = Puppet::HTTP::Site.new(@options[:use_ssl] ? 'https' : 'http', @host, @port)
31
31
  http = @factory.create_connection(site)
32
32
  http.start
33
33
  begin
@@ -61,7 +61,7 @@ describe Puppet::HTTP::ExternalClient do
61
61
  stub_request(:get, uri)
62
62
 
63
63
  response = client.get(uri)
64
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
64
+ expect(response).to be_a(Puppet::HTTP::Response)
65
65
  expect(response).to be_success
66
66
  expect(response.code).to eq(200)
67
67
  end
@@ -113,7 +113,7 @@ describe Puppet::HTTP::ExternalClient do
113
113
  stub_request(:post, uri)
114
114
 
115
115
  response = client.post(uri, "", headers: {'Content-Type' => 'text/plain'})
116
- expect(response).to be_an_instance_of(Puppet::HTTP::Response)
116
+ expect(response).to be_a(Puppet::HTTP::Response)
117
117
  expect(response).to be_success
118
118
  expect(response.code).to eq(200)
119
119
  end
@@ -1,22 +1,16 @@
1
1
  require 'spec_helper'
2
- require 'puppet/network/http'
3
- require 'puppet/util/http_proxy'
2
+ require 'puppet/http'
4
3
 
5
- describe Puppet::Network::HTTP::Factory do
4
+ describe Puppet::HTTP::Factory do
6
5
  before(:all) do
7
6
  ENV['http_proxy'] = nil
8
7
  ENV['HTTP_PROXY'] = nil
9
8
  end
10
- before :each do
11
- Puppet::SSL::Key.indirection.terminus_class = :memory
12
- Puppet::SSL::CertificateRequest.indirection.terminus_class = :memory
13
- end
14
9
 
15
- let(:site) { Puppet::Network::HTTP::Site.new('https', 'www.example.com', 443) }
10
+ let(:site) { Puppet::HTTP::Site.new('https', 'www.example.com', 443) }
16
11
 
17
12
  def create_connection(site)
18
- factory = Puppet::Network::HTTP::Factory.new
19
-
13
+ factory = described_class.new
20
14
  factory.create_connection(site)
21
15
  end
22
16
 
@@ -124,7 +118,7 @@ describe Puppet::Network::HTTP::Factory do
124
118
  expect(conn.keep_alive_timeout).to eq(2147483647)
125
119
  end
126
120
 
127
- it "disables ruby's max retry on 2.5 and up", if: RUBY_VERSION.to_f >= 2.5 do
121
+ it "disables ruby's max retry" do
128
122
  conn = create_connection(site)
129
123
 
130
124
  expect(conn.max_retries).to eq(0)
@@ -144,23 +138,4 @@ describe Puppet::Network::HTTP::Factory do
144
138
  expect(conn.local_host).to eq('127.0.0.1')
145
139
  end
146
140
  end
147
-
148
- context 'tls' do
149
- it "sets the minimum version to TLS 1.0", if: RUBY_VERSION.to_f >= 2.5 do
150
- conn = create_connection(site)
151
- expect(conn.min_version).to eq(OpenSSL::SSL::TLS1_VERSION)
152
- end
153
-
154
- it "defaults to ciphersuites providing 128 bits of security or greater" do
155
- conn = create_connection(site)
156
- expect(conn.ciphers).to eq("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256")
157
- end
158
-
159
- it "can be restricted to TLSv1.3 ciphers" do
160
- tls13_ciphers = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"
161
- Puppet[:ciphers] = tls13_ciphers
162
- conn = create_connection(site)
163
- expect(conn.ciphers).to eq(tls13_ciphers)
164
- end
165
- end
166
141
  end
@@ -1,15 +1,15 @@
1
1
  require 'spec_helper'
2
2
 
3
- require 'puppet/network/http'
3
+ require 'puppet/http'
4
4
 
5
- describe Puppet::Network::HTTP::Session do
5
+ describe Puppet::HTTP::PoolEntry do
6
6
  let(:connection) { double('connection') }
7
7
  let(:verifier) { double('verifier') }
8
8
 
9
9
  def create_session(connection, expiration_time = nil)
10
10
  expiration_time ||= Time.now + 60 * 60
11
11
 
12
- Puppet::Network::HTTP::Session.new(connection, verifier, expiration_time)
12
+ described_class.new(connection, verifier, expiration_time)
13
13
  end
14
14
 
15
15
  it 'provides access to its connection' do
@@ -4,18 +4,13 @@ require 'openssl'
4
4
  require 'puppet/network/http'
5
5
  require 'puppet/network/http_pool'
6
6
 
7
- describe Puppet::Network::HTTP::Pool do
8
- before :each do
9
- Puppet::SSL::Key.indirection.terminus_class = :memory
10
- Puppet::SSL::CertificateRequest.indirection.terminus_class = :memory
11
- end
12
-
7
+ describe Puppet::HTTP::Pool do
13
8
  let(:site) do
14
- Puppet::Network::HTTP::Site.new('https', 'rubygems.org', 443)
9
+ Puppet::HTTP::Site.new('https', 'rubygems.org', 443)
15
10
  end
16
11
 
17
12
  let(:different_site) do
18
- Puppet::Network::HTTP::Site.new('https', 'github.com', 443)
13
+ Puppet::HTTP::Site.new('https', 'github.com', 443)
19
14
  end
20
15
 
21
16
  let(:ssl_context) { Puppet::SSL::SSLContext.new }
@@ -26,11 +21,11 @@ describe Puppet::Network::HTTP::Pool do
26
21
  end
27
22
 
28
23
  def create_pool
29
- Puppet::Network::HTTP::Pool.new(15)
24
+ Puppet::HTTP::Pool.new(15)
30
25
  end
31
26
 
32
27
  def create_pool_with_connections(site, *connections)
33
- pool = Puppet::Network::HTTP::Pool.new(15)
28
+ pool = Puppet::HTTP::Pool.new(15)
34
29
  connections.each do |conn|
35
30
  pool.release(site, verifier, conn)
36
31
  end
@@ -38,7 +33,7 @@ describe Puppet::Network::HTTP::Pool do
38
33
  end
39
34
 
40
35
  def create_pool_with_http_connections(site, *connections)
41
- pool = Puppet::Network::HTTP::Pool.new(15)
36
+ pool = Puppet::HTTP::Pool.new(15)
42
37
  connections.each do |conn|
43
38
  pool.release(site, nil, conn)
44
39
  end
@@ -48,7 +43,7 @@ describe Puppet::Network::HTTP::Pool do
48
43
  def create_pool_with_expired_connections(site, *connections)
49
44
  # setting keepalive timeout to -1 ensures any newly added
50
45
  # connections have already expired
51
- pool = Puppet::Network::HTTP::Pool.new(-1)
46
+ pool = Puppet::HTTP::Pool.new(-1)
52
47
  connections.each do |conn|
53
48
  pool.release(site, verifier, conn)
54
49
  end
@@ -230,11 +225,11 @@ describe Puppet::Network::HTTP::Pool do
230
225
  end
231
226
 
232
227
  it 'returns a new HTTP connection if the cached connection is HTTPS' do
233
- https_site = Puppet::Network::HTTP::Site.new('https', 'www.example.com', 443)
228
+ https_site = Puppet::HTTP::Site.new('https', 'www.example.com', 443)
234
229
  old_conn = create_connection(https_site)
235
230
  pool = create_pool_with_connections(https_site, old_conn)
236
231
 
237
- http_site = Puppet::Network::HTTP::Site.new('http', 'www.example.com', 443)
232
+ http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 443)
238
233
  new_conn = create_http_connection(http_site)
239
234
  allow(pool.factory).to receive(:create_connection).with(http_site).and_return(new_conn)
240
235
 
@@ -242,11 +237,11 @@ describe Puppet::Network::HTTP::Pool do
242
237
  end
243
238
 
244
239
  it 'returns a new HTTPS connection if the cached connection is HTTP' do
245
- http_site = Puppet::Network::HTTP::Site.new('http', 'www.example.com', 443)
240
+ http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 443)
246
241
  old_conn = create_http_connection(http_site)
247
242
  pool = create_pool_with_http_connections(http_site, old_conn)
248
243
 
249
- https_site = Puppet::Network::HTTP::Site.new('https', 'www.example.com', 443)
244
+ https_site = Puppet::HTTP::Site.new('https', 'www.example.com', 443)
250
245
  new_conn = create_connection(https_site)
251
246
  allow(pool.factory).to receive(:create_connection).with(https_site).and_return(new_conn)
252
247
 
@@ -279,7 +274,7 @@ describe Puppet::Network::HTTP::Pool do
279
274
  end
280
275
 
281
276
  it 'returns a cached connection if both connections are http' do
282
- http_site = Puppet::Network::HTTP::Site.new('http', 'www.example.com', 80)
277
+ http_site = Puppet::HTTP::Site.new('http', 'www.example.com', 80)
283
278
  old_conn = create_http_connection(http_site)
284
279
  pool = create_pool_with_http_connections(http_site, old_conn)
285
280
 
@@ -1,10 +1,8 @@
1
1
  require 'uri'
2
2
  require 'spec_helper'
3
- require 'puppet/util/http_proxy'
4
-
5
- describe Puppet::Util::HttpProxy do
6
- include Puppet::Network::HTTP::Compression.module
3
+ require 'puppet/http'
7
4
 
5
+ describe Puppet::HTTP::Proxy do
8
6
  before(:all) do
9
7
  ENV['http_proxy'] = nil
10
8
  ENV['HTTP_PROXY'] = nil
@@ -346,69 +344,4 @@ describe Puppet::Util::HttpProxy do
346
344
  end
347
345
  end
348
346
  end
349
-
350
- describe '.request_with_redirects' do
351
- let(:dest) { URI.parse('http://mydomain.com/some/path') }
352
-
353
- it 'generates accept and accept-encoding headers' do
354
- stub_request(:head, dest)
355
-
356
- headers = {
357
- 'Accept' => '*/*',
358
- 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
359
- 'User-Agent' => /Puppet/
360
- }
361
- stub_request(:get, dest).with(headers: headers)
362
-
363
- subject.request_with_redirects(dest, :get, 0)
364
- end
365
-
366
- it 'can return a compressed response body' do
367
- stub_request(:head, dest)
368
-
369
- compressed_body = [
370
- 0x1f, 0x8b, 0x08, 0x08, 0xe9, 0x08, 0x7a, 0x5a, 0x00, 0x03,
371
- 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0xcb, 0xc8, 0xe4, 0x02,
372
- 0x00, 0x7a, 0x7a, 0x6f, 0xed, 0x03, 0x00, 0x00, 0x00
373
- ].pack('C*')
374
-
375
- stub_request(:get, dest).to_return(status: 200, body: compressed_body, headers: { 'Content-Encoding' => 'gzip' })
376
-
377
- expect(
378
- uncompress_body(subject.request_with_redirects(dest, :get, 0))
379
- ).to eq("hi\n")
380
- end
381
-
382
- it 'generates accept and accept-encoding headers when a block is provided' do
383
- stub_request(:head, dest)
384
-
385
- headers = {
386
- 'Accept' => '*/*',
387
- 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
388
- 'User-Agent' => /Puppet/
389
- }
390
- stub_request(:get, dest).with(headers: headers)
391
-
392
- subject.request_with_redirects(dest, :get, 0) do
393
- # unused
394
- end
395
- end
396
-
397
- it 'only makes a single HEAD request' do
398
- stub_request(:head, dest)
399
-
400
- subject.request_with_redirects(dest, :head, 0)
401
- end
402
-
403
- it 'preserves query parameters' do
404
- url = URI.parse('http://mydomain.com/some/path?foo=bar')
405
-
406
- stub_request(:head, url)
407
- stub_request(:get, url)
408
-
409
- subject.request_with_redirects(url, :get, 0) do
410
- # unused
411
- end
412
- end
413
- end
414
347
  end