puppet 6.25.0-x64-mingw32 → 7.0.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (783) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +3 -5
  5. data/Gemfile.lock +39 -51
  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/resource.rb +16 -32
  108. data/lib/puppet/application/script.rb +0 -2
  109. data/lib/puppet/application/ssl.rb +1 -13
  110. data/lib/puppet/application.rb +178 -108
  111. data/lib/puppet/application_support.rb +0 -7
  112. data/lib/puppet/concurrent/thread_local_singleton.rb +0 -1
  113. data/lib/puppet/configurer/downloader.rb +1 -2
  114. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  115. data/lib/puppet/configurer.rb +87 -130
  116. data/lib/puppet/confine/variable.rb +1 -1
  117. data/lib/puppet/defaults.rb +128 -226
  118. data/lib/puppet/environments.rb +82 -146
  119. data/lib/puppet/face/facts.rb +5 -103
  120. data/lib/puppet/face/help/action.erb +0 -1
  121. data/lib/puppet/face/help/face.erb +0 -1
  122. data/lib/puppet/face/help.rb +1 -1
  123. data/lib/puppet/face/node/clean.rb +0 -11
  124. data/lib/puppet/face/plugin.rb +5 -8
  125. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  126. data/lib/puppet/ffi/windows/constants.rb +404 -0
  127. data/lib/puppet/ffi/windows/functions.rb +628 -0
  128. data/lib/puppet/ffi/windows/structs.rb +338 -0
  129. data/lib/puppet/ffi/windows.rb +12 -0
  130. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  131. data/lib/puppet/file_serving/configuration.rb +0 -8
  132. data/lib/puppet/file_serving/fileset.rb +2 -14
  133. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  134. data/lib/puppet/file_serving/mount/file.rb +4 -4
  135. data/lib/puppet/file_serving/mount.rb +1 -2
  136. data/lib/puppet/file_system/file_impl.rb +1 -3
  137. data/lib/puppet/file_system/memory_file.rb +1 -8
  138. data/lib/puppet/file_system/windows.rb +2 -4
  139. data/lib/puppet/forge/repository.rb +0 -1
  140. data/lib/puppet/forge.rb +4 -4
  141. data/lib/puppet/functions/all.rb +1 -1
  142. data/lib/puppet/functions/camelcase.rb +1 -1
  143. data/lib/puppet/functions/capitalize.rb +2 -2
  144. data/lib/puppet/functions/downcase.rb +2 -2
  145. data/lib/puppet/functions/empty.rb +0 -8
  146. data/lib/puppet/functions/find_template.rb +2 -2
  147. data/lib/puppet/functions/get.rb +5 -5
  148. data/lib/puppet/functions/group_by.rb +5 -13
  149. data/lib/puppet/functions/lest.rb +1 -1
  150. data/lib/puppet/functions/new.rb +100 -100
  151. data/lib/puppet/functions/partition.rb +4 -12
  152. data/lib/puppet/functions/require.rb +5 -5
  153. data/lib/puppet/functions/sort.rb +3 -3
  154. data/lib/puppet/functions/strftime.rb +0 -1
  155. data/lib/puppet/functions/tree_each.rb +9 -7
  156. data/lib/puppet/functions/type.rb +4 -4
  157. data/lib/puppet/functions/unwrap.rb +2 -17
  158. data/lib/puppet/functions/upcase.rb +2 -2
  159. data/lib/puppet/generate/models/type/type.rb +4 -1
  160. data/lib/puppet/http/client.rb +164 -114
  161. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  162. data/lib/puppet/http/errors.rb +16 -0
  163. data/lib/puppet/http/external_client.rb +5 -7
  164. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  165. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  166. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  167. data/lib/puppet/http/proxy.rb +137 -0
  168. data/lib/puppet/http/redirector.rb +4 -12
  169. data/lib/puppet/http/resolver/server_list.rb +10 -25
  170. data/lib/puppet/http/resolver/settings.rb +4 -7
  171. data/lib/puppet/http/resolver/srv.rb +7 -11
  172. data/lib/puppet/http/resolver.rb +5 -15
  173. data/lib/puppet/http/response.rb +36 -54
  174. data/lib/puppet/http/response_converter.rb +24 -0
  175. data/lib/puppet/http/response_net_http.rb +42 -0
  176. data/lib/puppet/http/retry_after_handler.rb +4 -13
  177. data/lib/puppet/http/service/ca.rb +11 -22
  178. data/lib/puppet/http/service/compiler.rb +23 -144
  179. data/lib/puppet/http/service/file_server.rb +19 -29
  180. data/lib/puppet/http/service/puppetserver.rb +26 -12
  181. data/lib/puppet/http/service/report.rb +8 -10
  182. data/lib/puppet/http/service.rb +12 -26
  183. data/lib/puppet/http/session.rb +11 -20
  184. data/lib/puppet/{network/http → http}/site.rb +1 -2
  185. data/lib/puppet/http.rb +22 -13
  186. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  187. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  188. data/lib/puppet/indirector/facts/facter.rb +6 -6
  189. data/lib/puppet/indirector/facts/rest.rb +3 -22
  190. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  191. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  192. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  193. data/lib/puppet/indirector/file_server.rb +1 -8
  194. data/lib/puppet/indirector/generic_http.rb +0 -11
  195. data/lib/puppet/indirector/indirection.rb +1 -1
  196. data/lib/puppet/indirector/node/rest.rb +2 -4
  197. data/lib/puppet/indirector/report/rest.rb +3 -8
  198. data/lib/puppet/indirector/request.rb +0 -101
  199. data/lib/puppet/indirector/resource/ral.rb +1 -6
  200. data/lib/puppet/indirector/rest.rb +12 -263
  201. data/lib/puppet/indirector/terminus.rb +0 -4
  202. data/lib/puppet/interface/documentation.rb +0 -1
  203. data/lib/puppet/module/plan.rb +1 -0
  204. data/lib/puppet/module/task.rb +1 -1
  205. data/lib/puppet/module.rb +0 -1
  206. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  207. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  208. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  209. data/lib/puppet/module_tool/applications.rb +0 -1
  210. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  211. data/lib/puppet/network/authconfig.rb +2 -96
  212. data/lib/puppet/network/authorization.rb +13 -35
  213. data/lib/puppet/network/formats.rb +0 -67
  214. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  215. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  216. data/lib/puppet/network/http/connection.rb +247 -316
  217. data/lib/puppet/network/http/handler.rb +0 -1
  218. data/lib/puppet/network/http.rb +3 -3
  219. data/lib/puppet/network/http_pool.rb +16 -34
  220. data/lib/puppet/node/environment.rb +11 -10
  221. data/lib/puppet/node.rb +1 -30
  222. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  223. data/lib/puppet/pal/pal_impl.rb +4 -2
  224. data/lib/puppet/parser/ast/leaf.rb +2 -3
  225. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  226. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  227. data/lib/puppet/parser/compiler.rb +0 -198
  228. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  229. data/lib/puppet/parser/resource.rb +0 -69
  230. data/lib/puppet/parser/scope.rb +0 -1
  231. data/lib/puppet/parser/templatewrapper.rb +1 -2
  232. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  233. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  234. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  235. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  236. data/lib/puppet/pops/issues.rb +0 -5
  237. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  239. data/lib/puppet/pops/model/ast.pp +0 -42
  240. data/lib/puppet/pops/model/ast.rb +0 -291
  241. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  242. data/lib/puppet/pops/model/factory.rb +1 -47
  243. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  244. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  245. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  246. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  247. data/lib/puppet/pops/parser/eparser.rb +1691 -1883
  248. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  249. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  250. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  251. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  252. data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
  253. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  254. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  255. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  256. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  257. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  258. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  259. data/lib/puppet/pops/types/type_parser.rb +0 -4
  260. data/lib/puppet/pops/types/types.rb +1 -2
  261. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  262. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  263. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  264. data/lib/puppet/property/list.rb +1 -1
  265. data/lib/puppet/provider/aix_object.rb +1 -1
  266. data/lib/puppet/provider/exec/posix.rb +4 -16
  267. data/lib/puppet/provider/group/groupadd.rb +10 -18
  268. data/lib/puppet/provider/nameservice.rb +0 -18
  269. data/lib/puppet/provider/package/apt.rb +2 -34
  270. data/lib/puppet/provider/package/aptitude.rb +0 -6
  271. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  272. data/lib/puppet/provider/package/dpkg.rb +0 -10
  273. data/lib/puppet/provider/package/gem.rb +23 -3
  274. data/lib/puppet/provider/package/nim.rb +6 -11
  275. data/lib/puppet/provider/package/pip.rb +3 -16
  276. data/lib/puppet/provider/package/pkg.rb +2 -23
  277. data/lib/puppet/provider/package/portage.rb +1 -1
  278. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  279. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  280. data/lib/puppet/provider/package/yum.rb +1 -1
  281. data/lib/puppet/provider/parsedfile.rb +0 -3
  282. data/lib/puppet/provider/service/base.rb +1 -1
  283. data/lib/puppet/provider/service/debian.rb +0 -2
  284. data/lib/puppet/provider/service/init.rb +5 -5
  285. data/lib/puppet/provider/service/launchd.rb +2 -2
  286. data/lib/puppet/provider/service/redhat.rb +1 -1
  287. data/lib/puppet/provider/service/smf.rb +194 -76
  288. data/lib/puppet/provider/service/systemd.rb +6 -16
  289. data/lib/puppet/provider/service/upstart.rb +5 -5
  290. data/lib/puppet/provider/service/windows.rb +0 -38
  291. data/lib/puppet/provider/user/aix.rb +3 -46
  292. data/lib/puppet/provider/user/directoryservice.rb +11 -34
  293. data/lib/puppet/provider/user/useradd.rb +24 -134
  294. data/lib/puppet/provider.rb +1 -14
  295. data/lib/puppet/reference/configuration.rb +8 -7
  296. data/lib/puppet/reference/indirection.rb +1 -1
  297. data/lib/puppet/reference/providers.rb +2 -2
  298. data/lib/puppet/resource/catalog.rb +1 -14
  299. data/lib/puppet/resource/type.rb +3 -119
  300. data/lib/puppet/resource/type_collection.rb +3 -49
  301. data/lib/puppet/resource.rb +1 -89
  302. data/lib/puppet/runtime.rb +2 -13
  303. data/lib/puppet/settings/environment_conf.rb +0 -1
  304. data/lib/puppet/settings/integer_setting.rb +17 -0
  305. data/lib/puppet/settings/port_setting.rb +15 -0
  306. data/lib/puppet/settings/priority_setting.rb +5 -4
  307. data/lib/puppet/settings.rb +82 -98
  308. data/lib/puppet/ssl/base.rb +3 -5
  309. data/lib/puppet/ssl/certificate.rb +0 -6
  310. data/lib/puppet/ssl/certificate_request.rb +1 -12
  311. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  312. data/lib/puppet/ssl/oids.rb +3 -1
  313. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  314. data/lib/puppet/ssl/state_machine.rb +3 -1
  315. data/lib/puppet/ssl/verifier.rb +2 -0
  316. data/lib/puppet/ssl.rb +10 -6
  317. data/lib/puppet/test/test_helper.rb +2 -7
  318. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  319. data/lib/puppet/transaction/persistence.rb +1 -11
  320. data/lib/puppet/transaction/report.rb +3 -19
  321. data/lib/puppet/transaction.rb +1 -7
  322. data/lib/puppet/type/exec.rb +5 -35
  323. data/lib/puppet/type/file/checksum.rb +1 -1
  324. data/lib/puppet/type/file/mode.rb +0 -6
  325. data/lib/puppet/type/file/selcontext.rb +1 -1
  326. data/lib/puppet/type/file/source.rb +1 -1
  327. data/lib/puppet/type/file.rb +12 -32
  328. data/lib/puppet/type/filebucket.rb +4 -4
  329. data/lib/puppet/type/group.rb +1 -0
  330. data/lib/puppet/type/package.rb +8 -16
  331. data/lib/puppet/type/resources.rb +1 -1
  332. data/lib/puppet/type/service.rb +41 -26
  333. data/lib/puppet/type/tidy.rb +3 -22
  334. data/lib/puppet/type/user.rb +21 -38
  335. data/lib/puppet/type.rb +1 -77
  336. data/lib/puppet/util/autoload.rb +8 -1
  337. data/lib/puppet/util/command_line.rb +1 -1
  338. data/lib/puppet/util/execution.rb +0 -11
  339. data/lib/puppet/util/filetype.rb +2 -2
  340. data/lib/puppet/util/http_proxy.rb +2 -215
  341. data/lib/puppet/util/json.rb +0 -3
  342. data/lib/puppet/util/log.rb +2 -1
  343. data/lib/puppet/util/logging.rb +25 -1
  344. data/lib/puppet/util/monkey_patches.rb +0 -53
  345. data/lib/puppet/util/pidlock.rb +1 -1
  346. data/lib/puppet/util/posix.rb +5 -54
  347. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  348. data/lib/puppet/util/rdoc.rb +0 -7
  349. data/lib/puppet/util/retry_action.rb +1 -1
  350. data/lib/puppet/util/run_mode.rb +9 -1
  351. data/lib/puppet/util/selinux.rb +4 -30
  352. data/lib/puppet/util/suidmanager.rb +2 -1
  353. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  354. data/lib/puppet/util/tagging.rb +0 -1
  355. data/lib/puppet/util/windows/adsi.rb +0 -46
  356. data/lib/puppet/util/windows/daemon.rb +360 -0
  357. data/lib/puppet/util/windows/error.rb +1 -0
  358. data/lib/puppet/util/windows/eventlog.rb +4 -9
  359. data/lib/puppet/util/windows/file.rb +8 -242
  360. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  361. data/lib/puppet/util/windows/principal.rb +2 -9
  362. data/lib/puppet/util/windows/process.rb +4 -226
  363. data/lib/puppet/util/windows/service.rb +9 -460
  364. data/lib/puppet/util/windows/sid.rb +2 -6
  365. data/lib/puppet/util/windows/string.rb +12 -13
  366. data/lib/puppet/util/windows/user.rb +2 -0
  367. data/lib/puppet/util/windows.rb +3 -8
  368. data/lib/puppet/util/yaml.rb +0 -22
  369. data/lib/puppet/util.rb +3 -4
  370. data/lib/puppet/vendor/require_vendored.rb +0 -1
  371. data/lib/puppet/version.rb +1 -1
  372. data/lib/puppet/x509/cert_provider.rb +29 -1
  373. data/lib/puppet/x509.rb +5 -1
  374. data/lib/puppet.rb +20 -25
  375. data/locales/puppet.pot +816 -1637
  376. data/man/man5/puppet.conf.5 +286 -382
  377. data/man/man8/puppet-agent.8 +2 -5
  378. data/man/man8/puppet-apply.8 +2 -2
  379. data/man/man8/puppet-catalog.8 +9 -9
  380. data/man/man8/puppet-config.8 +1 -1
  381. data/man/man8/puppet-describe.8 +1 -1
  382. data/man/man8/puppet-device.8 +2 -2
  383. data/man/man8/puppet-doc.8 +1 -1
  384. data/man/man8/puppet-epp.8 +1 -1
  385. data/man/man8/puppet-facts.8 +8 -51
  386. data/man/man8/puppet-filebucket.8 +4 -4
  387. data/man/man8/puppet-generate.8 +1 -1
  388. data/man/man8/puppet-help.8 +1 -1
  389. data/man/man8/puppet-lookup.8 +1 -1
  390. data/man/man8/puppet-module.8 +3 -60
  391. data/man/man8/puppet-node.8 +5 -5
  392. data/man/man8/puppet-parser.8 +1 -1
  393. data/man/man8/puppet-plugin.8 +1 -1
  394. data/man/man8/puppet-report.8 +5 -5
  395. data/man/man8/puppet-resource.8 +1 -1
  396. data/man/man8/puppet-script.8 +2 -2
  397. data/man/man8/puppet-ssl.8 +1 -5
  398. data/man/man8/puppet.8 +2 -2
  399. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  400. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  401. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  402. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  403. data/spec/fixtures/ssl/ca.pem +35 -57
  404. data/spec/fixtures/ssl/crl.pem +18 -28
  405. data/spec/fixtures/ssl/ec-key.pem +11 -11
  406. data/spec/fixtures/ssl/ec.pem +24 -33
  407. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  408. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  409. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  410. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  411. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  412. data/spec/fixtures/ssl/intermediate.pem +36 -57
  413. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  414. data/spec/fixtures/ssl/pluto.pem +30 -52
  415. data/spec/fixtures/ssl/request-key.pem +57 -107
  416. data/spec/fixtures/ssl/request.pem +26 -47
  417. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  418. data/spec/fixtures/ssl/revoked.pem +30 -52
  419. data/spec/fixtures/ssl/signed-key.pem +57 -107
  420. data/spec/fixtures/ssl/signed.pem +30 -52
  421. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  422. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  423. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  424. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  425. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  426. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  427. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  428. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  429. data/spec/integration/application/agent_spec.rb +51 -271
  430. data/spec/integration/application/apply_spec.rb +1 -20
  431. data/spec/integration/application/filebucket_spec.rb +16 -32
  432. data/spec/integration/application/help_spec.rb +2 -0
  433. data/spec/integration/application/module_spec.rb +0 -21
  434. data/spec/integration/application/plugin_spec.rb +24 -2
  435. data/spec/integration/configurer_spec.rb +2 -18
  436. data/spec/integration/defaults_spec.rb +14 -3
  437. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  438. data/spec/integration/http/client_spec.rb +0 -12
  439. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  440. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  441. data/spec/integration/network/http_pool_spec.rb +3 -21
  442. data/spec/integration/parser/catalog_spec.rb +0 -38
  443. data/spec/integration/parser/node_spec.rb +0 -9
  444. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  445. data/spec/integration/resource/type_collection_spec.rb +6 -2
  446. data/spec/integration/transaction/report_spec.rb +1 -1
  447. data/spec/integration/transaction_spec.rb +9 -4
  448. data/spec/integration/type/exec_spec.rb +45 -70
  449. data/spec/integration/type/file_spec.rb +7 -6
  450. data/spec/integration/type/package_spec.rb +6 -6
  451. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  452. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  453. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  454. data/spec/integration/util/windows/principal_spec.rb +0 -21
  455. data/spec/integration/util/windows/process_spec.rb +9 -1
  456. data/spec/integration/util/windows/registry_spec.rb +10 -6
  457. data/spec/integration/util/windows/security_spec.rb +1 -1
  458. data/spec/lib/matchers/include.rb +27 -0
  459. data/spec/lib/matchers/include_spec.rb +32 -0
  460. data/spec/lib/puppet/test_ca.rb +2 -7
  461. data/spec/lib/puppet_spec/modules.rb +2 -13
  462. data/spec/lib/puppet_spec/puppetserver.rb +1 -16
  463. data/spec/lib/puppet_spec/settings.rb +1 -1
  464. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  465. data/spec/spec_helper.rb +17 -13
  466. data/spec/unit/agent_spec.rb +6 -10
  467. data/spec/unit/application/agent_spec.rb +3 -7
  468. data/spec/unit/application/apply_spec.rb +56 -76
  469. data/spec/unit/application/facts_spec.rb +12 -456
  470. data/spec/unit/application/filebucket_spec.rb +43 -39
  471. data/spec/unit/application/resource_spec.rb +0 -29
  472. data/spec/unit/application/ssl_spec.rb +2 -25
  473. data/spec/unit/application_spec.rb +9 -51
  474. data/spec/unit/certificate_factory_spec.rb +1 -1
  475. data/spec/unit/configurer/downloader_spec.rb +6 -8
  476. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  477. data/spec/unit/configurer_spec.rb +67 -202
  478. data/spec/unit/confine/feature_spec.rb +1 -1
  479. data/spec/unit/confine_spec.rb +2 -8
  480. data/spec/unit/context/trusted_information_spec.rb +2 -6
  481. data/spec/unit/defaults_spec.rb +68 -55
  482. data/spec/unit/environments_spec.rb +68 -408
  483. data/spec/unit/face/node_spec.rb +11 -0
  484. data/spec/unit/face/plugin_spec.rb +73 -33
  485. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  486. data/spec/unit/file_bucket/file_spec.rb +1 -1
  487. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  488. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  489. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  490. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  491. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  492. data/spec/unit/file_system_spec.rb +0 -22
  493. data/spec/unit/forge/module_release_spec.rb +7 -2
  494. data/spec/unit/functions/assert_type_spec.rb +1 -1
  495. data/spec/unit/functions/camelcase_spec.rb +1 -1
  496. data/spec/unit/functions/capitalize_spec.rb +1 -1
  497. data/spec/unit/functions/downcase_spec.rb +1 -1
  498. data/spec/unit/functions/empty_spec.rb +0 -10
  499. data/spec/unit/functions/logging_spec.rb +0 -1
  500. data/spec/unit/functions/lookup_spec.rb +0 -64
  501. data/spec/unit/functions/unwrap_spec.rb +0 -8
  502. data/spec/unit/functions/upcase_spec.rb +1 -1
  503. data/spec/unit/functions4_spec.rb +2 -2
  504. data/spec/unit/gettext/config_spec.rb +0 -12
  505. data/spec/unit/http/client_spec.rb +7 -8
  506. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  507. data/spec/unit/http/external_client_spec.rb +4 -4
  508. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  509. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  510. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  511. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  512. data/spec/unit/http/resolver_spec.rb +13 -13
  513. data/spec/unit/http/service/compiler_spec.rb +0 -193
  514. data/spec/unit/http/service/file_server_spec.rb +3 -3
  515. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  516. data/spec/unit/http/service_spec.rb +0 -1
  517. data/spec/unit/http/session_spec.rb +16 -14
  518. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  519. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  520. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  521. data/spec/unit/indirector/face_spec.rb +1 -0
  522. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  523. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  524. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  525. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  526. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  527. data/spec/unit/indirector/file_server_spec.rb +1 -15
  528. data/spec/unit/indirector/indirection_spec.rb +15 -18
  529. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  530. data/spec/unit/indirector/request_spec.rb +0 -264
  531. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  532. data/spec/unit/indirector/rest_spec.rb +98 -752
  533. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  534. data/spec/unit/indirector_spec.rb +2 -2
  535. data/spec/unit/interface/action_spec.rb +9 -0
  536. data/spec/unit/module_spec.rb +1 -15
  537. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  538. data/spec/unit/network/authconfig_spec.rb +2 -129
  539. data/spec/unit/network/authorization_spec.rb +2 -55
  540. data/spec/unit/network/formats_spec.rb +4 -51
  541. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  542. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  543. data/spec/unit/network/http/api_spec.rb +10 -0
  544. data/spec/unit/network/http/connection_spec.rb +19 -41
  545. data/spec/unit/network/http/handler_spec.rb +0 -1
  546. data/spec/unit/network/http_pool_spec.rb +0 -4
  547. data/spec/unit/node/environment_spec.rb +33 -21
  548. data/spec/unit/node_spec.rb +2 -54
  549. data/spec/unit/parser/compiler_spec.rb +19 -3
  550. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  551. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  552. data/spec/unit/parser/resource_spec.rb +8 -14
  553. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  554. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  555. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  556. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  557. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  558. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  559. data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
  560. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  561. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  562. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
  563. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  564. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  565. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  566. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  567. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  568. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  569. data/spec/unit/pops/visitor_spec.rb +1 -1
  570. data/spec/unit/property_spec.rb +0 -1
  571. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  572. data/spec/unit/provider/nameservice_spec.rb +64 -122
  573. data/spec/unit/provider/package/apt_spec.rb +23 -28
  574. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  575. data/spec/unit/provider/package/base_spec.rb +5 -6
  576. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  577. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  578. data/spec/unit/provider/package/gem_spec.rb +33 -1
  579. data/spec/unit/provider/package/nim_spec.rb +0 -42
  580. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  581. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  582. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  583. data/spec/unit/provider/package/pip_spec.rb +12 -44
  584. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  585. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  586. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  587. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  588. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  589. data/spec/unit/provider/service/init_spec.rb +0 -1
  590. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  591. data/spec/unit/provider/service/openwrt_spec.rb +1 -3
  592. data/spec/unit/provider/service/smf_spec.rb +401 -165
  593. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  594. data/spec/unit/provider/service/windows_spec.rb +0 -203
  595. data/spec/unit/provider/user/aix_spec.rb +0 -105
  596. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  597. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  598. data/spec/unit/provider/user/pw_spec.rb +0 -2
  599. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  600. data/spec/unit/provider_spec.rb +12 -22
  601. data/spec/unit/puppet_spec.rb +4 -12
  602. data/spec/unit/resource/catalog_spec.rb +1 -1
  603. data/spec/unit/resource/type_collection_spec.rb +2 -22
  604. data/spec/unit/resource/type_spec.rb +1 -1
  605. data/spec/unit/resource_spec.rb +10 -67
  606. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  607. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  608. data/spec/unit/settings/port_setting_spec.rb +31 -0
  609. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  610. data/spec/unit/settings_spec.rb +79 -110
  611. data/spec/unit/ssl/base_spec.rb +37 -3
  612. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  613. data/spec/unit/ssl/certificate_spec.rb +2 -11
  614. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  615. data/spec/unit/ssl/state_machine_spec.rb +5 -20
  616. data/spec/unit/ssl/verifier_spec.rb +0 -21
  617. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  618. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  619. data/spec/unit/transaction/report_spec.rb +0 -2
  620. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  621. data/spec/unit/transaction_spec.rb +55 -96
  622. data/spec/unit/type/exec_spec.rb +29 -76
  623. data/spec/unit/type/file/checksum_spec.rb +6 -6
  624. data/spec/unit/type/file/content_spec.rb +2 -1
  625. data/spec/unit/type/file/ensure_spec.rb +1 -1
  626. data/spec/unit/type/file/mode_spec.rb +1 -1
  627. data/spec/unit/type/file/selinux_spec.rb +5 -3
  628. data/spec/unit/type/file/source_spec.rb +4 -5
  629. data/spec/unit/type/file_spec.rb +18 -6
  630. data/spec/unit/type/group_spec.rb +6 -13
  631. data/spec/unit/type/package_spec.rb +1 -1
  632. data/spec/unit/type/resources_spec.rb +7 -7
  633. data/spec/unit/type/service_spec.rb +189 -87
  634. data/spec/unit/type/tidy_spec.rb +8 -24
  635. data/spec/unit/type/user_spec.rb +0 -45
  636. data/spec/unit/type_spec.rb +24 -4
  637. data/spec/unit/util/at_fork_spec.rb +2 -2
  638. data/spec/unit/util/autoload_spec.rb +1 -5
  639. data/spec/unit/util/backups_spec.rb +2 -3
  640. data/spec/unit/util/execution_spec.rb +11 -44
  641. data/spec/unit/util/inifile_spec.rb +14 -6
  642. data/spec/unit/util/log_spec.rb +7 -8
  643. data/spec/unit/util/logging_spec.rb +3 -5
  644. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  645. data/spec/unit/util/posix_spec.rb +15 -363
  646. data/spec/unit/util/run_mode_spec.rb +21 -121
  647. data/spec/unit/util/selinux_spec.rb +68 -163
  648. data/spec/unit/util/storage_spec.rb +1 -3
  649. data/spec/unit/util/suidmanager_spec.rb +41 -44
  650. data/spec/unit/util/windows/sid_spec.rb +0 -41
  651. data/spec/unit/util/windows/string_spec.rb +1 -3
  652. data/spec/unit/util/yaml_spec.rb +0 -54
  653. data/spec/unit/util_spec.rb +6 -31
  654. data/tasks/generate_cert_fixtures.rake +3 -12
  655. data/tasks/parallel.rake +3 -3
  656. metadata +137 -288
  657. data/conf/auth.conf +0 -150
  658. data/ext/README.md +0 -13
  659. data/lib/puppet/application/cert.rb +0 -76
  660. data/lib/puppet/application/key.rb +0 -4
  661. data/lib/puppet/application/man.rb +0 -4
  662. data/lib/puppet/application/status.rb +0 -4
  663. data/lib/puppet/face/key.rb +0 -16
  664. data/lib/puppet/face/man.rb +0 -145
  665. data/lib/puppet/face/module/build.rb +0 -14
  666. data/lib/puppet/face/module/generate.rb +0 -14
  667. data/lib/puppet/face/module/search.rb +0 -103
  668. data/lib/puppet/face/status.rb +0 -51
  669. data/lib/puppet/facter_impl.rb +0 -96
  670. data/lib/puppet/ffi/posix/constants.rb +0 -14
  671. data/lib/puppet/ffi/posix/functions.rb +0 -24
  672. data/lib/puppet/ffi/posix.rb +0 -10
  673. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  674. data/lib/puppet/indirector/certificate/file.rb +0 -9
  675. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  676. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  677. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  678. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  679. data/lib/puppet/indirector/file_content/http.rb +0 -22
  680. data/lib/puppet/indirector/key/file.rb +0 -46
  681. data/lib/puppet/indirector/key/memory.rb +0 -7
  682. data/lib/puppet/indirector/ssl_file.rb +0 -162
  683. data/lib/puppet/indirector/status/local.rb +0 -12
  684. data/lib/puppet/indirector/status/rest.rb +0 -27
  685. data/lib/puppet/indirector/status.rb +0 -3
  686. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  687. data/lib/puppet/network/auth_config_parser.rb +0 -90
  688. data/lib/puppet/network/authstore.rb +0 -283
  689. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  690. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  691. data/lib/puppet/network/http/base_pool.rb +0 -36
  692. data/lib/puppet/network/http/compression.rb +0 -127
  693. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  694. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  695. data/lib/puppet/network/rest_controller.rb +0 -2
  696. data/lib/puppet/network/rights.rb +0 -210
  697. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  698. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  699. data/lib/puppet/parser/environment_compiler.rb +0 -202
  700. data/lib/puppet/pops/types/enumeration.rb +0 -16
  701. data/lib/puppet/resource/capability_finder.rb +0 -154
  702. data/lib/puppet/rest/errors.rb +0 -15
  703. data/lib/puppet/rest/response.rb +0 -35
  704. data/lib/puppet/rest/route.rb +0 -85
  705. data/lib/puppet/rest/routes.rb +0 -135
  706. data/lib/puppet/settings/alias_setting.rb +0 -37
  707. data/lib/puppet/ssl/host.rb +0 -505
  708. data/lib/puppet/ssl/key.rb +0 -61
  709. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  710. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  711. data/lib/puppet/ssl/validator.rb +0 -61
  712. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  713. data/lib/puppet/status.rb +0 -40
  714. data/lib/puppet/util/connection.rb +0 -88
  715. data/lib/puppet/util/fact_dif.rb +0 -81
  716. data/lib/puppet/util/ssl.rb +0 -83
  717. data/lib/puppet/util/windows/api_types.rb +0 -309
  718. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  719. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  720. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  721. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  722. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  723. data/lib/puppet/vendor/pathspec/README.md +0 -53
  724. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  725. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  726. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  727. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  728. data/man/man8/puppet-key.8 +0 -126
  729. data/man/man8/puppet-man.8 +0 -76
  730. data/man/man8/puppet-status.8 +0 -108
  731. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
  732. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  733. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  734. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  735. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  736. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  737. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  738. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  739. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  740. data/spec/fixtures/ssl/oid-key.pem +0 -117
  741. data/spec/fixtures/ssl/oid.pem +0 -69
  742. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  743. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  744. data/spec/integration/application/resource_spec.rb +0 -64
  745. data/spec/integration/application/ssl_spec.rb +0 -20
  746. data/spec/integration/l10n/compiler_spec.rb +0 -37
  747. data/spec/integration/network/authconfig_spec.rb +0 -256
  748. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  749. data/spec/shared_contexts/l10n.rb +0 -27
  750. data/spec/unit/application/man_spec.rb +0 -52
  751. data/spec/unit/capability_spec.rb +0 -414
  752. data/spec/unit/face/key_spec.rb +0 -9
  753. data/spec/unit/face/module/search_spec.rb +0 -231
  754. data/spec/unit/face/status_spec.rb +0 -9
  755. data/spec/unit/facter_impl_spec.rb +0 -31
  756. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  757. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  758. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  759. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  760. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  761. data/spec/unit/indirector/key/file_spec.rb +0 -78
  762. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  763. data/spec/unit/indirector/status/local_spec.rb +0 -10
  764. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  765. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  766. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  767. data/spec/unit/network/authstore_spec.rb +0 -407
  768. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  769. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  770. data/spec/unit/network/http/compression_spec.rb +0 -240
  771. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  772. data/spec/unit/network/http_spec.rb +0 -9
  773. data/spec/unit/network/rights_spec.rb +0 -439
  774. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  775. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  776. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  777. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  778. data/spec/unit/rest/route_spec.rb +0 -132
  779. data/spec/unit/ssl/host_spec.rb +0 -645
  780. data/spec/unit/ssl/key_spec.rb +0 -173
  781. data/spec/unit/ssl/validator_spec.rb +0 -278
  782. data/spec/unit/status_spec.rb +0 -45
  783. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -1,4 +1,3 @@
1
-
2
1
  # coding: utf-8
3
2
  require 'spec_helper'
4
3
  require 'puppet/http'
@@ -12,7 +11,6 @@ describe Puppet::HTTP::Service::Compiler do
12
11
  let(:node) { Puppet::Node.new(certname) }
13
12
  let(:facts) { Puppet::Node::Facts.new(certname) }
14
13
  let(:catalog) { Puppet::Resource::Catalog.new(certname) }
15
- let(:status) { Puppet::Status.new }
16
14
  let(:formatter) { Puppet::Network::FormatHandler.format(:json) }
17
15
 
18
16
  before :each do
@@ -96,14 +94,6 @@ describe Puppet::HTTP::Service::Compiler do
96
94
  subject.post_catalog(certname, environment: 'production', facts: facts, configured_environment: 'agent_specified')
97
95
  end
98
96
 
99
- it 'includes check_environment' do
100
- stub_request(:post, uri)
101
- .with(body: hash_including('check_environment' => 'false'))
102
- .to_return(**catalog_response)
103
-
104
- subject.post_catalog(certname, environment: 'production', facts: facts)
105
- end
106
-
107
97
  it 'includes transaction_uuid' do
108
98
  uuid = "ec3d2844-b236-4287-b0ad-632fbb4d1ff0"
109
99
 
@@ -267,128 +257,6 @@ describe Puppet::HTTP::Service::Compiler do
267
257
  end
268
258
  end
269
259
 
270
- context 'when posting for a v4 catalog' do
271
- let(:uri) {"https://compiler.example.com:8140/puppet/v4/catalog"}
272
- let(:persistence) {{ facts: true, catalog: true }}
273
- let(:facts) {{ 'foo' => 'bar' }}
274
- let(:trusted_facts) {{}}
275
- let(:uuid) { "ec3d2844-b236-4287-b0ad-632fbb4d1ff0" }
276
- let(:job_id) { "1" }
277
- let(:payload) {{
278
- environment: environment,
279
- persistence: persistence,
280
- facts: facts,
281
- trusted_facts: trusted_facts,
282
- transaction_uuid: uuid,
283
- job_id: job_id,
284
- options: {
285
- prefer_requested_environment: false,
286
- capture_logs: false
287
- }
288
- }}
289
- let(:serialized_catalog) {{ 'catalog' => catalog.to_data_hash }.to_json}
290
- let(:catalog_response) {{ body: serialized_catalog, headers: {'Content-Type' => formatter.mime }}}
291
-
292
- it 'includes default HTTP headers' do
293
- stub_request(:post, uri).with do |request|
294
- expect(request.headers).to include({'X-Puppet-Version' => /./, 'User-Agent' => /./})
295
- expect(request.headers).to_not include('X-Puppet-Profiling')
296
- end.to_return(**catalog_response)
297
-
298
- subject.post_catalog4(certname, **payload)
299
- end
300
-
301
- it 'defaults the server and port based on settings' do
302
- Puppet[:server] = 'compiler2.example.com'
303
- Puppet[:serverport] = 8141
304
-
305
- stub_request(:post, "https://compiler2.example.com:8141/puppet/v4/catalog")
306
- .to_return(**catalog_response)
307
-
308
- subject.post_catalog4(certname, **payload)
309
- end
310
-
311
- it 'includes puppet headers set via the :http_extra_headers and :profile settings' do
312
- stub_request(:post, uri).with(headers: {'Example-Header' => 'real-thing', 'another' => 'thing', 'X-Puppet-Profiling' => 'true'}).
313
- to_return(**catalog_response)
314
-
315
- Puppet[:http_extra_headers] = 'Example-Header:real-thing,another:thing'
316
- Puppet[:profile] = true
317
-
318
- subject.post_catalog4(certname, **payload)
319
- end
320
-
321
- it 'returns a deserialized catalog' do
322
- stub_request(:post, uri)
323
- .to_return(**catalog_response)
324
-
325
- _, cat, _ = subject.post_catalog4(certname, **payload)
326
- expect(cat).to be_a(Puppet::Resource::Catalog)
327
- expect(cat.name).to eq(certname)
328
- end
329
-
330
- it 'returns the request response' do
331
- stub_request(:post, uri)
332
- .to_return(**catalog_response)
333
-
334
- resp, _, _ = subject.post_catalog4(certname, **payload)
335
- expect(resp).to be_a(Puppet::HTTP::Response)
336
- end
337
-
338
- it 'raises a response error if unsuccessful' do
339
- stub_request(:post, uri)
340
- .to_return(status: [500, "Server Error"])
341
-
342
- expect {
343
- subject.post_catalog4(certname, **payload)
344
- }.to raise_error do |err|
345
- expect(err).to be_an_instance_of(Puppet::HTTP::ResponseError)
346
- expect(err.message).to eq('Server Error')
347
- expect(err.response.code).to eq(500)
348
- end
349
- end
350
-
351
- it 'raises a response error when server response is not JSON' do
352
- stub_request(:post, uri)
353
- .to_return(body: "this isn't valid JSON", headers: {'Content-Type' => 'application/json'})
354
-
355
- expect {
356
- subject.post_catalog4(certname, **payload)
357
- }.to raise_error do |err|
358
- expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
359
- expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
360
- end
361
- end
362
-
363
- it 'raises a response error when server response a JSON serialized catalog' do
364
- stub_request(:post, uri)
365
- .to_return(body: {oops: 'bad response data'}.to_json, headers: {'Content-Type' => 'application/json'})
366
-
367
- expect {
368
- subject.post_catalog4(certname, **payload)
369
- }.to raise_error do |err|
370
- expect(err).to be_an_instance_of(Puppet::HTTP::SerializationError)
371
- expect(err.message).to match(/Failed to deserialize catalog from puppetserver response/)
372
- end
373
- end
374
-
375
- it 'raises ArgumentError when the `persistence` hash does not contain required keys' do
376
- payload[:persistence].delete(:facts)
377
- expect { subject.post_catalog4(certname, **payload) }.to raise_error do |err|
378
- expect(err).to be_an_instance_of(ArgumentError)
379
- expect(err.message).to match(/The 'persistence' hash is missing the keys: facts/)
380
- end
381
- end
382
-
383
- it 'raises ArgumentError when `facts` are not a Hash' do
384
- payload[:facts] = Puppet::Node::Facts.new(certname)
385
- expect { subject.post_catalog4(certname, **payload) }.to raise_error do |err|
386
- expect(err).to be_an_instance_of(ArgumentError)
387
- expect(err.message).to match(/Facts must be a Hash not a Puppet::Node::Facts/)
388
- end
389
- end
390
- end
391
-
392
260
  context 'when getting a node' do
393
261
  let(:uri) { %r{/puppet/v3/node/ziggy} }
394
262
  let(:node_response) { { body: formatter.render(node), headers: {'Content-Type' => formatter.mime } } }
@@ -597,67 +465,6 @@ describe Puppet::HTTP::Service::Compiler do
597
465
  end
598
466
  end
599
467
 
600
- context 'when getting status' do
601
- let(:uri) { %r{/puppet/v3/status/ziggy} }
602
- let(:status_response) { { body: formatter.render(status), headers: {'Content-Type' => formatter.mime } } }
603
-
604
- it 'always sends production' do
605
- stub_request(:get, uri)
606
- .with(query: hash_including("environment" => "production"))
607
- .to_return(**status_response)
608
-
609
- subject.get_status(certname)
610
- end
611
-
612
- it 'returns a deserialized status' do
613
- stub_request(:get, uri)
614
- .to_return(**status_response)
615
-
616
- _, s = subject.get_status(certname)
617
- expect(s).to be_a(Puppet::Status)
618
- expect(s.status).to eq("is_alive" => true)
619
- end
620
-
621
- it 'returns the request response' do
622
- stub_request(:get, uri)
623
- .to_return(**status_response)
624
-
625
- resp, _ = subject.get_status(certname)
626
- expect(resp).to be_a(Puppet::HTTP::Response)
627
- end
628
-
629
- it 'raises a response error if unsuccessful' do
630
- stub_request(:get, uri)
631
- .to_return(status: [500, "Server Error"])
632
-
633
- expect {
634
- subject.get_status(certname)
635
- }.to raise_error do |err|
636
- expect(err).to be_an_instance_of(Puppet::HTTP::ResponseError)
637
- expect(err.message).to eq('Server Error')
638
- expect(err.response.code).to eq(500)
639
- end
640
- end
641
-
642
- it 'raises a protocol error if the content-type header is missing' do
643
- stub_request(:get, uri)
644
- .to_return(body: "content-type is missing")
645
-
646
- expect {
647
- subject.get_status(certname)
648
- }.to raise_error(Puppet::HTTP::ProtocolError, /No content type in http response; cannot parse/)
649
- end
650
-
651
- it 'raises a serialization error if the content is invalid' do
652
- stub_request(:get, uri)
653
- .to_return(body: "this isn't valid JSON", headers: {'Content-Type' => 'application/json'})
654
-
655
- expect {
656
- subject.get_status(certname)
657
- }.to raise_error(Puppet::HTTP::SerializationError, /Failed to deserialize Puppet::Status from json/)
658
- end
659
- end
660
-
661
468
  context 'filebucket' do
662
469
  let(:filebucket_file) { Puppet::FileBucket::File.new('file to store') }
663
470
  let(:formatter) { Puppet::Network::FormatHandler.format(:binary) }
@@ -41,7 +41,7 @@ describe Puppet::HTTP::Service::FileServer do
41
41
 
42
42
  context 'retrieving file metadata' do
43
43
  let(:path) { tmpfile('get_file_metadata') }
44
- let(:url) { "https://www.example.com/puppet/v3/file_metadata/:mount/#{path}?checksum_type=md5&environment=testing&links=manage&source_permissions=ignore" }
44
+ let(:url) { "https://www.example.com/puppet/v3/file_metadata/:mount/#{path}?checksum_type=sha256&environment=testing&links=manage&source_permissions=ignore" }
45
45
  let(:filemetadata) { Puppet::FileServing::Metadata.new(path) }
46
46
  let(:request_path) { "/:mount/#{path}"}
47
47
 
@@ -122,7 +122,7 @@ describe Puppet::HTTP::Service::FileServer do
122
122
 
123
123
  context 'retrieving multiple file metadatas' do
124
124
  let(:path) { tmpfile('get_file_metadatas') }
125
- let(:url) { "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=md5&links=manage&recurse=false&source_permissions=ignore&environment=testing" }
125
+ let(:url) { "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=sha256&links=manage&recurse=false&source_permissions=ignore&environment=testing" }
126
126
  let(:filemetadatas) { [Puppet::FileServing::Metadata.new(path)] }
127
127
  let(:formatter) { Puppet::Network::FormatHandler.format(:json) }
128
128
  let(:request_path) { "/:mount/#{path}"}
@@ -158,7 +158,7 @@ describe Puppet::HTTP::Service::FileServer do
158
158
  end
159
159
 
160
160
  it 'automatically converts an array of parameters to the stringified query' do
161
- url = "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=md5&environment=testing&ignore=CVS&ignore=.git&ignore=.hg&links=manage&recurse=false&source_permissions=ignore"
161
+ url = "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=sha256&environment=testing&ignore=CVS&ignore=.git&ignore=.hg&links=manage&recurse=false&source_permissions=ignore"
162
162
  stub_request(:get, url).with(
163
163
  headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
164
164
  ).to_return(
@@ -12,7 +12,7 @@ describe Puppet::HTTP::Service::Puppetserver do
12
12
 
13
13
  context 'when making requests' do
14
14
  it 'includes default HTTP headers' do
15
- stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/master").with do |request|
15
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/server").with do |request|
16
16
  expect(request.headers).to include({'X-Puppet-Version' => /./, 'User-Agent' => /./})
17
17
  expect(request.headers).to_not include('X-Puppet-Profiling')
18
18
  end.to_return(body: "running", headers: {'Content-Type' => 'text/plain;charset=utf-8'})
@@ -23,7 +23,7 @@ describe Puppet::HTTP::Service::Puppetserver do
23
23
  it 'includes extra headers' do
24
24
  Puppet[:http_extra_headers] = 'region:us-west'
25
25
 
26
- stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/master")
26
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/server")
27
27
  .with(headers: {'Region' => 'us-west'})
28
28
  .to_return(body: "running", headers: {'Content-Type' => 'text/plain;charset=utf-8'})
29
29
 
@@ -36,7 +36,7 @@ describe Puppet::HTTP::Service::Puppetserver do
36
36
  Puppet[:server] = 'compiler2.example.com'
37
37
  Puppet[:serverport] = 8141
38
38
 
39
- stub_request(:get, "https://compiler2.example.com:8141/status/v1/simple/master")
39
+ stub_request(:get, "https://compiler2.example.com:8141/status/v1/simple/server")
40
40
  .to_return(body: "running", headers: {'Content-Type' => 'text/plain;charset=utf-8'})
41
41
 
42
42
  subject.get_simple_status
@@ -44,7 +44,7 @@ describe Puppet::HTTP::Service::Puppetserver do
44
44
  end
45
45
 
46
46
  context 'when getting puppetserver status' do
47
- let(:url) { "https://puppetserver.example.com:8140/status/v1/simple/master" }
47
+ let(:url) { "https://puppetserver.example.com:8140/status/v1/simple/server" }
48
48
 
49
49
  it 'returns the request response and status' do
50
50
  stub_request(:get, url)
@@ -79,4 +79,34 @@ describe Puppet::HTTP::Service::Puppetserver do
79
79
  service.get_simple_status(ssl_context: other_ctx)
80
80
  end
81
81
  end
82
+
83
+ context 'when /status/v1/simple/server returns not found' do
84
+ it 'calls /status/v1/simple/master' do
85
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/server")
86
+ .to_return(status: [404, 'not found: server'])
87
+
88
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/master")
89
+ .to_return(body: "running", headers: {'Content-Type' => 'text/plain;charset=utf-8'})
90
+
91
+ resp, status = subject.get_simple_status
92
+ expect(resp).to be_a(Puppet::HTTP::Response)
93
+ expect(status).to eq('running')
94
+ end
95
+
96
+ it 'raises a response error if fallback is unsuccessful' do
97
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/server")
98
+ .to_return(status: [404, 'not found: server'])
99
+
100
+ stub_request(:get, "https://puppetserver.example.com:8140/status/v1/simple/master")
101
+ .to_return(status: [404, 'not found: master'])
102
+
103
+ expect {
104
+ subject.get_simple_status
105
+ }.to raise_error do |err|
106
+ expect(err).to be_an_instance_of(Puppet::HTTP::ResponseError)
107
+ expect(err.message).to eq('not found: master')
108
+ expect(err.response.code).to eq(404)
109
+ end
110
+ end
111
+ end
82
112
  end
@@ -126,7 +126,6 @@ describe Puppet::HTTP::Service do
126
126
  Puppet::Node::Facts,
127
127
  Puppet::Transaction::Report,
128
128
  Puppet::FileServing::Metadata,
129
- Puppet::Status
130
129
  ].each do |model|
131
130
  expect(service.mime_types(model)).to eq(mimes)
132
131
  end
@@ -127,7 +127,7 @@ describe Puppet::HTTP::Session do
127
127
  Puppet[:server_list] = 'foo.example.com,bar.example.com,baz.example.com'
128
128
  Puppet[:ca_server] = 'caserver.example.com'
129
129
 
130
- allow_any_instance_of(Puppet::Network::Resolver).to receive(:each_srv_record).and_yield('mars.example.srv', 8140)
130
+ allow_any_instance_of(Puppet::HTTP::DNS).to receive(:each_srv_record).and_yield('mars.example.srv', 8140)
131
131
  service = session.route_to(:ca)
132
132
 
133
133
  expect(service.url).to eq(URI("https://mars.example.srv:8140/puppet-ca/v1"))
@@ -147,9 +147,9 @@ describe Puppet::HTTP::Session do
147
147
  Puppet[:use_srv_records] = true
148
148
  Puppet[:server_list] = 'foo.example.com,bar.example.com,baz.example.com'
149
149
 
150
- allow_any_instance_of(Puppet::Network::Resolver).to receive(:each_srv_record)
151
- stub_request(:get, "https://foo.example.com:8140/status/v1/simple/master").to_return(status: 500)
152
- stub_request(:get, "https://bar.example.com:8140/status/v1/simple/master").to_return(status: 200)
150
+ allow_any_instance_of(Puppet::HTTP::DNS).to receive(:each_srv_record)
151
+ stub_request(:get, "https://foo.example.com:8140/status/v1/simple/server").to_return(status: 500)
152
+ stub_request(:get, "https://bar.example.com:8140/status/v1/simple/server").to_return(status: 200)
153
153
 
154
154
  service = session.route_to(:ca)
155
155
 
@@ -160,7 +160,7 @@ describe Puppet::HTTP::Session do
160
160
  Puppet[:server_list] = 'foo.example.com'
161
161
 
162
162
  expect_any_instance_of(Puppet::HTTP::Resolver::Settings).to receive(:resolve).never
163
- stub_request(:get, "https://foo.example.com:8140/status/v1/simple/master").to_return(status: 500)
163
+ stub_request(:get, "https://foo.example.com:8140/status/v1/simple/server").to_return(status: 500)
164
164
 
165
165
  expect {
166
166
  session.route_to(:ca)
@@ -179,7 +179,7 @@ describe Puppet::HTTP::Session do
179
179
  Puppet::HTTP::Service::SERVICE_NAMES.each do |name|
180
180
  it "resolves #{name} using server_list" do
181
181
  Puppet[:server_list] = 'apple.example.com'
182
- req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/master").to_return(status: 200)
182
+ req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/server").to_return(status: 200)
183
183
 
184
184
  session.route_to(name)
185
185
 
@@ -201,7 +201,7 @@ describe Puppet::HTTP::Session do
201
201
 
202
202
  it 'resolves once for all services in a session' do
203
203
  Puppet[:server_list] = 'apple.example.com'
204
- req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/master").to_return(status: 200)
204
+ req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/server").to_return(status: 200)
205
205
 
206
206
  Puppet::HTTP::Service::SERVICE_NAMES.each do |name|
207
207
  session.route_to(name)
@@ -212,7 +212,7 @@ describe Puppet::HTTP::Session do
212
212
 
213
213
  it 'resolves server_list for each new session' do
214
214
  Puppet[:server_list] = 'apple.example.com'
215
- req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/master").to_return(status: 200)
215
+ req = stub_request(:get, "https://apple.example.com:8140/status/v1/simple/server").to_return(status: 200)
216
216
 
217
217
  client.create_session.route_to(:puppet)
218
218
  client.create_session.route_to(:puppet)
@@ -222,6 +222,8 @@ describe Puppet::HTTP::Session do
222
222
  end
223
223
 
224
224
  context 'when retrieving capabilities' do
225
+ let(:response) { Puppet::HTTP::Response.new(uri, 200, 'OK') }
226
+
225
227
  let(:session) do
226
228
  resolver = DummyResolver.new(good_service)
227
229
  described_class.new(client, [resolver])
@@ -242,7 +244,7 @@ describe Puppet::HTTP::Session do
242
244
  end
243
245
 
244
246
  it "supports locales if the cached service's version is 5.3.4 or greater" do
245
- response = Puppet::HTTP::Response.new({'X-Puppet-Version' => '5.3.4'}, uri)
247
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return('5.3.4')
246
248
 
247
249
  session.route_to(:puppet)
248
250
  session.process_response(response)
@@ -251,7 +253,7 @@ describe Puppet::HTTP::Session do
251
253
  end
252
254
 
253
255
  it "does not support locales if the cached service's version is 5.3.3" do
254
- response = Puppet::HTTP::Response.new({'X-Puppet-Version' => '5.3.3'}, uri)
256
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return('5.3.3')
255
257
 
256
258
  session.route_to(:puppet)
257
259
  session.process_response(response)
@@ -260,7 +262,7 @@ describe Puppet::HTTP::Session do
260
262
  end
261
263
 
262
264
  it "does not support locales if the cached service's version is missing" do
263
- response = Puppet::HTTP::Response.new({}, uri)
265
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return(nil)
264
266
 
265
267
  session.route_to(:puppet)
266
268
  session.process_response(response)
@@ -277,7 +279,7 @@ describe Puppet::HTTP::Session do
277
279
  end
278
280
 
279
281
  it "supports json if the cached service's version is 5 or greater" do
280
- response = Puppet::HTTP::Response.new({'X-Puppet-Version' => '5.5.12'}, uri)
282
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return('5.5.12')
281
283
 
282
284
  session.route_to(:puppet)
283
285
  session.process_response(response)
@@ -286,7 +288,7 @@ describe Puppet::HTTP::Session do
286
288
  end
287
289
 
288
290
  it "does not support json if the cached service's version is less than 5.0" do
289
- response = Puppet::HTTP::Response.new({'X-Puppet-Version' => '4.10.1'}, uri)
291
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return('4.10.1')
290
292
 
291
293
  session.route_to(:puppet)
292
294
  session.process_response(response)
@@ -295,7 +297,7 @@ describe Puppet::HTTP::Session do
295
297
  end
296
298
 
297
299
  it "supports json if the cached service's version is missing" do
298
- response = Puppet::HTTP::Response.new({}, uri)
300
+ allow(response).to receive(:[]).with('X-Puppet-Version').and_return(nil)
299
301
 
300
302
  session.route_to(:puppet)
301
303
  session.process_response(response)
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
- require 'puppet/network/http'
3
+ require 'puppet/http'
4
4
 
5
- describe Puppet::Network::HTTP::Site do
5
+ describe Puppet::HTTP::Site do
6
6
  let(:scheme) { 'https' }
7
7
  let(:host) { 'rubygems.org' }
8
8
  let(:port) { 443 }
9
9
 
10
10
  def create_site(scheme, host, port)
11
- Puppet::Network::HTTP::Site.new(scheme, host, port)
11
+ described_class.new(scheme, host, port)
12
12
  end
13
13
 
14
14
  it 'accepts scheme, host, and port' do
@@ -11,9 +11,6 @@ def set_facts(fact_hash)
11
11
  end
12
12
 
13
13
  describe Puppet::Resource::Catalog::Compiler do
14
- include Matchers::Resource
15
- include PuppetSpec::Files
16
-
17
14
  let(:compiler) { described_class.new }
18
15
  let(:node_name) { "foo" }
19
16
  let(:node) { Puppet::Node.new(node_name)}
@@ -239,46 +236,6 @@ describe Puppet::Resource::Catalog::Compiler do
239
236
  expect { compiler.find(@request) }.to raise_error Puppet::Error,
240
237
  "Unable to find a common checksum type between agent '' and master '[:sha256, :sha256lite, :md5, :md5lite, :sha1, :sha1lite, :sha512, :sha384, :sha224, :mtime, :ctime, :none]'."
241
238
  end
242
-
243
- it "prevents the environment from being evicted during compilation" do
244
- Puppet[:environment_timeout] = 0
245
-
246
- envs = Puppet.lookup(:environments)
247
-
248
- expect(compiler).to receive(:compile) do
249
- # we should get the same object
250
- expect(envs.get!(:production)).to equal(envs.get!(:production))
251
- end
252
-
253
- compiler.find(@request)
254
- end
255
-
256
- context 'when checking agent and server specified environments' do
257
- before :each do
258
- FileUtils.mkdir_p(File.join(Puppet[:environmentpath], 'env_server'))
259
- FileUtils.mkdir_p(File.join(Puppet[:environmentpath], 'env_agent'))
260
-
261
- node.environment = 'env_server'
262
- allow(Puppet::Node.indirection).to receive(:find).and_return(node)
263
-
264
- @request.environment = 'env_agent'
265
- end
266
-
267
- it 'ignores mismatched environments by default' do
268
- catalog = compiler.find(@request)
269
-
270
- expect(catalog.environment).to eq('env_server')
271
- expect(catalog).to have_resource('Stage[main]')
272
- end
273
-
274
- it 'returns an empty catalog if asked to check the environment and they are mismatched' do
275
- @request.options[:check_environment] = "true"
276
- catalog = compiler.find(@request)
277
-
278
- expect(catalog.environment).to eq('env_server')
279
- expect(catalog.resources).to be_empty
280
- end
281
- end
282
239
  end
283
240
 
284
241
  describe "when handling a request with facts" do
@@ -607,50 +564,6 @@ describe Puppet::Resource::Catalog::Compiler do
607
564
  metadata
608
565
  end
609
566
 
610
- describe "and the environment is a symlink and versioned_environment_dirs is true" do
611
-
612
- let(:tmpdir) { Dir.mktmpdir }
613
-
614
- before(:each) do
615
- Puppet[:versioned_environment_dirs] = true
616
- prod_path = File.join(Puppet[:environmentpath], 'production')
617
- FileUtils.rm_rf(prod_path)
618
- FileUtils.symlink(tmpdir, prod_path)
619
- end
620
-
621
- it "inlines metadata for a file" do
622
- catalog = compile_to_catalog(<<-MANIFEST, node)
623
- file { '#{path}':
624
- ensure => file,
625
- source => '#{source}'
626
- }
627
- MANIFEST
628
-
629
- module_relative_path = 'modules/mymodule/files/config_file.txt'
630
- metadata = stubs_file_metadata(checksum_type,
631
- checksum_value,
632
- module_relative_path,
633
- File.join(tmpdir, module_relative_path) )
634
- expect(metadata).to receive(:source=).with(source)
635
- expect(metadata).to receive(:content_uri=).with("puppet:///#{module_relative_path}")
636
-
637
- options = {
638
- :environment => catalog.environment_instance,
639
- :links => :manage,
640
- :checksum_type => checksum_type.to_sym,
641
- :source_permissions => :ignore
642
- }
643
- expect(Puppet::FileServing::Metadata.indirection).to receive(:find).with(source, options).and_return(metadata)
644
-
645
- compiler.send(:inline_metadata, catalog, checksum_type)
646
-
647
-
648
- expect(catalog.metadata[path]).to eq(metadata)
649
- expect(catalog.recursive_metadata).to be_empty
650
-
651
- end
652
- end
653
-
654
567
  it "inlines metadata for a file" do
655
568
  catalog = compile_to_catalog(<<-MANIFEST, node)
656
569
  file { '#{path}':
@@ -996,10 +909,9 @@ describe Puppet::Resource::Catalog::Compiler do
996
909
  it "inlines child metadata" do
997
910
  catalog = compile_to_catalog(<<-MANIFEST, node)
998
911
  file { '#{path}':
999
- ensure => directory,
1000
- recurse => true,
1001
- source => '#{source_dir}',
1002
- max_files => 1234,
912
+ ensure => directory,
913
+ recurse => true,
914
+ source => '#{source_dir}'
1003
915
  }
1004
916
  MANIFEST
1005
917
 
@@ -1013,7 +925,6 @@ describe Puppet::Resource::Catalog::Compiler do
1013
925
  :source_permissions => :ignore,
1014
926
  :recurse => true,
1015
927
  :recurselimit => nil,
1016
- :max_files => 1234,
1017
928
  :ignore => nil,
1018
929
  }
1019
930
  expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, options).and_return([metadata, child_metadata])
@@ -1027,15 +938,14 @@ describe Puppet::Resource::Catalog::Compiler do
1027
938
  it "uses resource parameters when inlining metadata" do
1028
939
  catalog = compile_to_catalog(<<-MANIFEST, node)
1029
940
  file { '#{path}':
1030
- ensure => directory,
1031
- recurse => true,
1032
- source => '#{source_dir}',
1033
- checksum => sha256,
941
+ ensure => directory,
942
+ recurse => true,
943
+ source => '#{source_dir}',
944
+ checksum => sha256,
1034
945
  source_permissions => use_when_creating,
1035
- recurselimit => 2,
1036
- max_files => 4321,
1037
- ignore => 'foo.+',
1038
- links => follow,
946
+ recurselimit => 2,
947
+ ignore => 'foo.+',
948
+ links => follow,
1039
949
  }
1040
950
  MANIFEST
1041
951
 
@@ -1046,7 +956,6 @@ describe Puppet::Resource::Catalog::Compiler do
1046
956
  :source_permissions => :use_when_creating,
1047
957
  :recurse => true,
1048
958
  :recurselimit => 2,
1049
- :max_files => 4321,
1050
959
  :ignore => 'foo.+',
1051
960
  }
1052
961
  expect(Puppet::FileServing::Metadata.indirection).to receive(:search).with(source_dir, options).and_return([metadata, child_metadata])
@@ -33,14 +33,6 @@ describe Puppet::Resource::Catalog::Rest do
33
33
  described_class.indirection.find(certname, environment: Puppet::Node::Environment.remote('outerspace'))
34
34
  end
35
35
 
36
- it "passes 'check_environment'" do
37
- stub_request(:post, uri)
38
- .with(body: hash_including('check_environment' => 'true'))
39
- .to_return(**catalog_response(catalog))
40
-
41
- described_class.indirection.find(certname, check_environment: true)
42
- end
43
-
44
36
  it 'constructs a catalog environment_instance' do
45
37
  env = Puppet::Node::Environment.remote('outerspace')
46
38
  catalog = Puppet::Resource::Catalog.new(certname, env)
@@ -33,6 +33,7 @@ describe Puppet::Indirector::Face do
33
33
  describe "as an instance" do
34
34
  it "should be able to determine its indirection" do
35
35
  # Loading actions here can get, um, complicated
36
+ allow(Puppet::Face).to receive(:load_actions)
36
37
  expect(Puppet::Indirector::Face.new(:catalog, '0.0.1').indirection).to equal(Puppet::Resource::Catalog.indirection)
37
38
  end
38
39
  end
@@ -22,6 +22,7 @@ describe Puppet::Node::Facts::Facter do
22
22
  end
23
23
 
24
24
  before :each do
25
+ allow(Puppet::Node::Facts::Facter).to receive(:reload_facter)
25
26
  @facter = Puppet::Node::Facts::Facter.new
26
27
  allow(Facter).to receive(:to_hash).and_return({})
27
28
  @name = "me"
@@ -159,6 +160,8 @@ describe Puppet::Node::Facts::Facter do
159
160
  before :each do
160
161
  allow(@request).to receive(:options).and_return(options)
161
162
  allow(Puppet::Node::Facts).to receive(:new).and_return(facts)
163
+ allow(Facter).to receive(:respond_to?).and_return(false)
164
+ allow(Facter).to receive(:respond_to?).with(:resolve).and_return(true)
162
165
  allow(facts).to receive(:add_local_facts)
163
166
  end
164
167