puppet 6.28.0-x64-mingw32 → 7.0.0-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (811) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/CONTRIBUTING.md +5 -5
  4. data/Gemfile +5 -7
  5. data/Gemfile.lock +52 -131
  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/agent.rb +11 -47
  104. data/lib/puppet/application/agent.rb +16 -18
  105. data/lib/puppet/application/apply.rb +4 -24
  106. data/lib/puppet/application/device.rb +100 -106
  107. data/lib/puppet/application/filebucket.rb +13 -10
  108. data/lib/puppet/application/lookup.rb +24 -74
  109. data/lib/puppet/application/resource.rb +16 -32
  110. data/lib/puppet/application/script.rb +0 -2
  111. data/lib/puppet/application/ssl.rb +1 -13
  112. data/lib/puppet/application.rb +178 -108
  113. data/lib/puppet/application_support.rb +0 -7
  114. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  115. data/lib/puppet/configurer/downloader.rb +1 -2
  116. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  117. data/lib/puppet/configurer.rb +86 -183
  118. data/lib/puppet/confine/variable.rb +1 -1
  119. data/lib/puppet/defaults.rb +130 -244
  120. data/lib/puppet/environments.rb +82 -146
  121. data/lib/puppet/face/facts.rb +5 -103
  122. data/lib/puppet/face/generate.rb +0 -2
  123. data/lib/puppet/face/help/action.erb +0 -1
  124. data/lib/puppet/face/help/face.erb +0 -1
  125. data/lib/puppet/face/help.rb +1 -1
  126. data/lib/puppet/face/node/clean.rb +0 -11
  127. data/lib/puppet/face/plugin.rb +5 -8
  128. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  129. data/lib/puppet/ffi/windows/constants.rb +404 -0
  130. data/lib/puppet/ffi/windows/functions.rb +628 -0
  131. data/lib/puppet/ffi/windows/structs.rb +338 -0
  132. data/lib/puppet/ffi/windows.rb +12 -0
  133. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  134. data/lib/puppet/file_serving/configuration.rb +0 -8
  135. data/lib/puppet/file_serving/fileset.rb +2 -14
  136. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  137. data/lib/puppet/file_serving/metadata.rb +0 -3
  138. data/lib/puppet/file_serving/mount/file.rb +4 -4
  139. data/lib/puppet/file_serving/mount.rb +1 -2
  140. data/lib/puppet/file_system/file_impl.rb +8 -10
  141. data/lib/puppet/file_system/jruby.rb +1 -1
  142. data/lib/puppet/file_system/memory_file.rb +1 -8
  143. data/lib/puppet/file_system/windows.rb +6 -8
  144. data/lib/puppet/file_system.rb +1 -1
  145. data/lib/puppet/forge/repository.rb +0 -1
  146. data/lib/puppet/forge.rb +4 -4
  147. data/lib/puppet/functions/all.rb +1 -1
  148. data/lib/puppet/functions/camelcase.rb +1 -1
  149. data/lib/puppet/functions/capitalize.rb +2 -2
  150. data/lib/puppet/functions/downcase.rb +2 -2
  151. data/lib/puppet/functions/empty.rb +0 -8
  152. data/lib/puppet/functions/find_template.rb +2 -2
  153. data/lib/puppet/functions/get.rb +5 -5
  154. data/lib/puppet/functions/group_by.rb +5 -13
  155. data/lib/puppet/functions/lest.rb +1 -1
  156. data/lib/puppet/functions/new.rb +100 -100
  157. data/lib/puppet/functions/next.rb +1 -18
  158. data/lib/puppet/functions/partition.rb +4 -12
  159. data/lib/puppet/functions/require.rb +5 -5
  160. data/lib/puppet/functions/sort.rb +3 -3
  161. data/lib/puppet/functions/strftime.rb +0 -1
  162. data/lib/puppet/functions/tree_each.rb +10 -7
  163. data/lib/puppet/functions/type.rb +4 -4
  164. data/lib/puppet/functions/unwrap.rb +2 -17
  165. data/lib/puppet/functions/upcase.rb +2 -2
  166. data/lib/puppet/functions/versioncmp.rb +2 -6
  167. data/lib/puppet/generate/models/type/type.rb +4 -1
  168. data/lib/puppet/generate/type.rb +0 -9
  169. data/lib/puppet/http/client.rb +167 -137
  170. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  171. data/lib/puppet/http/errors.rb +16 -0
  172. data/lib/puppet/http/external_client.rb +5 -7
  173. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  174. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  175. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  176. data/lib/puppet/http/proxy.rb +137 -0
  177. data/lib/puppet/http/redirector.rb +4 -17
  178. data/lib/puppet/http/resolver/server_list.rb +10 -25
  179. data/lib/puppet/http/resolver/settings.rb +4 -7
  180. data/lib/puppet/http/resolver/srv.rb +7 -11
  181. data/lib/puppet/http/resolver.rb +5 -15
  182. data/lib/puppet/http/response.rb +36 -54
  183. data/lib/puppet/http/response_converter.rb +24 -0
  184. data/lib/puppet/http/response_net_http.rb +42 -0
  185. data/lib/puppet/http/retry_after_handler.rb +4 -13
  186. data/lib/puppet/http/service/ca.rb +11 -22
  187. data/lib/puppet/http/service/compiler.rb +23 -144
  188. data/lib/puppet/http/service/file_server.rb +19 -29
  189. data/lib/puppet/http/service/puppetserver.rb +26 -12
  190. data/lib/puppet/http/service/report.rb +8 -10
  191. data/lib/puppet/http/service.rb +12 -26
  192. data/lib/puppet/http/session.rb +11 -20
  193. data/lib/puppet/{network/http → http}/site.rb +1 -2
  194. data/lib/puppet/http.rb +22 -13
  195. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  196. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  197. data/lib/puppet/indirector/facts/facter.rb +6 -6
  198. data/lib/puppet/indirector/facts/rest.rb +3 -22
  199. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  200. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  201. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  202. data/lib/puppet/indirector/file_server.rb +1 -8
  203. data/lib/puppet/indirector/generic_http.rb +0 -11
  204. data/lib/puppet/indirector/indirection.rb +1 -1
  205. data/lib/puppet/indirector/node/rest.rb +2 -4
  206. data/lib/puppet/indirector/report/rest.rb +3 -8
  207. data/lib/puppet/indirector/request.rb +0 -101
  208. data/lib/puppet/indirector/resource/ral.rb +1 -6
  209. data/lib/puppet/indirector/rest.rb +12 -263
  210. data/lib/puppet/indirector/terminus.rb +0 -4
  211. data/lib/puppet/interface/documentation.rb +0 -1
  212. data/lib/puppet/module/plan.rb +1 -0
  213. data/lib/puppet/module/task.rb +1 -1
  214. data/lib/puppet/module.rb +0 -1
  215. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  216. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  217. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  218. data/lib/puppet/module_tool/applications.rb +0 -1
  219. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  220. data/lib/puppet/network/authconfig.rb +2 -96
  221. data/lib/puppet/network/authorization.rb +13 -35
  222. data/lib/puppet/network/formats.rb +0 -67
  223. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  224. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  225. data/lib/puppet/network/http/connection.rb +247 -316
  226. data/lib/puppet/network/http/handler.rb +0 -1
  227. data/lib/puppet/network/http.rb +3 -3
  228. data/lib/puppet/network/http_pool.rb +16 -34
  229. data/lib/puppet/node/environment.rb +11 -10
  230. data/lib/puppet/node.rb +2 -31
  231. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  232. data/lib/puppet/pal/pal_impl.rb +4 -2
  233. data/lib/puppet/parser/ast/leaf.rb +2 -3
  234. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  235. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  236. data/lib/puppet/parser/compiler.rb +0 -198
  237. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  238. data/lib/puppet/parser/resource.rb +1 -70
  239. data/lib/puppet/parser/scope.rb +0 -1
  240. data/lib/puppet/parser/templatewrapper.rb +1 -2
  241. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  242. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  243. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  244. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  245. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  246. data/lib/puppet/pops/issues.rb +0 -5
  247. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  248. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  249. data/lib/puppet/pops/model/ast.pp +0 -42
  250. data/lib/puppet/pops/model/ast.rb +0 -291
  251. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  252. data/lib/puppet/pops/model/factory.rb +1 -47
  253. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  254. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  255. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  256. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  257. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  258. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  259. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  260. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  261. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  262. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  263. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  264. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  265. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  266. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  267. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  268. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  269. data/lib/puppet/pops/types/type_parser.rb +0 -4
  270. data/lib/puppet/pops/types/types.rb +1 -2
  271. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  272. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  273. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  274. data/lib/puppet/property/list.rb +1 -1
  275. data/lib/puppet/provider/aix_object.rb +1 -1
  276. data/lib/puppet/provider/exec/posix.rb +4 -16
  277. data/lib/puppet/provider/group/groupadd.rb +10 -18
  278. data/lib/puppet/provider/nameservice.rb +0 -18
  279. data/lib/puppet/provider/package/apt.rb +2 -34
  280. data/lib/puppet/provider/package/aptitude.rb +0 -6
  281. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  282. data/lib/puppet/provider/package/dpkg.rb +0 -10
  283. data/lib/puppet/provider/package/gem.rb +23 -3
  284. data/lib/puppet/provider/package/nim.rb +6 -11
  285. data/lib/puppet/provider/package/pip.rb +3 -16
  286. data/lib/puppet/provider/package/pkg.rb +2 -23
  287. data/lib/puppet/provider/package/portage.rb +1 -1
  288. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  289. data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
  290. data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
  291. data/lib/puppet/provider/package/windows/package.rb +1 -2
  292. data/lib/puppet/provider/package/windows.rb +1 -14
  293. data/lib/puppet/provider/package/yum.rb +1 -1
  294. data/lib/puppet/provider/parsedfile.rb +0 -3
  295. data/lib/puppet/provider/service/base.rb +1 -1
  296. data/lib/puppet/provider/service/debian.rb +0 -2
  297. data/lib/puppet/provider/service/init.rb +9 -10
  298. data/lib/puppet/provider/service/launchd.rb +2 -2
  299. data/lib/puppet/provider/service/redhat.rb +1 -1
  300. data/lib/puppet/provider/service/smf.rb +194 -76
  301. data/lib/puppet/provider/service/systemd.rb +6 -16
  302. data/lib/puppet/provider/service/upstart.rb +5 -5
  303. data/lib/puppet/provider/service/windows.rb +0 -38
  304. data/lib/puppet/provider/user/aix.rb +3 -46
  305. data/lib/puppet/provider/user/directoryservice.rb +11 -39
  306. data/lib/puppet/provider/user/useradd.rb +24 -134
  307. data/lib/puppet/provider.rb +1 -14
  308. data/lib/puppet/reference/configuration.rb +8 -7
  309. data/lib/puppet/reference/indirection.rb +1 -1
  310. data/lib/puppet/reference/providers.rb +2 -2
  311. data/lib/puppet/resource/catalog.rb +2 -15
  312. data/lib/puppet/resource/type.rb +3 -119
  313. data/lib/puppet/resource/type_collection.rb +3 -49
  314. data/lib/puppet/resource.rb +6 -127
  315. data/lib/puppet/runtime.rb +2 -13
  316. data/lib/puppet/settings/environment_conf.rb +0 -1
  317. data/lib/puppet/settings/integer_setting.rb +17 -0
  318. data/lib/puppet/settings/port_setting.rb +15 -0
  319. data/lib/puppet/settings/priority_setting.rb +5 -4
  320. data/lib/puppet/settings.rb +82 -98
  321. data/lib/puppet/ssl/base.rb +3 -5
  322. data/lib/puppet/ssl/certificate.rb +0 -6
  323. data/lib/puppet/ssl/certificate_request.rb +1 -12
  324. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  325. data/lib/puppet/ssl/oids.rb +3 -1
  326. data/lib/puppet/ssl/ssl_provider.rb +36 -75
  327. data/lib/puppet/ssl/state_machine.rb +20 -14
  328. data/lib/puppet/ssl/verifier.rb +2 -6
  329. data/lib/puppet/ssl.rb +10 -6
  330. data/lib/puppet/test/test_helper.rb +2 -7
  331. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  332. data/lib/puppet/transaction/persistence.rb +1 -21
  333. data/lib/puppet/transaction/report.rb +3 -19
  334. data/lib/puppet/transaction.rb +1 -7
  335. data/lib/puppet/type/exec.rb +6 -36
  336. data/lib/puppet/type/file/checksum.rb +1 -1
  337. data/lib/puppet/type/file/data_sync.rb +1 -1
  338. data/lib/puppet/type/file/mode.rb +0 -6
  339. data/lib/puppet/type/file/selcontext.rb +1 -1
  340. data/lib/puppet/type/file/source.rb +1 -1
  341. data/lib/puppet/type/file.rb +12 -32
  342. data/lib/puppet/type/filebucket.rb +4 -4
  343. data/lib/puppet/type/group.rb +1 -0
  344. data/lib/puppet/type/package.rb +8 -16
  345. data/lib/puppet/type/resources.rb +1 -1
  346. data/lib/puppet/type/service.rb +41 -26
  347. data/lib/puppet/type/tidy.rb +3 -22
  348. data/lib/puppet/type/user.rb +13 -35
  349. data/lib/puppet/type.rb +1 -77
  350. data/lib/puppet/util/autoload.rb +8 -1
  351. data/lib/puppet/util/command_line.rb +1 -1
  352. data/lib/puppet/util/execution.rb +0 -11
  353. data/lib/puppet/util/filetype.rb +2 -2
  354. data/lib/puppet/util/http_proxy.rb +2 -215
  355. data/lib/puppet/util/json.rb +0 -20
  356. data/lib/puppet/util/log.rb +4 -8
  357. data/lib/puppet/util/logging.rb +25 -1
  358. data/lib/puppet/util/monkey_patches.rb +2 -59
  359. data/lib/puppet/util/package.rb +16 -25
  360. data/lib/puppet/util/pidlock.rb +1 -1
  361. data/lib/puppet/util/posix.rb +5 -54
  362. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  363. data/lib/puppet/util/rdoc.rb +0 -7
  364. data/lib/puppet/util/retry_action.rb +1 -1
  365. data/lib/puppet/util/run_mode.rb +9 -1
  366. data/lib/puppet/util/selinux.rb +4 -30
  367. data/lib/puppet/util/suidmanager.rb +2 -1
  368. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  369. data/lib/puppet/util/tagging.rb +0 -1
  370. data/lib/puppet/util/windows/adsi.rb +0 -46
  371. data/lib/puppet/util/windows/daemon.rb +360 -0
  372. data/lib/puppet/util/windows/error.rb +1 -0
  373. data/lib/puppet/util/windows/eventlog.rb +4 -9
  374. data/lib/puppet/util/windows/file.rb +8 -242
  375. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  376. data/lib/puppet/util/windows/principal.rb +2 -9
  377. data/lib/puppet/util/windows/process.rb +4 -226
  378. data/lib/puppet/util/windows/service.rb +11 -457
  379. data/lib/puppet/util/windows/sid.rb +2 -6
  380. data/lib/puppet/util/windows/string.rb +12 -13
  381. data/lib/puppet/util/windows/user.rb +2 -0
  382. data/lib/puppet/util/windows.rb +3 -11
  383. data/lib/puppet/util/yaml.rb +1 -42
  384. data/lib/puppet/util.rb +5 -5
  385. data/lib/puppet/vendor/require_vendored.rb +0 -1
  386. data/lib/puppet/version.rb +1 -1
  387. data/lib/puppet/x509/cert_provider.rb +29 -1
  388. data/lib/puppet/x509.rb +5 -1
  389. data/lib/puppet.rb +34 -27
  390. data/locales/puppet.pot +9633 -5
  391. data/man/man5/puppet.conf.5 +286 -401
  392. data/man/man8/puppet-agent.8 +2 -5
  393. data/man/man8/puppet-apply.8 +2 -2
  394. data/man/man8/puppet-catalog.8 +9 -9
  395. data/man/man8/puppet-config.8 +1 -1
  396. data/man/man8/puppet-describe.8 +1 -1
  397. data/man/man8/puppet-device.8 +2 -2
  398. data/man/man8/puppet-doc.8 +1 -1
  399. data/man/man8/puppet-epp.8 +1 -1
  400. data/man/man8/puppet-facts.8 +8 -51
  401. data/man/man8/puppet-filebucket.8 +4 -4
  402. data/man/man8/puppet-generate.8 +1 -1
  403. data/man/man8/puppet-help.8 +1 -1
  404. data/man/man8/puppet-lookup.8 +6 -9
  405. data/man/man8/puppet-module.8 +3 -60
  406. data/man/man8/puppet-node.8 +5 -5
  407. data/man/man8/puppet-parser.8 +1 -1
  408. data/man/man8/puppet-plugin.8 +1 -1
  409. data/man/man8/puppet-report.8 +5 -5
  410. data/man/man8/puppet-resource.8 +1 -1
  411. data/man/man8/puppet-script.8 +2 -2
  412. data/man/man8/puppet-ssl.8 +1 -5
  413. data/man/man8/puppet.8 +2 -2
  414. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  415. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  416. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  417. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  418. data/spec/fixtures/ssl/ca.pem +35 -57
  419. data/spec/fixtures/ssl/crl.pem +18 -28
  420. data/spec/fixtures/ssl/ec-key.pem +11 -11
  421. data/spec/fixtures/ssl/ec.pem +24 -33
  422. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  423. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  424. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  425. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  426. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  427. data/spec/fixtures/ssl/intermediate.pem +36 -57
  428. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  429. data/spec/fixtures/ssl/pluto.pem +30 -52
  430. data/spec/fixtures/ssl/request-key.pem +57 -107
  431. data/spec/fixtures/ssl/request.pem +26 -47
  432. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  433. data/spec/fixtures/ssl/revoked.pem +30 -52
  434. data/spec/fixtures/ssl/signed-key.pem +57 -107
  435. data/spec/fixtures/ssl/signed.pem +30 -52
  436. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  437. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  438. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  439. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  440. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  441. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  442. data/spec/fixtures/unit/forge/bacula.json +1 -1
  443. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  444. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  445. data/spec/integration/application/agent_spec.rb +50 -406
  446. data/spec/integration/application/apply_spec.rb +1 -20
  447. data/spec/integration/application/filebucket_spec.rb +16 -32
  448. data/spec/integration/application/help_spec.rb +2 -0
  449. data/spec/integration/application/lookup_spec.rb +50 -81
  450. data/spec/integration/application/module_spec.rb +0 -21
  451. data/spec/integration/application/plugin_spec.rb +24 -2
  452. data/spec/integration/configurer_spec.rb +2 -18
  453. data/spec/integration/defaults_spec.rb +14 -3
  454. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  455. data/spec/integration/http/client_spec.rb +4 -63
  456. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  457. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  458. data/spec/integration/network/http_pool_spec.rb +3 -21
  459. data/spec/integration/parser/catalog_spec.rb +0 -38
  460. data/spec/integration/parser/node_spec.rb +0 -9
  461. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  462. data/spec/integration/resource/type_collection_spec.rb +6 -2
  463. data/spec/integration/transaction/report_spec.rb +1 -1
  464. data/spec/integration/transaction_spec.rb +9 -4
  465. data/spec/integration/type/exec_spec.rb +45 -70
  466. data/spec/integration/type/file_spec.rb +7 -6
  467. data/spec/integration/type/package_spec.rb +6 -6
  468. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  469. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  470. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  471. data/spec/integration/util/windows/principal_spec.rb +0 -21
  472. data/spec/integration/util/windows/process_spec.rb +9 -1
  473. data/spec/integration/util/windows/registry_spec.rb +10 -6
  474. data/spec/integration/util/windows/security_spec.rb +1 -1
  475. data/spec/lib/matchers/include.rb +27 -0
  476. data/spec/lib/matchers/include_spec.rb +32 -0
  477. data/spec/lib/puppet/test_ca.rb +2 -7
  478. data/spec/lib/puppet_spec/https.rb +1 -1
  479. data/spec/lib/puppet_spec/modules.rb +2 -13
  480. data/spec/lib/puppet_spec/puppetserver.rb +3 -55
  481. data/spec/lib/puppet_spec/settings.rb +1 -1
  482. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  483. data/spec/spec_helper.rb +17 -13
  484. data/spec/unit/agent_spec.rb +8 -38
  485. data/spec/unit/application/agent_spec.rb +19 -33
  486. data/spec/unit/application/apply_spec.rb +56 -76
  487. data/spec/unit/application/facts_spec.rb +12 -456
  488. data/spec/unit/application/filebucket_spec.rb +43 -39
  489. data/spec/unit/application/lookup_spec.rb +10 -131
  490. data/spec/unit/application/resource_spec.rb +0 -29
  491. data/spec/unit/application/ssl_spec.rb +2 -25
  492. data/spec/unit/application_spec.rb +9 -51
  493. data/spec/unit/certificate_factory_spec.rb +1 -1
  494. data/spec/unit/configurer/downloader_spec.rb +6 -8
  495. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  496. data/spec/unit/configurer_spec.rb +68 -327
  497. data/spec/unit/confine/feature_spec.rb +1 -1
  498. data/spec/unit/confine_spec.rb +2 -8
  499. data/spec/unit/context/trusted_information_spec.rb +2 -6
  500. data/spec/unit/daemon_spec.rb +11 -2
  501. data/spec/unit/defaults_spec.rb +68 -55
  502. data/spec/unit/environments_spec.rb +68 -408
  503. data/spec/unit/face/generate_spec.rb +0 -64
  504. data/spec/unit/face/node_spec.rb +11 -0
  505. data/spec/unit/face/plugin_spec.rb +73 -33
  506. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  507. data/spec/unit/file_bucket/file_spec.rb +1 -1
  508. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  509. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  510. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  511. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  512. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  513. data/spec/unit/file_system_spec.rb +4 -56
  514. data/spec/unit/forge/module_release_spec.rb +10 -5
  515. data/spec/unit/functions/assert_type_spec.rb +1 -1
  516. data/spec/unit/functions/camelcase_spec.rb +1 -1
  517. data/spec/unit/functions/capitalize_spec.rb +1 -1
  518. data/spec/unit/functions/downcase_spec.rb +1 -1
  519. data/spec/unit/functions/empty_spec.rb +0 -10
  520. data/spec/unit/functions/logging_spec.rb +0 -1
  521. data/spec/unit/functions/lookup_spec.rb +0 -64
  522. data/spec/unit/functions/unwrap_spec.rb +0 -8
  523. data/spec/unit/functions/upcase_spec.rb +1 -1
  524. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  525. data/spec/unit/functions4_spec.rb +2 -2
  526. data/spec/unit/gettext/config_spec.rb +0 -12
  527. data/spec/unit/http/client_spec.rb +8 -84
  528. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  529. data/spec/unit/http/external_client_spec.rb +4 -4
  530. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  531. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  532. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  533. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  534. data/spec/unit/http/resolver_spec.rb +13 -13
  535. data/spec/unit/http/service/compiler_spec.rb +0 -193
  536. data/spec/unit/http/service/file_server_spec.rb +3 -3
  537. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  538. data/spec/unit/http/service_spec.rb +0 -1
  539. data/spec/unit/http/session_spec.rb +16 -14
  540. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  541. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  542. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  543. data/spec/unit/indirector/face_spec.rb +1 -0
  544. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  545. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  546. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  547. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  548. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  549. data/spec/unit/indirector/file_server_spec.rb +1 -15
  550. data/spec/unit/indirector/indirection_spec.rb +15 -18
  551. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  552. data/spec/unit/indirector/request_spec.rb +0 -264
  553. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  554. data/spec/unit/indirector/rest_spec.rb +98 -752
  555. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  556. data/spec/unit/indirector_spec.rb +2 -2
  557. data/spec/unit/interface/action_spec.rb +9 -0
  558. data/spec/unit/module_spec.rb +1 -15
  559. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  560. data/spec/unit/network/authconfig_spec.rb +2 -129
  561. data/spec/unit/network/authorization_spec.rb +2 -55
  562. data/spec/unit/network/formats_spec.rb +4 -51
  563. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  564. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  565. data/spec/unit/network/http/api_spec.rb +10 -0
  566. data/spec/unit/network/http/connection_spec.rb +19 -41
  567. data/spec/unit/network/http/handler_spec.rb +0 -1
  568. data/spec/unit/network/http_pool_spec.rb +0 -4
  569. data/spec/unit/node/environment_spec.rb +33 -21
  570. data/spec/unit/node_spec.rb +2 -60
  571. data/spec/unit/parser/compiler_spec.rb +19 -3
  572. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  573. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  574. data/spec/unit/parser/resource_spec.rb +8 -14
  575. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  576. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  577. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  578. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  579. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  580. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  581. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  582. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  583. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  584. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  585. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  586. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  587. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  588. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  589. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  590. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  591. data/spec/unit/pops/visitor_spec.rb +1 -1
  592. data/spec/unit/property_spec.rb +0 -1
  593. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  594. data/spec/unit/provider/nameservice_spec.rb +64 -122
  595. data/spec/unit/provider/package/apt_spec.rb +23 -28
  596. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  597. data/spec/unit/provider/package/base_spec.rb +5 -6
  598. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  599. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  600. data/spec/unit/provider/package/gem_spec.rb +33 -1
  601. data/spec/unit/provider/package/nim_spec.rb +0 -42
  602. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  603. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  604. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  605. data/spec/unit/provider/package/pip_spec.rb +12 -44
  606. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  607. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  608. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  609. data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
  610. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
  611. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  612. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  613. data/spec/unit/provider/service/init_spec.rb +9 -16
  614. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  615. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  616. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  617. data/spec/unit/provider/service/smf_spec.rb +401 -165
  618. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  619. data/spec/unit/provider/service/windows_spec.rb +0 -203
  620. data/spec/unit/provider/user/aix_spec.rb +0 -105
  621. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  622. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  623. data/spec/unit/provider/user/pw_spec.rb +0 -2
  624. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  625. data/spec/unit/provider_spec.rb +12 -22
  626. data/spec/unit/puppet_spec.rb +4 -12
  627. data/spec/unit/resource/catalog_spec.rb +2 -15
  628. data/spec/unit/resource/type_collection_spec.rb +2 -22
  629. data/spec/unit/resource/type_spec.rb +1 -1
  630. data/spec/unit/resource_spec.rb +12 -125
  631. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  632. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  633. data/spec/unit/settings/port_setting_spec.rb +31 -0
  634. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  635. data/spec/unit/settings_spec.rb +79 -110
  636. data/spec/unit/ssl/base_spec.rb +37 -3
  637. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  638. data/spec/unit/ssl/certificate_spec.rb +2 -11
  639. data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
  640. data/spec/unit/ssl/state_machine_spec.rb +5 -21
  641. data/spec/unit/ssl/verifier_spec.rb +0 -21
  642. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  643. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  644. data/spec/unit/transaction/persistence_spec.rb +0 -51
  645. data/spec/unit/transaction/report_spec.rb +0 -2
  646. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  647. data/spec/unit/transaction_spec.rb +55 -96
  648. data/spec/unit/type/exec_spec.rb +29 -76
  649. data/spec/unit/type/file/checksum_spec.rb +6 -6
  650. data/spec/unit/type/file/content_spec.rb +2 -1
  651. data/spec/unit/type/file/ensure_spec.rb +1 -1
  652. data/spec/unit/type/file/mode_spec.rb +1 -1
  653. data/spec/unit/type/file/selinux_spec.rb +5 -3
  654. data/spec/unit/type/file/source_spec.rb +4 -5
  655. data/spec/unit/type/file_spec.rb +18 -6
  656. data/spec/unit/type/group_spec.rb +6 -13
  657. data/spec/unit/type/package_spec.rb +1 -1
  658. data/spec/unit/type/resources_spec.rb +7 -7
  659. data/spec/unit/type/service_spec.rb +189 -87
  660. data/spec/unit/type/tidy_spec.rb +8 -24
  661. data/spec/unit/type_spec.rb +24 -4
  662. data/spec/unit/util/at_fork_spec.rb +2 -2
  663. data/spec/unit/util/autoload_spec.rb +1 -5
  664. data/spec/unit/util/backups_spec.rb +2 -3
  665. data/spec/unit/util/execution_spec.rb +11 -44
  666. data/spec/unit/util/inifile_spec.rb +14 -6
  667. data/spec/unit/util/log_spec.rb +7 -8
  668. data/spec/unit/util/logging_spec.rb +3 -5
  669. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  670. data/spec/unit/util/posix_spec.rb +15 -363
  671. data/spec/unit/util/run_mode_spec.rb +21 -121
  672. data/spec/unit/util/selinux_spec.rb +68 -163
  673. data/spec/unit/util/storage_spec.rb +1 -3
  674. data/spec/unit/util/suidmanager_spec.rb +41 -44
  675. data/spec/unit/util/windows/sid_spec.rb +0 -41
  676. data/spec/unit/util/windows/string_spec.rb +1 -3
  677. data/spec/unit/util/yaml_spec.rb +13 -92
  678. data/spec/unit/util_spec.rb +6 -31
  679. data/tasks/generate_cert_fixtures.rake +7 -17
  680. data/tasks/parallel.rake +3 -3
  681. metadata +138 -295
  682. data/conf/auth.conf +0 -150
  683. data/ext/README.md +0 -13
  684. data/lib/puppet/application/cert.rb +0 -76
  685. data/lib/puppet/application/key.rb +0 -4
  686. data/lib/puppet/application/man.rb +0 -4
  687. data/lib/puppet/application/status.rb +0 -4
  688. data/lib/puppet/face/key.rb +0 -16
  689. data/lib/puppet/face/man.rb +0 -145
  690. data/lib/puppet/face/module/build.rb +0 -14
  691. data/lib/puppet/face/module/generate.rb +0 -14
  692. data/lib/puppet/face/module/search.rb +0 -103
  693. data/lib/puppet/face/status.rb +0 -51
  694. data/lib/puppet/facter_impl.rb +0 -96
  695. data/lib/puppet/ffi/posix/constants.rb +0 -14
  696. data/lib/puppet/ffi/posix/functions.rb +0 -24
  697. data/lib/puppet/ffi/posix.rb +0 -10
  698. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  699. data/lib/puppet/indirector/certificate/file.rb +0 -9
  700. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  701. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  702. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  703. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  704. data/lib/puppet/indirector/file_content/http.rb +0 -22
  705. data/lib/puppet/indirector/key/file.rb +0 -46
  706. data/lib/puppet/indirector/key/memory.rb +0 -7
  707. data/lib/puppet/indirector/ssl_file.rb +0 -162
  708. data/lib/puppet/indirector/status/local.rb +0 -12
  709. data/lib/puppet/indirector/status/rest.rb +0 -27
  710. data/lib/puppet/indirector/status.rb +0 -3
  711. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  712. data/lib/puppet/network/auth_config_parser.rb +0 -90
  713. data/lib/puppet/network/authstore.rb +0 -283
  714. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  715. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  716. data/lib/puppet/network/http/base_pool.rb +0 -36
  717. data/lib/puppet/network/http/compression.rb +0 -127
  718. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  719. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  720. data/lib/puppet/network/rest_controller.rb +0 -2
  721. data/lib/puppet/network/rights.rb +0 -210
  722. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  723. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  724. data/lib/puppet/parser/environment_compiler.rb +0 -202
  725. data/lib/puppet/pops/types/enumeration.rb +0 -16
  726. data/lib/puppet/resource/capability_finder.rb +0 -154
  727. data/lib/puppet/rest/errors.rb +0 -15
  728. data/lib/puppet/rest/response.rb +0 -35
  729. data/lib/puppet/rest/route.rb +0 -85
  730. data/lib/puppet/rest/routes.rb +0 -135
  731. data/lib/puppet/settings/alias_setting.rb +0 -37
  732. data/lib/puppet/ssl/host.rb +0 -505
  733. data/lib/puppet/ssl/key.rb +0 -61
  734. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  735. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  736. data/lib/puppet/ssl/validator.rb +0 -61
  737. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  738. data/lib/puppet/status.rb +0 -40
  739. data/lib/puppet/util/connection.rb +0 -88
  740. data/lib/puppet/util/fact_dif.rb +0 -81
  741. data/lib/puppet/util/ssl.rb +0 -83
  742. data/lib/puppet/util/windows/api_types.rb +0 -309
  743. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  744. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  745. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  746. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  747. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  748. data/lib/puppet/vendor/pathspec/README.md +0 -53
  749. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  750. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  751. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  752. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  753. data/man/man8/puppet-key.8 +0 -126
  754. data/man/man8/puppet-man.8 +0 -76
  755. data/man/man8/puppet-status.8 +0 -108
  756. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  757. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  758. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  759. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  760. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  761. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  762. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  763. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  764. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  765. data/spec/fixtures/ssl/oid-key.pem +0 -117
  766. data/spec/fixtures/ssl/oid.pem +0 -69
  767. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  768. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  769. data/spec/integration/application/resource_spec.rb +0 -68
  770. data/spec/integration/application/ssl_spec.rb +0 -20
  771. data/spec/integration/l10n/compiler_spec.rb +0 -37
  772. data/spec/integration/network/authconfig_spec.rb +0 -256
  773. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  774. data/spec/shared_contexts/l10n.rb +0 -32
  775. data/spec/unit/application/man_spec.rb +0 -52
  776. data/spec/unit/capability_spec.rb +0 -414
  777. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  778. data/spec/unit/face/key_spec.rb +0 -9
  779. data/spec/unit/face/module/search_spec.rb +0 -231
  780. data/spec/unit/face/status_spec.rb +0 -9
  781. data/spec/unit/facter_impl_spec.rb +0 -31
  782. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  783. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  784. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  785. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  786. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  787. data/spec/unit/indirector/key/file_spec.rb +0 -78
  788. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  789. data/spec/unit/indirector/status/local_spec.rb +0 -10
  790. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  791. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  792. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  793. data/spec/unit/network/authstore_spec.rb +0 -407
  794. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  795. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  796. data/spec/unit/network/http/compression_spec.rb +0 -240
  797. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  798. data/spec/unit/network/http_spec.rb +0 -9
  799. data/spec/unit/network/rights_spec.rb +0 -439
  800. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  801. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  802. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  803. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  804. data/spec/unit/rest/route_spec.rb +0 -132
  805. data/spec/unit/ssl/host_spec.rb +0 -645
  806. data/spec/unit/ssl/key_spec.rb +0 -173
  807. data/spec/unit/ssl/validator_spec.rb +0 -278
  808. data/spec/unit/status_spec.rb +0 -45
  809. data/spec/unit/util/json_spec.rb +0 -126
  810. data/spec/unit/util/ssl_spec.rb +0 -91
  811. data/spec/unit/util/windows_spec.rb +0 -23
@@ -3,7 +3,7 @@ require 'puppet/application/facts'
3
3
 
4
4
  describe Puppet::Application::Facts do
5
5
  let(:app) { Puppet::Application[:facts] }
6
- let(:values) { {"filesystems" => "apfs,autofs,devfs", "macaddress" => "64:52:11:22:03:2e"} }
6
+ let(:values) { {"filesystems" => "apfs,autofs,devfs", "macaddress" => "64:52:11:22:03:25"} }
7
7
 
8
8
  before :each do
9
9
  Puppet::Node::Facts.indirection.terminus_class = :memory
@@ -21,7 +21,7 @@ describe Puppet::Application::Facts do
21
21
  name: whatever
22
22
  values:
23
23
  filesystems: apfs,autofs,devfs
24
- macaddress: "64:52:11:22:03:2e"
24
+ macaddress: "64:52:11:22:03:25"
25
25
  END
26
26
 
27
27
  expect {
@@ -42,7 +42,7 @@ describe Puppet::Application::Facts do
42
42
  name: #{Puppet[:certname]}
43
43
  values:
44
44
  filesystems: apfs,autofs,devfs
45
- macaddress: "64:52:11:22:03:2e"
45
+ macaddress: "64:52:11:22:03:25"
46
46
  END
47
47
 
48
48
  expect {
@@ -52,12 +52,7 @@ describe Puppet::Application::Facts do
52
52
  end
53
53
 
54
54
  context 'when show action is called' do
55
- let(:expected) { <<~END }
56
- {
57
- "filesystems": "apfs,autofs,devfs",
58
- "macaddress": "64:52:11:22:03:2e"
59
- }
60
- END
55
+ let(:expected) { "{\n \"filesystems\": \"apfs,autofs,devfs\",\n \"macaddress\": \"64:52:11:22:03:25\"\n}\n" }
61
56
 
62
57
  before :each do
63
58
  Puppet::Node::Facts.indirection.terminus_class = :facter
@@ -69,464 +64,25 @@ describe Puppet::Application::Facts do
69
64
  expect {
70
65
  app.run
71
66
  }.to exit_with(0)
72
- .and output(expected).to_stdout
73
- end
74
-
75
- it 'displays a single fact value' do
76
- app.command_line.args << 'filesystems' << '--value-only'
77
- expect {
78
- app.run
79
- }.to exit_with(0)
80
- .and output("apfs,autofs,devfs\n").to_stdout
81
- end
82
-
83
- it "warns and ignores value-only when multiple fact names are specified" do
84
- app.command_line.args << 'filesystems' << 'macaddress' << '--value-only'
85
- expect {
86
- app.run
87
- }.to exit_with(0)
88
- .and output(expected).to_stdout
89
- .and output(/it can only be used when querying for a single fact/).to_stderr
90
- end
91
-
92
- {
93
- "type_hash" => [{'a' => 2}, "{\n \"a\": 2\n}"],
94
- "type_array" => [[], "[\n\n]"],
95
- "type_string" => ["str", "str"],
96
- "type_int" => [1, "1"],
97
- "type_float" => [1.0, "1.0"],
98
- "type_true" => [true, "true"],
99
- "type_false" => [false, "false"],
100
- "type_nil" => [nil, ""],
101
- "type_sym" => [:sym, "sym"]
102
- }.each_pair do |name, values|
103
- it "renders '#{name}' as '#{values.last}'" do
104
- fact_value = values.first
105
- fact_output = values.last
106
-
107
- allow(Facter).to receive(:resolve).and_return({name => fact_value})
108
-
109
- app.command_line.args << name << '--value-only'
110
- expect {
111
- app.run
112
- }.to exit_with(0)
113
- .and output("#{fact_output}\n").to_stdout
114
- end
67
+ .and output(expected).to_stdout
115
68
  end
116
69
  end
117
70
 
118
- context 'when diff action is called' do
119
- let(:facter3_facts) { <<~END }
120
- {
121
- "hypervisors": {
122
- "vmware": {
123
- "version": ""
124
- }
125
- },
126
- "networking": {
127
- "interfaces": {
128
- "lo": {
129
- "bindings6": [
130
- {
131
- "network": "::1"
132
- }
133
- ]
134
- },
135
- "em0.1": {
136
- "ip": "0.0.0.0"
137
- }
138
- }
139
- },
140
- "macaddress": "64:52:11:22:03:2e",
141
- "obsolete_fact": "true",
142
- "mountpoints": {
143
- "/var": {
144
- "options": [
145
- "noatime",
146
- "journaled",
147
- "nobrowse"
148
- ]
149
- }
150
- }
151
- }
152
- END
153
-
154
- let(:facter4_facts) { <<~END }
155
- {
156
- "hypervisors": {
157
- "vmware": {
158
- "version": "ESXi 6.7"
159
- }
160
- },
161
- "networking": {
162
- "interfaces": {
163
- "lo": {
164
- "bindings6": [
165
- {
166
- "network": "::1",
167
- "scope6": "host"
168
- }
169
- ]
170
- },
171
- "em0.1": {
172
- "ip": "127.0.0.1"
173
- }
174
- }
175
- },
176
- "macaddress": "64:52:11:22:03:2e",
177
- "mountpoints": {
178
- "/var": {
179
- "options": [
180
- "noatime",
181
- "nobrowse",
182
- "journaled"
183
- ]
184
- }
185
- }
186
- }
187
- END
71
+ context 'when default action is called' do
72
+ let(:expected) { "---\nfilesystems: apfs,autofs,devfs\nmacaddress: 64:52:11:22:03:25\n" }
188
73
 
189
74
  before :each do
190
75
  Puppet::Node::Facts.indirection.terminus_class = :facter
191
- app.command_line.args = %w{diff}
192
-
193
- allow(Facter).to receive(:value).with('facterversion').and_return('3.99.0')
194
- allow(Puppet::Util::Execution).to receive(:execute).with(/puppet facts show --no-facterng/, combine:false).and_return(facter3_facts)
195
- allow(Puppet::Util::Execution).to receive(:execute).with(/puppet facts show --facterng/, combine:false).and_return(facter4_facts)
196
- end
197
-
198
- # Workaround for YAML issue on Ubuntu where null values get space as key
199
- let(:regex) { false }
200
- shared_examples_for 'correctly rendering output' do |render_format|
201
- it 'correctly displays output' do
202
- app.command_line.args << '--structured' if structured
203
- app.command_line.args << '--exclude' << exclude if exclude
204
- app.command_line.args << '--render-as' << render_format if render_format
205
- expect {
206
- app.run
207
- }.to exit_with(0)
208
- .and output(regex ? /#{expected_output}/ : expected_output).to_stdout
209
- end
210
- end
211
-
212
- context 'when no exclude regex is provided via CLI' do
213
- let(:exclude) { nil }
214
- context 'when structured is requested' do
215
- let(:structured) { true }
216
- context 'when rendering is set to default' do
217
- let(:expected_output) { <<~END }
218
- {
219
- "hypervisors": {
220
- "vmware": {
221
- "version": {
222
- "new_value": "ESXi 6.7",
223
- "old_value": ""
224
- }
225
- }
226
- },
227
- "mountpoints": {
228
- "/var": {
229
- "options": {
230
- "1": {
231
- "new_value": "nobrowse",
232
- "old_value": "journaled"
233
- },
234
- "2": {
235
- "new_value": "journaled",
236
- "old_value": "nobrowse"
237
- }
238
- }
239
- }
240
- },
241
- "networking": {
242
- "interfaces": {
243
- "em0.1": {
244
- "ip": {
245
- "new_value": "127.0.0.1",
246
- "old_value": "0.0.0.0"
247
- }
248
- },
249
- "lo": {
250
- "bindings6": {
251
- "0": {
252
- "scope6": {
253
- "new_value": "host",
254
- "old_value": null
255
- }
256
- }
257
- }
258
- }
259
- }
260
- },
261
- "obsolete_fact": {
262
- "new_value": null,
263
- "old_value": "true"
264
- }
265
- }
266
- END
267
-
268
- it_behaves_like 'correctly rendering output'
269
- end
270
-
271
- context 'when rendering is set to yaml' do
272
- # Workaround for YAML issue on Ubuntu where null values get space as key
273
- let(:regex) { true }
274
- let(:expected_output) { <<~END }
275
- ---
276
- hypervisors:
277
- vmware:
278
- version:
279
- :new_value: ESXi 6\.7
280
- :old_value: ''
281
- mountpoints:
282
- "/var":
283
- options:
284
- 1:
285
- :new_value: nobrowse
286
- :old_value: journaled
287
- 2:
288
- :new_value: journaled
289
- :old_value: nobrowse
290
- networking:
291
- interfaces:
292
- em0\.1:
293
- ip:
294
- :new_value: 127\.0\.0\.1
295
- :old_value: 0\.0\.0\.0
296
- lo:
297
- bindings6:
298
- 0:
299
- scope6:
300
- :new_value: host
301
- :old_value:\s?
302
- obsolete_fact:
303
- :new_value:\s?
304
- :old_value: 'true'
305
- END
306
-
307
- it_behaves_like 'correctly rendering output', 'yaml'
308
- end
309
-
310
- context 'when rendering is set to json' do
311
- let(:expected_output) { <<~END }
312
- {"hypervisors":{"vmware":{"version":{"new_value":"ESXi 6.7","old_value":""}}},\
313
- "mountpoints":{"/var":{"options":{"1":{"new_value":"nobrowse","old_value":"journaled"},\
314
- "2":{"new_value":"journaled","old_value":"nobrowse"}}}},"networking":{"interfaces":\
315
- {"em0.1":{"ip":{"new_value":"127.0.0.1","old_value":"0.0.0.0"}},"lo":{"bindings6":\
316
- {"0":{"scope6":{"new_value":"host","old_value":null}}}}}},"obsolete_fact":\
317
- {"new_value":null,"old_value":"true"}}
318
- END
319
-
320
- it_behaves_like 'correctly rendering output', 'json'
321
- end
322
- end
323
-
324
- context 'when structured is not requested' do
325
- let(:structured) { false }
326
- context 'when rendering is set to default' do
327
- let(:expected_output) { <<~END }
328
- {
329
- "hypervisors.vmware.version": {
330
- "new_value": "ESXi 6.7",
331
- "old_value": ""
332
- },
333
- "mountpoints./var.options.1": {
334
- "new_value": "nobrowse",
335
- "old_value": "journaled"
336
- },
337
- "mountpoints./var.options.2": {
338
- "new_value": "journaled",
339
- "old_value": "nobrowse"
340
- },
341
- "networking.interfaces.\\"em0.1\\".ip": {
342
- "new_value": "127.0.0.1",
343
- "old_value": "0.0.0.0"
344
- },
345
- "networking.interfaces.lo.bindings6.0.scope6": {
346
- "new_value": "host",
347
- "old_value": null
348
- },
349
- "obsolete_fact": {
350
- "new_value": null,
351
- "old_value": "true"
352
- }
353
- }
354
- END
355
-
356
- it_behaves_like 'correctly rendering output'
357
- end
358
-
359
- context 'when rendering is set to yaml' do
360
- # Workaround for YAML issue on Ubuntu where null values get space as key
361
- let(:regex) { true }
362
- let(:expected_output) { <<~END }
363
- ---
364
- hypervisors\.vmware\.version:
365
- :new_value: ESXi 6\.7
366
- :old_value: ''
367
- mountpoints\./var\.options\.1:
368
- :new_value: nobrowse
369
- :old_value: journaled
370
- mountpoints\./var\.options\.2:
371
- :new_value: journaled
372
- :old_value: nobrowse
373
- networking\.interfaces\."em0\.1"\.ip:
374
- :new_value: 127\.0\.0\.1
375
- :old_value: 0\.0\.0\.0
376
- networking\.interfaces\.lo\.bindings6\.0\.scope6:
377
- :new_value: host
378
- :old_value:\s?
379
- obsolete_fact:
380
- :new_value:\s?
381
- :old_value: 'true'
382
- END
383
-
384
- it_behaves_like 'correctly rendering output', 'yaml'
385
- end
386
-
387
- context 'when rendering is set to json' do
388
- let(:expected_output) { <<~END }
389
- {"hypervisors.vmware.version":{"new_value":"ESXi 6.7","old_value":""},\
390
- "mountpoints./var.options.1":{"new_value":"nobrowse","old_value":"journaled"},\
391
- "mountpoints./var.options.2":{"new_value":"journaled","old_value":"nobrowse"},\
392
- "networking.interfaces.\\"em0.1\\".ip":{"new_value":"127.0.0.1",\
393
- "old_value":"0.0.0.0"},"networking.interfaces.lo.bindings6.0.scope6":\
394
- {"new_value":"host","old_value":null},"obsolete_fact":{"new_value":null,\
395
- "old_value":"true"}}
396
- END
397
-
398
- it_behaves_like 'correctly rendering output', 'json'
399
- end
400
- end
401
- end
402
-
403
- context 'when unwanted facts are excluded from diff via CLI option' do
404
- let(:exclude) { '^mountpoints\./var\.options.*$|^obsolete_fact$|^hypervisors' }
405
- context 'when structured is requested' do
406
- let(:structured) { true }
407
- context 'when rendering is set to default' do
408
- let(:expected_output) { <<~END }
409
- {
410
- "networking": {
411
- "interfaces": {
412
- "em0.1": {
413
- "ip": {
414
- "new_value": "127.0.0.1",
415
- "old_value": "0.0.0.0"
416
- }
417
- },
418
- "lo": {
419
- "bindings6": {
420
- "0": {
421
- "scope6": {
422
- "new_value": "host",
423
- "old_value": null
424
- }
425
- }
426
- }
427
- }
428
- }
429
- }
430
- }
431
- END
432
-
433
- it_behaves_like 'correctly rendering output'
434
- end
435
-
436
- context 'when rendering is set to yaml' do
437
- # Workaround for YAML issue on Ubuntu where null values get space as key
438
- let(:regex) { true }
439
- let(:expected_output) { <<~END }
440
- ---
441
- networking:
442
- interfaces:
443
- em0\.1:
444
- ip:
445
- :new_value: 127\.0\.0\.1
446
- :old_value: 0\.0\.0\.0
447
- lo:
448
- bindings6:
449
- 0:
450
- scope6:
451
- :new_value: host
452
- :old_value:\s?
453
- END
454
-
455
- it_behaves_like 'correctly rendering output', 'yaml'
456
- end
457
-
458
- context 'when rendering is set to json' do
459
- let(:expected_output) { <<~END }
460
- {"networking":{"interfaces":{"em0.1":{"ip":{"new_value":"127.0.0.1",\
461
- "old_value":"0.0.0.0"}},"lo":{"bindings6":{"0":{"scope6":{"new_value":\
462
- "host","old_value":null}}}}}}}
463
- END
464
-
465
- it_behaves_like 'correctly rendering output', 'json'
466
- end
467
- end
468
-
469
- context 'when structured is not requested' do
470
- let(:structured) { false }
471
- context 'when rendering is set to default' do
472
- let(:expected_output) { <<~END }
473
- {
474
- "networking.interfaces.\\"em0.1\\".ip": {
475
- "new_value": "127.0.0.1",
476
- "old_value": "0.0.0.0"
477
- },
478
- "networking.interfaces.lo.bindings6.0.scope6": {
479
- "new_value": "host",
480
- "old_value": null
481
- }
482
- }
483
- END
484
-
485
- it_behaves_like 'correctly rendering output'
486
- end
487
-
488
- context 'when rendering is set to yaml' do
489
- # Workaround for YAML issue on Ubuntu where null values get space as key
490
- let(:regex) { true }
491
- let(:expected_output) { <<~END }
492
- ---
493
- networking\.interfaces\."em0\.1"\.ip:
494
- :new_value: 127\.0\.0\.1
495
- :old_value: 0\.0\.0\.0
496
- networking\.interfaces\.lo\.bindings6\.0\.scope6:
497
- :new_value: host
498
- :old_value:\s?
499
- END
500
-
501
- it_behaves_like 'correctly rendering output', 'yaml'
502
- end
503
-
504
- context 'when rendering is set to json' do
505
- let(:expected_output) { <<~END }
506
- {"networking.interfaces.\\"em0.1\\".ip":{"new_value":"127.0.0.1",\
507
- "old_value":"0.0.0.0"},"networking.interfaces.lo.bindings6.0.scope6":\
508
- {"new_value":"host","old_value":null}}
509
- END
510
-
511
- it_behaves_like 'correctly rendering output', 'json'
512
- end
513
- end
514
- end
515
- end
516
-
517
- context 'when default action is called' do
518
- before :each do
519
- Puppet::Node::Facts.indirection.terminus_class = :memory
520
- facts = Puppet::Node::Facts.new('whatever', values)
521
- Puppet::Node::Facts.indirection.save(facts)
76
+ allow(Facter).to receive(:resolve).and_return(values)
77
+ app.command_line.args = %w{--render-as yaml}
522
78
  end
523
79
 
524
- it 'calls find action' do
80
+ it 'calls show action' do
525
81
  expect {
526
82
  app.run
527
83
  }.to exit_with(0)
528
- .and output(anything).to_stdout
529
- expect(app.action.name).to eq(:find)
84
+ .and output(expected).to_stdout
85
+ expect(app.action.name).to eq(:show)
530
86
  end
531
87
  end
532
88
  end
@@ -42,6 +42,7 @@ describe Puppet::Application::Filebucket do
42
42
  describe "during setup" do
43
43
  before :each do
44
44
  allow(Puppet::Log).to receive(:newdestination)
45
+ allow(Puppet).to receive(:settraps)
45
46
  allow(Puppet::FileBucket::Dipper).to receive(:new)
46
47
  allow(@filebucket.options).to receive(:[])
47
48
  end
@@ -114,15 +115,15 @@ describe Puppet::Application::Filebucket do
114
115
  end
115
116
 
116
117
  it "should default to the first good server_list entry if server_list is set" do
117
- stub_request(:get, "https://foo:8140/status/v1/simple/master").to_return(status: 200)
118
+ stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 200)
118
119
  Puppet[:server_list] = "foo,bar,baz"
119
120
  expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "foo"))
120
121
  @filebucket.setup
121
122
  end
122
123
 
123
124
  it "should walk server_list until it finds a good entry" do
124
- stub_request(:get, "https://foo:8140/status/v1/simple/master").to_return(status: 502)
125
- stub_request(:get, "https://bar:8140/status/v1/simple/master").to_return(status: 200)
125
+ stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 502)
126
+ stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 200)
126
127
  Puppet[:server_list] = "foo,bar,baz"
127
128
  expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "bar"))
128
129
  @filebucket.setup
@@ -130,6 +131,8 @@ describe Puppet::Application::Filebucket do
130
131
 
131
132
  # FileBucket catches any exceptions raised, logs them, then just exits
132
133
  it "raises an error if there are no functional servers in server_list" do
134
+ stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 404)
135
+ stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 404)
133
136
  stub_request(:get, "https://foo:8140/status/v1/simple/master").to_return(status: 404)
134
137
  stub_request(:get, "https://bar:8140/status/v1/simple/master").to_return(status: 404)
135
138
  Puppet[:server] = 'horacio'
@@ -145,7 +148,7 @@ describe Puppet::Application::Filebucket do
145
148
  end
146
149
 
147
150
  it "should take both the server and port specified in server_list" do
148
- stub_request(:get, "https://foo:632/status/v1/simple/master").to_return(status: 200)
151
+ stub_request(:get, "https://foo:632/status/v1/simple/server").to_return(status: 200)
149
152
  Puppet[:server_list] = "foo:632,bar:6215,baz:351"
150
153
  expect(Puppet::FileBucket::Dipper).to receive(:new).with({ :Server => "foo", :Port => 632 })
151
154
  @filebucket.setup
@@ -156,6 +159,7 @@ describe Puppet::Application::Filebucket do
156
159
  describe "when running" do
157
160
  before :each do
158
161
  allow(Puppet::Log).to receive(:newdestination)
162
+ allow(Puppet).to receive(:settraps)
159
163
  allow(Puppet::FileBucket::Dipper).to receive(:new)
160
164
  allow(@filebucket.options).to receive(:[])
161
165
 
@@ -185,11 +189,11 @@ describe Puppet::Application::Filebucket do
185
189
  @filebucket.get
186
190
  end
187
191
 
188
- it "should call the client getfile method with the given md5" do
189
- md5="DEADBEEF"
190
- allow(@filebucket).to receive(:args).and_return([md5])
192
+ it "should call the client getfile method with the given digest" do
193
+ digest = 'DEADBEEF'
194
+ allow(@filebucket).to receive(:args).and_return([digest])
191
195
 
192
- expect(@client).to receive(:getfile).with(md5)
196
+ expect(@client).to receive(:getfile).with(digest)
193
197
 
194
198
  @filebucket.get
195
199
  end
@@ -223,12 +227,12 @@ describe Puppet::Application::Filebucket do
223
227
  end
224
228
 
225
229
  describe "the command restore" do
226
- it "should call the client getfile method with the given md5" do
227
- md5="DEADBEEF"
228
- file="testfile"
229
- allow(@filebucket).to receive(:args).and_return([file, md5])
230
+ it "should call the client getfile method with the given digest" do
231
+ digest = 'DEADBEEF'
232
+ file = 'testfile'
233
+ allow(@filebucket).to receive(:args).and_return([file, digest])
230
234
 
231
- expect(@client).to receive(:restore).with(file,md5)
235
+ expect(@client).to receive(:restore).with(file, digest)
232
236
 
233
237
  @filebucket.restore
234
238
  end
@@ -236,55 +240,55 @@ describe Puppet::Application::Filebucket do
236
240
 
237
241
  describe "the command diff" do
238
242
  it "should call the client diff method with 2 given checksums" do
239
- md5a="DEADBEEF"
240
- md5b="BEEF"
243
+ digest_a = 'DEADBEEF'
244
+ digest_b = 'BEEF'
241
245
  allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
242
- allow(@filebucket).to receive(:args).and_return([md5a, md5b])
246
+ allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
243
247
 
244
- expect(@client).to receive(:diff).with(md5a,md5b, nil, nil)
248
+ expect(@client).to receive(:diff).with(digest_a, digest_b, nil, nil)
245
249
 
246
250
  @filebucket.diff
247
251
  end
248
252
 
249
- it "should call the clien diff with a path if the second argument is a file" do
250
- md5a="DEADBEEF"
251
- md5b="BEEF"
252
- allow(Puppet::FileSystem).to receive(:exist?).with(md5a).and_return(false)
253
- allow(Puppet::FileSystem).to receive(:exist?).with(md5b).and_return(true)
254
- allow(@filebucket).to receive(:args).and_return([md5a, md5b])
253
+ it "should call the client diff with a path if the second argument is a file" do
254
+ digest_a = 'DEADBEEF'
255
+ digest_b = 'BEEF'
256
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(false)
257
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
258
+ allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
255
259
 
256
- expect(@client).to receive(:diff).with(md5a, nil, nil, md5b)
260
+ expect(@client).to receive(:diff).with(digest_a, nil, nil, digest_b)
257
261
 
258
262
  @filebucket.diff
259
263
  end
260
264
 
261
- it "should call the clien diff with a path if the first argument is a file" do
262
- md5a="DEADBEEF"
263
- md5b="BEEF"
264
- allow(Puppet::FileSystem).to receive(:exist?).with(md5a).and_return(true)
265
- allow(Puppet::FileSystem).to receive(:exist?).with(md5b).and_return(false)
266
- allow(@filebucket).to receive(:args).and_return([md5a, md5b])
265
+ it "should call the client diff with a path if the first argument is a file" do
266
+ digest_a = 'DEADBEEF'
267
+ digest_b = 'BEEF'
268
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
269
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(false)
270
+ allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
267
271
 
268
- expect(@client).to receive(:diff).with(nil, md5b, md5a, nil)
272
+ expect(@client).to receive(:diff).with(nil, digest_b, digest_a, nil)
269
273
 
270
274
  @filebucket.diff
271
275
  end
272
276
 
273
277
  it "should call the clien diff with paths if the both arguments are files" do
274
- md5a="DEADBEEF"
275
- md5b="BEEF"
276
- allow(Puppet::FileSystem).to receive(:exist?).with(md5a).and_return(true)
277
- allow(Puppet::FileSystem).to receive(:exist?).with(md5b).and_return(true)
278
- allow(@filebucket).to receive(:args).and_return([md5a, md5b])
278
+ digest_a = 'DEADBEEF'
279
+ digest_b = 'BEEF'
280
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
281
+ allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
282
+ allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
279
283
 
280
- expect(@client).to receive(:diff).with(nil, nil, md5a, md5b)
284
+ expect(@client).to receive(:diff).with(nil, nil, digest_a, digest_b)
281
285
 
282
286
  @filebucket.diff
283
287
  end
284
288
 
285
289
  it "should fail if only one checksum is given" do
286
- md5a="DEADBEEF"
287
- allow(@filebucket).to receive(:args).and_return([md5a])
290
+ digest_a = 'DEADBEEF'
291
+ allow(@filebucket).to receive(:args).and_return([digest_a])
288
292
 
289
293
  expect { @filebucket.diff }.to raise_error Puppet::Error
290
294
  end