puppet 6.25.1 → 7.0.0

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 (784) 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 +86 -189
  116. data/lib/puppet/confine/variable.rb +1 -1
  117. data/lib/puppet/defaults.rb +128 -232
  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 +165 -115
  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 -17
  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 +1 -70
  230. data/lib/puppet/parser/scope.rb +0 -1
  231. data/lib/puppet/parser/templatewrapper.rb +1 -2
  232. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  233. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  234. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  235. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  236. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  237. data/lib/puppet/pops/issues.rb +0 -5
  238. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  240. data/lib/puppet/pops/model/ast.pp +0 -42
  241. data/lib/puppet/pops/model/ast.rb +0 -291
  242. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  243. data/lib/puppet/pops/model/factory.rb +1 -47
  244. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  245. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  246. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  247. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  248. data/lib/puppet/pops/parser/eparser.rb +1691 -1883
  249. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  250. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  251. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  252. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  253. data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
  254. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  255. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  256. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  257. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  258. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  259. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  260. data/lib/puppet/pops/types/type_parser.rb +0 -4
  261. data/lib/puppet/pops/types/types.rb +1 -2
  262. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  263. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  264. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  265. data/lib/puppet/property/list.rb +1 -1
  266. data/lib/puppet/provider/aix_object.rb +1 -1
  267. data/lib/puppet/provider/exec/posix.rb +4 -16
  268. data/lib/puppet/provider/group/groupadd.rb +10 -18
  269. data/lib/puppet/provider/nameservice.rb +0 -18
  270. data/lib/puppet/provider/package/apt.rb +2 -34
  271. data/lib/puppet/provider/package/aptitude.rb +0 -6
  272. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  273. data/lib/puppet/provider/package/dpkg.rb +0 -10
  274. data/lib/puppet/provider/package/gem.rb +23 -3
  275. data/lib/puppet/provider/package/nim.rb +6 -11
  276. data/lib/puppet/provider/package/pip.rb +3 -16
  277. data/lib/puppet/provider/package/pkg.rb +2 -23
  278. data/lib/puppet/provider/package/portage.rb +1 -1
  279. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  280. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  281. data/lib/puppet/provider/package/yum.rb +1 -1
  282. data/lib/puppet/provider/parsedfile.rb +0 -3
  283. data/lib/puppet/provider/service/base.rb +1 -1
  284. data/lib/puppet/provider/service/debian.rb +0 -2
  285. data/lib/puppet/provider/service/init.rb +5 -5
  286. data/lib/puppet/provider/service/launchd.rb +2 -2
  287. data/lib/puppet/provider/service/redhat.rb +1 -1
  288. data/lib/puppet/provider/service/smf.rb +194 -76
  289. data/lib/puppet/provider/service/systemd.rb +6 -16
  290. data/lib/puppet/provider/service/upstart.rb +5 -5
  291. data/lib/puppet/provider/service/windows.rb +0 -38
  292. data/lib/puppet/provider/user/aix.rb +3 -46
  293. data/lib/puppet/provider/user/directoryservice.rb +11 -34
  294. data/lib/puppet/provider/user/useradd.rb +24 -134
  295. data/lib/puppet/provider.rb +1 -14
  296. data/lib/puppet/reference/configuration.rb +8 -7
  297. data/lib/puppet/reference/indirection.rb +1 -1
  298. data/lib/puppet/reference/providers.rb +2 -2
  299. data/lib/puppet/resource/catalog.rb +2 -15
  300. data/lib/puppet/resource/type.rb +3 -119
  301. data/lib/puppet/resource/type_collection.rb +3 -49
  302. data/lib/puppet/resource.rb +6 -127
  303. data/lib/puppet/runtime.rb +2 -13
  304. data/lib/puppet/settings/environment_conf.rb +0 -1
  305. data/lib/puppet/settings/integer_setting.rb +17 -0
  306. data/lib/puppet/settings/port_setting.rb +15 -0
  307. data/lib/puppet/settings/priority_setting.rb +5 -4
  308. data/lib/puppet/settings.rb +82 -98
  309. data/lib/puppet/ssl/base.rb +3 -5
  310. data/lib/puppet/ssl/certificate.rb +0 -6
  311. data/lib/puppet/ssl/certificate_request.rb +1 -12
  312. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  313. data/lib/puppet/ssl/oids.rb +3 -1
  314. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  315. data/lib/puppet/ssl/state_machine.rb +3 -1
  316. data/lib/puppet/ssl/verifier.rb +2 -0
  317. data/lib/puppet/ssl.rb +10 -6
  318. data/lib/puppet/test/test_helper.rb +2 -7
  319. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  320. data/lib/puppet/transaction/persistence.rb +1 -11
  321. data/lib/puppet/transaction/report.rb +3 -19
  322. data/lib/puppet/transaction.rb +1 -7
  323. data/lib/puppet/type/exec.rb +5 -35
  324. data/lib/puppet/type/file/checksum.rb +1 -1
  325. data/lib/puppet/type/file/mode.rb +0 -6
  326. data/lib/puppet/type/file/selcontext.rb +1 -1
  327. data/lib/puppet/type/file/source.rb +1 -1
  328. data/lib/puppet/type/file.rb +12 -32
  329. data/lib/puppet/type/filebucket.rb +4 -4
  330. data/lib/puppet/type/group.rb +1 -0
  331. data/lib/puppet/type/package.rb +8 -16
  332. data/lib/puppet/type/resources.rb +1 -1
  333. data/lib/puppet/type/service.rb +41 -26
  334. data/lib/puppet/type/tidy.rb +3 -22
  335. data/lib/puppet/type/user.rb +21 -38
  336. data/lib/puppet/type.rb +1 -77
  337. data/lib/puppet/util/autoload.rb +8 -1
  338. data/lib/puppet/util/command_line.rb +1 -1
  339. data/lib/puppet/util/execution.rb +0 -11
  340. data/lib/puppet/util/filetype.rb +2 -2
  341. data/lib/puppet/util/http_proxy.rb +2 -215
  342. data/lib/puppet/util/json.rb +0 -3
  343. data/lib/puppet/util/log.rb +2 -1
  344. data/lib/puppet/util/logging.rb +25 -1
  345. data/lib/puppet/util/monkey_patches.rb +0 -53
  346. data/lib/puppet/util/pidlock.rb +1 -1
  347. data/lib/puppet/util/posix.rb +5 -54
  348. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  349. data/lib/puppet/util/rdoc.rb +0 -7
  350. data/lib/puppet/util/retry_action.rb +1 -1
  351. data/lib/puppet/util/run_mode.rb +9 -1
  352. data/lib/puppet/util/selinux.rb +4 -30
  353. data/lib/puppet/util/suidmanager.rb +2 -1
  354. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  355. data/lib/puppet/util/tagging.rb +0 -1
  356. data/lib/puppet/util/windows/adsi.rb +0 -46
  357. data/lib/puppet/util/windows/daemon.rb +360 -0
  358. data/lib/puppet/util/windows/error.rb +1 -0
  359. data/lib/puppet/util/windows/eventlog.rb +4 -9
  360. data/lib/puppet/util/windows/file.rb +8 -242
  361. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  362. data/lib/puppet/util/windows/principal.rb +2 -9
  363. data/lib/puppet/util/windows/process.rb +4 -226
  364. data/lib/puppet/util/windows/service.rb +11 -457
  365. data/lib/puppet/util/windows/sid.rb +2 -6
  366. data/lib/puppet/util/windows/string.rb +12 -13
  367. data/lib/puppet/util/windows/user.rb +2 -0
  368. data/lib/puppet/util/windows.rb +3 -11
  369. data/lib/puppet/util/yaml.rb +0 -22
  370. data/lib/puppet/util.rb +3 -4
  371. data/lib/puppet/vendor/require_vendored.rb +0 -1
  372. data/lib/puppet/version.rb +1 -1
  373. data/lib/puppet/x509/cert_provider.rb +29 -1
  374. data/lib/puppet/x509.rb +5 -1
  375. data/lib/puppet.rb +20 -25
  376. data/locales/puppet.pot +816 -1637
  377. data/man/man5/puppet.conf.5 +286 -382
  378. data/man/man8/puppet-agent.8 +2 -5
  379. data/man/man8/puppet-apply.8 +2 -2
  380. data/man/man8/puppet-catalog.8 +9 -9
  381. data/man/man8/puppet-config.8 +1 -1
  382. data/man/man8/puppet-describe.8 +1 -1
  383. data/man/man8/puppet-device.8 +2 -2
  384. data/man/man8/puppet-doc.8 +1 -1
  385. data/man/man8/puppet-epp.8 +1 -1
  386. data/man/man8/puppet-facts.8 +8 -51
  387. data/man/man8/puppet-filebucket.8 +4 -4
  388. data/man/man8/puppet-generate.8 +1 -1
  389. data/man/man8/puppet-help.8 +1 -1
  390. data/man/man8/puppet-lookup.8 +1 -1
  391. data/man/man8/puppet-module.8 +3 -60
  392. data/man/man8/puppet-node.8 +5 -5
  393. data/man/man8/puppet-parser.8 +1 -1
  394. data/man/man8/puppet-plugin.8 +1 -1
  395. data/man/man8/puppet-report.8 +5 -5
  396. data/man/man8/puppet-resource.8 +1 -1
  397. data/man/man8/puppet-script.8 +2 -2
  398. data/man/man8/puppet-ssl.8 +1 -5
  399. data/man/man8/puppet.8 +2 -2
  400. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  401. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  402. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  403. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  404. data/spec/fixtures/ssl/ca.pem +35 -57
  405. data/spec/fixtures/ssl/crl.pem +18 -28
  406. data/spec/fixtures/ssl/ec-key.pem +11 -11
  407. data/spec/fixtures/ssl/ec.pem +24 -33
  408. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  409. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  410. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  411. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  412. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  413. data/spec/fixtures/ssl/intermediate.pem +36 -57
  414. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  415. data/spec/fixtures/ssl/pluto.pem +30 -52
  416. data/spec/fixtures/ssl/request-key.pem +57 -107
  417. data/spec/fixtures/ssl/request.pem +26 -47
  418. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  419. data/spec/fixtures/ssl/revoked.pem +30 -52
  420. data/spec/fixtures/ssl/signed-key.pem +57 -107
  421. data/spec/fixtures/ssl/signed.pem +30 -52
  422. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  423. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  424. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  425. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  426. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  427. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  428. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  429. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  430. data/spec/integration/application/agent_spec.rb +51 -299
  431. data/spec/integration/application/apply_spec.rb +1 -20
  432. data/spec/integration/application/filebucket_spec.rb +16 -32
  433. data/spec/integration/application/help_spec.rb +2 -0
  434. data/spec/integration/application/module_spec.rb +0 -21
  435. data/spec/integration/application/plugin_spec.rb +24 -2
  436. data/spec/integration/configurer_spec.rb +2 -18
  437. data/spec/integration/defaults_spec.rb +14 -3
  438. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  439. data/spec/integration/http/client_spec.rb +0 -12
  440. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  441. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  442. data/spec/integration/network/http_pool_spec.rb +3 -21
  443. data/spec/integration/parser/catalog_spec.rb +0 -38
  444. data/spec/integration/parser/node_spec.rb +0 -9
  445. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  446. data/spec/integration/resource/type_collection_spec.rb +6 -2
  447. data/spec/integration/transaction/report_spec.rb +1 -1
  448. data/spec/integration/transaction_spec.rb +9 -4
  449. data/spec/integration/type/exec_spec.rb +45 -70
  450. data/spec/integration/type/file_spec.rb +7 -6
  451. data/spec/integration/type/package_spec.rb +6 -6
  452. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  453. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  454. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  455. data/spec/integration/util/windows/principal_spec.rb +0 -21
  456. data/spec/integration/util/windows/process_spec.rb +9 -1
  457. data/spec/integration/util/windows/registry_spec.rb +10 -6
  458. data/spec/integration/util/windows/security_spec.rb +1 -1
  459. data/spec/lib/matchers/include.rb +27 -0
  460. data/spec/lib/matchers/include_spec.rb +32 -0
  461. data/spec/lib/puppet/test_ca.rb +2 -7
  462. data/spec/lib/puppet_spec/modules.rb +2 -13
  463. data/spec/lib/puppet_spec/puppetserver.rb +1 -16
  464. data/spec/lib/puppet_spec/settings.rb +1 -1
  465. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  466. data/spec/spec_helper.rb +17 -13
  467. data/spec/unit/agent_spec.rb +6 -10
  468. data/spec/unit/application/agent_spec.rb +3 -7
  469. data/spec/unit/application/apply_spec.rb +56 -76
  470. data/spec/unit/application/facts_spec.rb +12 -456
  471. data/spec/unit/application/filebucket_spec.rb +43 -39
  472. data/spec/unit/application/resource_spec.rb +0 -29
  473. data/spec/unit/application/ssl_spec.rb +2 -25
  474. data/spec/unit/application_spec.rb +9 -51
  475. data/spec/unit/certificate_factory_spec.rb +1 -1
  476. data/spec/unit/configurer/downloader_spec.rb +6 -8
  477. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  478. data/spec/unit/configurer_spec.rb +68 -264
  479. data/spec/unit/confine/feature_spec.rb +1 -1
  480. data/spec/unit/confine_spec.rb +2 -8
  481. data/spec/unit/context/trusted_information_spec.rb +2 -6
  482. data/spec/unit/defaults_spec.rb +68 -55
  483. data/spec/unit/environments_spec.rb +68 -408
  484. data/spec/unit/face/node_spec.rb +11 -0
  485. data/spec/unit/face/plugin_spec.rb +73 -33
  486. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  487. data/spec/unit/file_bucket/file_spec.rb +1 -1
  488. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  489. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  490. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  491. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  492. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  493. data/spec/unit/file_system_spec.rb +0 -22
  494. data/spec/unit/forge/module_release_spec.rb +7 -2
  495. data/spec/unit/functions/assert_type_spec.rb +1 -1
  496. data/spec/unit/functions/camelcase_spec.rb +1 -1
  497. data/spec/unit/functions/capitalize_spec.rb +1 -1
  498. data/spec/unit/functions/downcase_spec.rb +1 -1
  499. data/spec/unit/functions/empty_spec.rb +0 -10
  500. data/spec/unit/functions/logging_spec.rb +0 -1
  501. data/spec/unit/functions/lookup_spec.rb +0 -64
  502. data/spec/unit/functions/unwrap_spec.rb +0 -8
  503. data/spec/unit/functions/upcase_spec.rb +1 -1
  504. data/spec/unit/functions4_spec.rb +2 -2
  505. data/spec/unit/gettext/config_spec.rb +0 -12
  506. data/spec/unit/http/client_spec.rb +8 -66
  507. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  508. data/spec/unit/http/external_client_spec.rb +4 -4
  509. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  510. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  511. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  512. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  513. data/spec/unit/http/resolver_spec.rb +13 -13
  514. data/spec/unit/http/service/compiler_spec.rb +0 -193
  515. data/spec/unit/http/service/file_server_spec.rb +3 -3
  516. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  517. data/spec/unit/http/service_spec.rb +0 -1
  518. data/spec/unit/http/session_spec.rb +16 -14
  519. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  520. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  521. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  522. data/spec/unit/indirector/face_spec.rb +1 -0
  523. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  524. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  525. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  526. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  527. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  528. data/spec/unit/indirector/file_server_spec.rb +1 -15
  529. data/spec/unit/indirector/indirection_spec.rb +15 -18
  530. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  531. data/spec/unit/indirector/request_spec.rb +0 -264
  532. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  533. data/spec/unit/indirector/rest_spec.rb +98 -752
  534. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  535. data/spec/unit/indirector_spec.rb +2 -2
  536. data/spec/unit/interface/action_spec.rb +9 -0
  537. data/spec/unit/module_spec.rb +1 -15
  538. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  539. data/spec/unit/network/authconfig_spec.rb +2 -129
  540. data/spec/unit/network/authorization_spec.rb +2 -55
  541. data/spec/unit/network/formats_spec.rb +4 -51
  542. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  543. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  544. data/spec/unit/network/http/api_spec.rb +10 -0
  545. data/spec/unit/network/http/connection_spec.rb +19 -41
  546. data/spec/unit/network/http/handler_spec.rb +0 -1
  547. data/spec/unit/network/http_pool_spec.rb +0 -4
  548. data/spec/unit/node/environment_spec.rb +33 -21
  549. data/spec/unit/node_spec.rb +2 -54
  550. data/spec/unit/parser/compiler_spec.rb +19 -3
  551. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  552. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  553. data/spec/unit/parser/resource_spec.rb +8 -14
  554. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  555. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  556. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  557. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  558. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  559. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  560. data/spec/unit/pops/parser/parse_containers_spec.rb +11 -0
  561. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  562. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  563. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -59
  564. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  565. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  566. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  567. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  568. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  569. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  570. data/spec/unit/pops/visitor_spec.rb +1 -1
  571. data/spec/unit/property_spec.rb +0 -1
  572. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  573. data/spec/unit/provider/nameservice_spec.rb +64 -122
  574. data/spec/unit/provider/package/apt_spec.rb +23 -28
  575. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  576. data/spec/unit/provider/package/base_spec.rb +5 -6
  577. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  578. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  579. data/spec/unit/provider/package/gem_spec.rb +33 -1
  580. data/spec/unit/provider/package/nim_spec.rb +0 -42
  581. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  582. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  583. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  584. data/spec/unit/provider/package/pip_spec.rb +12 -44
  585. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  586. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  587. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  588. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  589. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  590. data/spec/unit/provider/service/init_spec.rb +0 -1
  591. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  592. data/spec/unit/provider/service/openwrt_spec.rb +1 -3
  593. data/spec/unit/provider/service/smf_spec.rb +401 -165
  594. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  595. data/spec/unit/provider/service/windows_spec.rb +0 -203
  596. data/spec/unit/provider/user/aix_spec.rb +0 -105
  597. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  598. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  599. data/spec/unit/provider/user/pw_spec.rb +0 -2
  600. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  601. data/spec/unit/provider_spec.rb +12 -22
  602. data/spec/unit/puppet_spec.rb +4 -12
  603. data/spec/unit/resource/catalog_spec.rb +2 -15
  604. data/spec/unit/resource/type_collection_spec.rb +2 -22
  605. data/spec/unit/resource/type_spec.rb +1 -1
  606. data/spec/unit/resource_spec.rb +12 -125
  607. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  608. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  609. data/spec/unit/settings/port_setting_spec.rb +31 -0
  610. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  611. data/spec/unit/settings_spec.rb +79 -110
  612. data/spec/unit/ssl/base_spec.rb +37 -3
  613. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  614. data/spec/unit/ssl/certificate_spec.rb +2 -11
  615. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  616. data/spec/unit/ssl/state_machine_spec.rb +5 -20
  617. data/spec/unit/ssl/verifier_spec.rb +0 -21
  618. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  619. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  620. data/spec/unit/transaction/report_spec.rb +0 -2
  621. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  622. data/spec/unit/transaction_spec.rb +55 -96
  623. data/spec/unit/type/exec_spec.rb +29 -76
  624. data/spec/unit/type/file/checksum_spec.rb +6 -6
  625. data/spec/unit/type/file/content_spec.rb +2 -1
  626. data/spec/unit/type/file/ensure_spec.rb +1 -1
  627. data/spec/unit/type/file/mode_spec.rb +1 -1
  628. data/spec/unit/type/file/selinux_spec.rb +5 -3
  629. data/spec/unit/type/file/source_spec.rb +4 -5
  630. data/spec/unit/type/file_spec.rb +18 -6
  631. data/spec/unit/type/group_spec.rb +6 -13
  632. data/spec/unit/type/package_spec.rb +1 -1
  633. data/spec/unit/type/resources_spec.rb +7 -7
  634. data/spec/unit/type/service_spec.rb +189 -87
  635. data/spec/unit/type/tidy_spec.rb +8 -24
  636. data/spec/unit/type/user_spec.rb +0 -45
  637. data/spec/unit/type_spec.rb +24 -4
  638. data/spec/unit/util/at_fork_spec.rb +2 -2
  639. data/spec/unit/util/autoload_spec.rb +1 -5
  640. data/spec/unit/util/backups_spec.rb +2 -3
  641. data/spec/unit/util/execution_spec.rb +11 -44
  642. data/spec/unit/util/inifile_spec.rb +14 -6
  643. data/spec/unit/util/log_spec.rb +7 -8
  644. data/spec/unit/util/logging_spec.rb +3 -5
  645. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  646. data/spec/unit/util/posix_spec.rb +15 -363
  647. data/spec/unit/util/run_mode_spec.rb +21 -121
  648. data/spec/unit/util/selinux_spec.rb +68 -163
  649. data/spec/unit/util/storage_spec.rb +1 -3
  650. data/spec/unit/util/suidmanager_spec.rb +41 -44
  651. data/spec/unit/util/windows/sid_spec.rb +0 -41
  652. data/spec/unit/util/windows/string_spec.rb +1 -3
  653. data/spec/unit/util/yaml_spec.rb +0 -54
  654. data/spec/unit/util_spec.rb +6 -31
  655. data/tasks/generate_cert_fixtures.rake +3 -12
  656. data/tasks/parallel.rake +3 -3
  657. metadata +137 -226
  658. data/conf/auth.conf +0 -150
  659. data/ext/README.md +0 -13
  660. data/lib/puppet/application/cert.rb +0 -76
  661. data/lib/puppet/application/key.rb +0 -4
  662. data/lib/puppet/application/man.rb +0 -4
  663. data/lib/puppet/application/status.rb +0 -4
  664. data/lib/puppet/face/key.rb +0 -16
  665. data/lib/puppet/face/man.rb +0 -145
  666. data/lib/puppet/face/module/build.rb +0 -14
  667. data/lib/puppet/face/module/generate.rb +0 -14
  668. data/lib/puppet/face/module/search.rb +0 -103
  669. data/lib/puppet/face/status.rb +0 -51
  670. data/lib/puppet/facter_impl.rb +0 -96
  671. data/lib/puppet/ffi/posix/constants.rb +0 -14
  672. data/lib/puppet/ffi/posix/functions.rb +0 -24
  673. data/lib/puppet/ffi/posix.rb +0 -10
  674. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  675. data/lib/puppet/indirector/certificate/file.rb +0 -9
  676. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  677. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  678. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  679. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  680. data/lib/puppet/indirector/file_content/http.rb +0 -22
  681. data/lib/puppet/indirector/key/file.rb +0 -46
  682. data/lib/puppet/indirector/key/memory.rb +0 -7
  683. data/lib/puppet/indirector/ssl_file.rb +0 -162
  684. data/lib/puppet/indirector/status/local.rb +0 -12
  685. data/lib/puppet/indirector/status/rest.rb +0 -27
  686. data/lib/puppet/indirector/status.rb +0 -3
  687. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  688. data/lib/puppet/network/auth_config_parser.rb +0 -90
  689. data/lib/puppet/network/authstore.rb +0 -283
  690. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  691. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  692. data/lib/puppet/network/http/base_pool.rb +0 -36
  693. data/lib/puppet/network/http/compression.rb +0 -127
  694. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  695. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  696. data/lib/puppet/network/rest_controller.rb +0 -2
  697. data/lib/puppet/network/rights.rb +0 -210
  698. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  699. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  700. data/lib/puppet/parser/environment_compiler.rb +0 -202
  701. data/lib/puppet/pops/types/enumeration.rb +0 -16
  702. data/lib/puppet/resource/capability_finder.rb +0 -154
  703. data/lib/puppet/rest/errors.rb +0 -15
  704. data/lib/puppet/rest/response.rb +0 -35
  705. data/lib/puppet/rest/route.rb +0 -85
  706. data/lib/puppet/rest/routes.rb +0 -135
  707. data/lib/puppet/settings/alias_setting.rb +0 -37
  708. data/lib/puppet/ssl/host.rb +0 -505
  709. data/lib/puppet/ssl/key.rb +0 -61
  710. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  711. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  712. data/lib/puppet/ssl/validator.rb +0 -61
  713. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  714. data/lib/puppet/status.rb +0 -40
  715. data/lib/puppet/util/connection.rb +0 -88
  716. data/lib/puppet/util/fact_dif.rb +0 -81
  717. data/lib/puppet/util/ssl.rb +0 -83
  718. data/lib/puppet/util/windows/api_types.rb +0 -309
  719. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  720. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  721. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  722. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  723. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  724. data/lib/puppet/vendor/pathspec/README.md +0 -53
  725. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  726. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  727. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  728. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  729. data/man/man8/puppet-key.8 +0 -126
  730. data/man/man8/puppet-man.8 +0 -76
  731. data/man/man8/puppet-status.8 +0 -108
  732. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  733. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  734. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  735. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  736. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  737. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  738. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  739. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  740. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  741. data/spec/fixtures/ssl/oid-key.pem +0 -117
  742. data/spec/fixtures/ssl/oid.pem +0 -69
  743. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  744. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  745. data/spec/integration/application/resource_spec.rb +0 -64
  746. data/spec/integration/application/ssl_spec.rb +0 -20
  747. data/spec/integration/l10n/compiler_spec.rb +0 -37
  748. data/spec/integration/network/authconfig_spec.rb +0 -256
  749. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  750. data/spec/shared_contexts/l10n.rb +0 -27
  751. data/spec/unit/application/man_spec.rb +0 -52
  752. data/spec/unit/capability_spec.rb +0 -414
  753. data/spec/unit/face/key_spec.rb +0 -9
  754. data/spec/unit/face/module/search_spec.rb +0 -231
  755. data/spec/unit/face/status_spec.rb +0 -9
  756. data/spec/unit/facter_impl_spec.rb +0 -31
  757. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  758. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  759. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  760. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  761. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  762. data/spec/unit/indirector/key/file_spec.rb +0 -78
  763. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  764. data/spec/unit/indirector/status/local_spec.rb +0 -10
  765. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  766. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  767. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  768. data/spec/unit/network/authstore_spec.rb +0 -407
  769. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  770. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  771. data/spec/unit/network/http/compression_spec.rb +0 -240
  772. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  773. data/spec/unit/network/http_spec.rb +0 -9
  774. data/spec/unit/network/rights_spec.rb +0 -439
  775. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  776. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  777. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  778. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  779. data/spec/unit/rest/route_spec.rb +0 -132
  780. data/spec/unit/ssl/host_spec.rb +0 -645
  781. data/spec/unit/ssl/key_spec.rb +0 -173
  782. data/spec/unit/ssl/validator_spec.rb +0 -278
  783. data/spec/unit/status_spec.rb +0 -45
  784. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -16,48 +16,88 @@ describe Puppet::Face[:plugin, :current] do
16
16
  end
17
17
  end
18
18
 
19
- it "downloads plugins, external facts, and locales" do
20
- receive_count = 0
21
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
19
+ context "when i18n is enabled" do
20
+ before(:each) do
21
+ Puppet[:disable_i18n] = false
22
+ end
22
23
 
23
- pluginface.download
24
- expect(receive_count).to eq(3)
25
- end
24
+ it "downloads plugins, external facts, and locales" do
25
+ receive_count = 0
26
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
26
27
 
27
- it "renders 'No plugins downloaded' if nothing was downloaded" do
28
- receive_count = 0
29
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
28
+ pluginface.download
29
+ expect(receive_count).to eq(3)
30
+ end
30
31
 
31
- result = pluginface.download
32
- expect(receive_count).to eq(3)
33
- expect(render(result)).to eq('No plugins downloaded.')
34
- end
32
+ it "renders 'No plugins downloaded' if nothing was downloaded" do
33
+ receive_count = 0
34
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
35
35
 
36
- it "renders comma separate list of downloaded file names" do
37
- receive_count = 0
38
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
39
- receive_count += 1
40
- case receive_count
41
- when 1
42
- %w[/a]
43
- when 2
44
- %w[/b]
45
- when 3
46
- %w[/c]
47
- end
36
+ result = pluginface.download
37
+ expect(receive_count).to eq(3)
38
+ expect(render(result)).to eq('No plugins downloaded.')
48
39
  end
49
40
 
50
- result = pluginface.download
51
- expect(receive_count).to eq(3)
52
- expect(render(result)).to eq('Downloaded these plugins: /a, /b, /c')
41
+ it "renders comma separate list of downloaded file names" do
42
+ receive_count = 0
43
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
44
+ receive_count += 1
45
+ case receive_count
46
+ when 1
47
+ %w[/a]
48
+ when 2
49
+ %w[/b]
50
+ when 3
51
+ %w[/c]
52
+ end
53
+ end
54
+
55
+ result = pluginface.download
56
+ expect(receive_count).to eq(3)
57
+ expect(render(result)).to eq('Downloaded these plugins: /a, /b, /c')
58
+ end
53
59
  end
54
60
 
55
- it "uses persistent HTTP pool" do
56
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
57
- expect(Puppet.lookup(:http_pool)).to be_instance_of(Puppet::Network::HTTP::Pool)
58
- end.and_return([])
61
+ context "when i18n is enabled" do
62
+ before(:each) do
63
+ Puppet[:disable_i18n] = true
64
+ end
59
65
 
60
- pluginface.download
66
+ it "downloads only plugins and external facts, no locales" do
67
+ receive_count = 0
68
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
69
+
70
+ pluginface.download
71
+ expect(receive_count).to eq(2)
72
+ end
73
+
74
+ it "renders 'No plugins downloaded' if nothing was downloaded, without checking for locales" do
75
+ receive_count = 0
76
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
77
+
78
+ result = pluginface.download
79
+ expect(receive_count).to eq(2)
80
+ expect(render(result)).to eq('No plugins downloaded.')
81
+ end
82
+
83
+ it "renders comma separate list of downloaded file names" do
84
+ receive_count = 0
85
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
86
+ receive_count += 1
87
+ case receive_count
88
+ when 1
89
+ %w[/a]
90
+ when 2
91
+ %w[/b]
92
+ when 3
93
+ %w[/c]
94
+ end
95
+ end
96
+
97
+ result = pluginface.download
98
+ expect(receive_count).to eq(2)
99
+ expect(render(result)).to eq('Downloaded these plugins: /a, /b')
100
+ end
61
101
  end
62
102
  end
63
103
 
@@ -104,8 +104,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
104
104
  # Diff without the context
105
105
  # Lines we need to see match 'Content' instead of trimming diff output filter out
106
106
  # surrounding noise...or hard code the check values
107
- if Puppet.runtime[:facter].value(:osfamily) == 'Solaris' &&
108
- Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemrelease), '11.0') >= 0
107
+ if Facter.value(:osfamily) == 'Solaris' &&
108
+ Puppet::Util::Package.versioncmp(Facter.value(:operatingsystemrelease), '11.0') >= 0
109
109
  # Use gdiff on Solaris
110
110
  diff12 = Puppet::Util::Execution.execute("gdiff -uN #{file1} #{file2}| grep Content")
111
111
  diff21 = Puppet::Util::Execution.execute("gdiff -uN #{file2} #{file1}| grep Content")
@@ -26,7 +26,7 @@ describe Puppet::FileBucket::File, :uses_checksums => true do
26
26
  end
27
27
 
28
28
  it "should require contents to be a string" do
29
- expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a (?:Fixnum|Integer)$/)
29
+ expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a Integer$/)
30
30
  end
31
31
 
32
32
  it "should complain about options other than :bucket_path" do
@@ -49,7 +49,7 @@ describe Puppet::FileServing::Configuration::Parser do
49
49
  expect { @parser.parse }.to raise_error(ArgumentError)
50
50
  end
51
51
 
52
- it "should fail if the value for path/allow/deny starts with an equals sign" do
52
+ it "should fail if the value for path starts with an equals sign" do
53
53
  write_config_file "[one]\npath = /testing"
54
54
  expect { @parser.parse }.to raise_error(ArgumentError)
55
55
  end
@@ -87,6 +87,7 @@ describe Puppet::FileServing::Configuration::Parser do
87
87
  before do
88
88
  @mount = double('testmount', :name => "one", :validate => true)
89
89
  expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(@mount)
90
+ allow(@parser).to receive(:add_modules_mount)
90
91
  end
91
92
 
92
93
  it "should set the mount path to the path attribute from that section" do
@@ -97,32 +98,28 @@ describe Puppet::FileServing::Configuration::Parser do
97
98
  end
98
99
 
99
100
  [:allow,:deny].each { |acl_type|
100
- it "should support inline comments in #{acl_type}" do
101
+ it "should ignore inline comments in #{acl_type}" do
101
102
  write_config_file "[one]\n#{acl_type} something \# will it work?\n"
102
103
 
103
- expect(@mount).to receive(:info)
104
- expect(@mount).to receive(acl_type).with("something")
105
- @parser.parse
104
+ expect(@parser.parse).to eq('one' => @mount)
106
105
  end
107
106
 
108
- it "should tell the mount to #{acl_type} from ACLs with varying spacing around commas" do
107
+ it "should ignore #{acl_type} from ACLs with varying spacing around commas" do
109
108
  write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
110
109
 
111
- expect(@mount).to receive(:info).exactly(5).times
112
- expect(@mount).to receive(acl_type).exactly(5).times.with(eq('someone').or eq('sometwo').or eq('somethree').or eq('somefour').or eq('somefive'))
113
- @parser.parse
110
+ expect(@parser.parse).to eq('one' => @mount)
114
111
  end
115
112
 
116
- # each ip, with glob in the various octet positions
117
- ['100','4','42','*'].permutation.map {|permutes| permutes.join('.') }.each { |ip_pattern|
118
- it "should tell the mount to #{acl_type} from ACLs with glob at #{ip_pattern}" do
119
- write_config_file "[one]\n#{acl_type} #{ip_pattern}\n"
113
+ it "should log an error and print the location of the #{acl_type} rule" do
114
+ write_config_file(<<~CONFIG)
115
+ [one]
116
+ #{acl_type} one
117
+ CONFIG
118
+
119
+ expect(Puppet).to receive(:err).with(/Entry '#{acl_type} one' is unsupported and will be ignored at \(file: .*, line: 2\)/)
120
120
 
121
- expect(@mount).to receive(:info)
122
- expect(@mount).to receive(acl_type).with(ip_pattern)
123
- @parser.parse
124
- end
125
- }
121
+ @parser.parse
122
+ end
126
123
  }
127
124
 
128
125
  it "should return comprehensible error message, if failed on invalid attribute" do
@@ -155,29 +152,6 @@ describe Puppet::FileServing::Configuration::Parser do
155
152
  end
156
153
  end
157
154
 
158
- describe Puppet::FileServing::Configuration::Parser, " when parsing the scripts mount" do
159
- include FSConfigurationParserTesting
160
-
161
- before do
162
- @mount = double('scriptsmount', :name => "scripts", :validate => true)
163
- end
164
-
165
- it "should create an instance of the Scripts Mount class" do
166
- write_config_file "[scripts]\n"
167
-
168
- expect(Puppet::FileServing::Mount::Scripts).to receive(:new).with("scripts").and_return(@mount)
169
- @parser.parse
170
- end
171
-
172
- it "should warn if a path is set" do
173
- write_config_file "[scripts]\npath /some/path\n"
174
- expect(Puppet::FileServing::Mount::Scripts).to receive(:new).with("scripts").and_return(@mount)
175
-
176
- expect(Puppet).to receive(:warning)
177
- @parser.parse
178
- end
179
- end
180
-
181
155
  describe Puppet::FileServing::Configuration::Parser, " when parsing the plugins mount" do
182
156
  include FSConfigurationParserTesting
183
157
 
@@ -80,65 +80,49 @@ describe Puppet::FileServing::Configuration do
80
80
  expect(config.mounted?("one")).to be_truthy
81
81
  end
82
82
 
83
- it "should add modules, plugins, scripts, and tasks mounts even if the file does not exist" do
83
+ it "should add modules, plugins, and tasks mounts even if the file does not exist" do
84
84
  expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
85
85
  config = Puppet::FileServing::Configuration.configuration
86
86
  expect(config.mounted?("modules")).to be_truthy
87
87
  expect(config.mounted?("plugins")).to be_truthy
88
- expect(config.mounted?("scripts")).to be_truthy
89
88
  expect(config.mounted?("tasks")).to be_truthy
90
89
  end
91
90
 
92
- it "should allow all access to modules, plugins, scripts, and tasks if no fileserver.conf exists" do
91
+ it "should allow all access to modules, plugins, and tasks if no fileserver.conf exists" do
93
92
  expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
94
- modules = double('modules', :empty? => true)
93
+ modules = double('modules')
95
94
  allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
96
- expect(modules).to receive(:allow).with('*')
97
95
 
98
- plugins = double('plugins', :empty? => true)
96
+ plugins = double('plugins')
99
97
  allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
100
- expect(plugins).to receive(:allow).with('*')
101
98
 
102
- scripts = double('scripts', :empty? => true)
103
- allow(Puppet::FileServing::Mount::Scripts).to receive(:new).and_return(scripts)
104
- expect(scripts).to receive(:allow).with('*')
105
-
106
- tasks = double('tasks', :empty? => true)
99
+ tasks = double('tasks')
107
100
  allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
108
- expect(tasks).to receive(:allow).with('*')
109
101
 
110
102
  Puppet::FileServing::Configuration.configuration
111
103
  end
112
104
 
113
- it "should not allow access from all to modules, plugins, scripts, and tasks if the fileserver.conf provided some rules" do
105
+ it "should not allow access from all to modules, plugins, and tasks if the fileserver.conf provided some rules" do
114
106
  expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
115
107
 
116
- modules = double('modules', :empty? => false)
108
+ modules = double('modules')
117
109
  allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
118
- expect(modules).not_to receive(:allow).with('*')
119
110
 
120
- plugins = double('plugins', :empty? => false)
111
+ plugins = double('plugins')
121
112
  allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
122
- expect(plugins).not_to receive(:allow).with('*')
123
-
124
- scripts = double('scripts', :empty? => false)
125
- allow(Puppet::FileServing::Mount::Scripts).to receive(:new).and_return(scripts)
126
- expect(scripts).not_to receive(:allow).with('*')
127
113
 
128
- tasks = double('tasks', :empty? => false)
114
+ tasks = double('tasks')
129
115
  allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
130
- expect(tasks).not_to receive(:allow).with('*')
131
116
 
132
117
  Puppet::FileServing::Configuration.configuration
133
118
  end
134
119
 
135
- it "should add modules, plugins, scripts, and tasks mounts even if they are not returned by the parser" do
120
+ it "should add modules, plugins, and tasks mounts even if they are not returned by the parser" do
136
121
  expect(@parser).to receive(:parse).and_return("one" => double("mount"))
137
122
  expect(Puppet::FileSystem).to receive(:exist?).and_return(true) # the file doesn't exist
138
123
  config = Puppet::FileServing::Configuration.configuration
139
124
  expect(config.mounted?("modules")).to be_truthy
140
125
  expect(config.mounted?("plugins")).to be_truthy
141
- expect(config.mounted?("scripts")).to be_truthy
142
126
  expect(config.mounted?("tasks")).to be_truthy
143
127
  end
144
128
  end
@@ -46,13 +46,6 @@ describe Puppet::FileServing::Fileset do
46
46
  expect(set.recurselimit).to eq(3)
47
47
  end
48
48
 
49
- it "accepts a 'max_files' option" do
50
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
51
- set = Puppet::FileServing::Fileset.new(somefile, :recurselimit => 3, :max_files => 100)
52
- expect(set.recurselimit).to eq(3)
53
- expect(set.max_files).to eq(100)
54
- end
55
-
56
49
  it "accepts an 'ignore' option" do
57
50
  expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
58
51
  set = Puppet::FileServing::Fileset.new(somefile, :ignore => ".svn")
@@ -167,29 +160,6 @@ describe Puppet::FileServing::Fileset do
167
160
  end
168
161
  end
169
162
 
170
- def mock_big_dir_structure(path, stat_method = :lstat)
171
- allow(Puppet::FileSystem).to receive(stat_method).with(path).and_return(@dirstat)
172
-
173
- # Keep track of the files we're stubbing.
174
- @files = %w{.}
175
-
176
- top_names = (1..10).map {|i| "dir_#{i}" }
177
- sub_names = (1..100).map {|i| "file__#{i}" }
178
-
179
- allow(Dir).to receive(:entries).with(path, encoding: Encoding::UTF_8).and_return(top_names)
180
- top_names.each do |subdir|
181
- @files << subdir # relative path
182
- subpath = File.join(path, subdir)
183
- allow(Puppet::FileSystem).to receive(stat_method).with(subpath).and_return(@dirstat)
184
- allow(Dir).to receive(:entries).with(subpath, encoding: Encoding::UTF_8).and_return(sub_names)
185
- sub_names.each do |file|
186
- @files << File.join(subdir, file) # relative path
187
- subfile_path = File.join(subpath, file)
188
- allow(Puppet::FileSystem).to receive(stat_method).with(subfile_path).and_return(@filestat)
189
- end
190
- end
191
- end
192
-
193
163
  def setup_mocks_for_dir(mock_dir, base_path)
194
164
  path = File.join(base_path, mock_dir.name)
195
165
  allow(Puppet::FileSystem).to receive(:lstat).with(path).and_return(MockStat.new(path, true))
@@ -288,36 +258,6 @@ describe Puppet::FileServing::Fileset do
288
258
  expect(@fileset.files.find { |file| file.include?("0") }).to be_nil
289
259
  end
290
260
 
291
- it "raises exception if number of files is greater than :max_files" do
292
- mock_dir_structure(@path)
293
- @fileset.recurse = true
294
- @fileset.max_files = 22
295
- expect { @fileset.files }.to raise_error(Puppet::Error, "The directory '#{@path}' contains 28 entries, which exceeds the limit of 22 specified by the max_files parameter for this resource. The limit may be increased, but be aware that large number of file resources can result in excessive resource consumption and degraded performance. Consider using an alternate method to manage large directory trees")
296
- end
297
-
298
- it "logs a warning if number of files is greater than soft max_files limit of 1000" do
299
- mock_big_dir_structure(@path)
300
- @fileset.recurse = true
301
- expect(Puppet).to receive(:warning).with("The directory '#{@path}' contains 1010 entries, which exceeds the default soft limit 1000 and may cause excessive resource consumption and degraded performance. To remove this warning set a value for `max_files` parameter or consider using an alternate method to manage large directory trees")
302
- expect { @fileset.files }.to_not raise_error
303
- end
304
-
305
- it "does not emit a warning if max_files is -1" do
306
- mock_big_dir_structure(@path)
307
- @fileset.recurse = true
308
- @fileset.max_files = -1
309
- expect(Puppet).to receive(:warning).never
310
- @fileset.files
311
- end
312
-
313
- it "does not emit a warning if max_files is `-1`(string)" do
314
- mock_big_dir_structure(@path)
315
- @fileset.recurse = true
316
- @fileset.max_files = '-1'
317
- expect(Puppet).to receive(:warning).never
318
- @fileset.files
319
- end
320
-
321
261
  it "ignores files that match a pattern given as a boolean" do
322
262
  mock_dir_structure(@path)
323
263
  @fileset.recurse = true
@@ -266,9 +266,9 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
266
266
  path = tmpfile('bar')
267
267
  FileUtils.touch(path)
268
268
 
269
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).with(path).and_raise(invalid_error)
270
- allow(Puppet::Util::Windows::Security).to receive(:get_group).with(path).and_raise(invalid_error)
271
- allow(Puppet::Util::Windows::Security).to receive(:get_mode).with(path).and_raise(invalid_error)
269
+ allow(Puppet::Util::Windows::Security).to receive(:get_owner).with(path, :use).and_raise(invalid_error)
270
+ allow(Puppet::Util::Windows::Security).to receive(:get_group).with(path, :use).and_raise(invalid_error)
271
+ allow(Puppet::Util::Windows::Security).to receive(:get_mode).with(path, :use).and_raise(invalid_error)
272
272
 
273
273
  stat = Puppet::FileSystem.stat(path)
274
274
 
@@ -2,20 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  require 'puppet/file_serving/terminus_helper'
4
4
 
5
- class Puppet::FileServing::TestHelper
6
- include Puppet::FileServing::TerminusHelper
7
-
8
- attr_reader :model
9
-
10
- def initialize(model)
11
- @model = model
12
- end
13
- end
14
-
15
5
  describe Puppet::FileServing::TerminusHelper do
16
6
  before do
7
+ @helper = Object.new
8
+ @helper.extend(Puppet::FileServing::TerminusHelper)
9
+
17
10
  @model = double('model')
18
- @helper = Puppet::FileServing::TestHelper.new(@model)
11
+ allow(@helper).to receive(:model).and_return(@model)
19
12
 
20
13
  @request = double('request', :key => "url", :options => {})
21
14
 
@@ -290,19 +290,6 @@ describe "Puppet::FileSystem" do
290
290
  expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \r\nsecond line \n")
291
291
  end
292
292
  end
293
-
294
- it "should ignore leading BOM" do
295
- with_file_content("\uFEFFfile content \n") do |file|
296
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \n")
297
- end
298
- end
299
-
300
- it "should not warn about misusage of BOM with non-UTF encoding" do
301
- allow(Encoding).to receive(:default_external).and_return(Encoding::US_ASCII)
302
- with_file_content("file content \n") do |file|
303
- expect{ Puppet::FileSystem.read_preserve_line_endings(file) }.not_to output(/BOM with non-UTF encoding US-ASCII is nonsense/).to_stderr
304
- end
305
- end
306
293
  end
307
294
 
308
295
  context "read without an encoding specified" do
@@ -1012,15 +999,6 @@ describe "Puppet::FileSystem" do
1012
999
  Puppet::FileSystem.replace_file(dest, 0755) { |_| }
1013
1000
  }.to raise_error(ArgumentError, /Only modes 0644, 0640, 0660, and 0440 are allowed/)
1014
1001
  end
1015
-
1016
- it 'falls back to fully qualified user name when sid retrieval fails' do
1017
- current_user_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
1018
- allow(Puppet::Util::Windows::SID).to receive(:name_to_sid).with(Puppet::Util::Windows::ADSI::User.current_user_name).and_return(nil, current_user_sid)
1019
- allow(Puppet::Util::Windows::SID).to receive(:name_to_sid).with(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name).and_call_original
1020
-
1021
- Puppet::FileSystem.replace_file(dest, 0644) { |f| f.write(content) }
1022
- expects_public_file(dest)
1023
- end
1024
1002
  end
1025
1003
  end
1026
1004
 
@@ -22,8 +22,13 @@ describe Puppet::Forge::ModuleRelease do
22
22
  let(:uri) { " "}
23
23
  let(:release) { Puppet::Forge::ModuleRelease.new(ssl_repository, JSON.parse(release_json)) }
24
24
 
25
- let(:mock_file) { double('file', path: '/dev/null') }
26
- let(:mock_dir) { tmpdir('dir') }
25
+ let(:mock_file) {
26
+ mock_io = StringIO.new
27
+ allow(mock_io).to receive(:path).and_return('/dev/null')
28
+ mock_io
29
+ }
30
+
31
+ let(:mock_dir) { '/tmp' }
27
32
 
28
33
  let(:destination) { tmpfile('forge_module_release') }
29
34
 
@@ -28,7 +28,7 @@ describe 'the assert_type function' do
28
28
  it 'checks that first argument is a type' do
29
29
  expect do
30
30
  func.call({}, 10, 10)
31
- end.to raise_error(ArgumentError, "The function 'assert_type' was called with arguments it does not accept. It expects one of:
31
+ end.to raise_error(ArgumentError, "'assert_type' expects one of:
32
32
  (Type type, Any value, Callable[Type, Type] block?)
33
33
  rejected: parameter 'type' expects a Type value, got Integer
34
34
  (String type_string, Any value, Callable[Type, Type] block?)
@@ -15,7 +15,7 @@ describe 'the camelcase function' do
15
15
  expect(compile_to_catalog("notify { String(42.camelcase == 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 camelcase of international UTF-8 characters' do
19
19
  expect(compile_to_catalog("notify { 'åäö_äö'.camelcase: }")).to have_resource('Notify[ÅäöÄö]')
20
20
  end
21
21
 
@@ -15,7 +15,7 @@ describe 'the capitalize function' do
15
15
  expect(compile_to_catalog("notify { String(42.capitalize == 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 capitalize of international UTF-8 characters' do
19
19
  expect(compile_to_catalog("notify { 'åäö'.capitalize: }")).to have_resource('Notify[Åäö]')
20
20
  end
21
21
 
@@ -15,7 +15,7 @@ describe 'the downcase function' do
15
15
  expect(compile_to_catalog("notify { String(42.downcase == 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 downcase of international UTF-8 characters' do
19
19
  expect(compile_to_catalog("notify { 'ÅÄÖ'.downcase: }")).to have_resource('Notify[åäö]')
20
20
  end
21
21
 
@@ -56,16 +56,6 @@ describe 'the empty function' do
56
56
  end
57
57
  end
58
58
 
59
- context 'for a sensitive string it' do
60
- it 'returns true when empty' do
61
- expect(compile_to_catalog("notify { String(empty(Sensitive(''))): }")).to have_resource('Notify[true]')
62
- end
63
-
64
- it 'returns false when not empty' do
65
- expect(compile_to_catalog("notify { String(empty(Sensitive(' '))): }")).to have_resource('Notify[false]')
66
- end
67
- end
68
-
69
59
  context 'for a binary it' do
70
60
  it 'returns true when empty' do
71
61
  expect(compile_to_catalog("notify { String(empty(Binary(''))): }")).to have_resource('Notify[true]')
@@ -6,7 +6,6 @@ describe 'the log function' do
6
6
 
7
7
  def collect_logs(code)
8
8
  Puppet[:code] = code
9
- Puppet[:environment_timeout] = 10
10
9
  node = Puppet::Node.new('logtest')
11
10
  compiler = Puppet::Parser::Compiler.new(node)
12
11
  node.environment.check_for_reparse
@@ -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