puppet 6.29.0-x86-mingw32 → 7.0.0-x86-mingw32

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

Potentially problematic release.


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

Files changed (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 -143
  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 +2 -16
  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/ext/solaris/pkginfo +6 -0
  87. data/ext/solaris/smf/puppetd.xml +77 -0
  88. data/ext/solaris/smf/puppetmasterd.xml +77 -0
  89. data/ext/solaris/smf/svc-puppetd +71 -0
  90. data/ext/solaris/smf/svc-puppetmasterd +67 -0
  91. data/ext/suse/puppet.spec +310 -0
  92. data/ext/suse/server.init +173 -0
  93. data/ext/windows/service/daemon.rb +6 -5
  94. data/ext/yaml_nodes.rb +105 -0
  95. data/install.rb +21 -17
  96. data/lib/puppet/agent.rb +11 -47
  97. data/lib/puppet/application/agent.rb +16 -18
  98. data/lib/puppet/application/apply.rb +4 -24
  99. data/lib/puppet/application/device.rb +100 -106
  100. data/lib/puppet/application/filebucket.rb +13 -10
  101. data/lib/puppet/application/lookup.rb +24 -74
  102. data/lib/puppet/application/resource.rb +16 -32
  103. data/lib/puppet/application/script.rb +0 -2
  104. data/lib/puppet/application/ssl.rb +1 -13
  105. data/lib/puppet/application.rb +178 -108
  106. data/lib/puppet/application_support.rb +0 -7
  107. data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
  108. data/lib/puppet/configurer/downloader.rb +1 -2
  109. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  110. data/lib/puppet/configurer.rb +86 -183
  111. data/lib/puppet/confine/variable.rb +1 -1
  112. data/lib/puppet/defaults.rb +130 -244
  113. data/lib/puppet/environments.rb +82 -146
  114. data/lib/puppet/face/facts.rb +5 -103
  115. data/lib/puppet/face/generate.rb +0 -2
  116. data/lib/puppet/face/help/action.erb +0 -1
  117. data/lib/puppet/face/help/face.erb +0 -1
  118. data/lib/puppet/face/help.rb +1 -1
  119. data/lib/puppet/face/node/clean.rb +0 -11
  120. data/lib/puppet/face/plugin.rb +5 -8
  121. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  122. data/lib/puppet/ffi/windows/constants.rb +404 -0
  123. data/lib/puppet/ffi/windows/functions.rb +628 -0
  124. data/lib/puppet/ffi/windows/structs.rb +338 -0
  125. data/lib/puppet/ffi/windows.rb +12 -0
  126. data/lib/puppet/file_serving/configuration/parser.rb +3 -34
  127. data/lib/puppet/file_serving/configuration.rb +0 -8
  128. data/lib/puppet/file_serving/fileset.rb +2 -14
  129. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  130. data/lib/puppet/file_serving/metadata.rb +0 -3
  131. data/lib/puppet/file_serving/mount/file.rb +4 -4
  132. data/lib/puppet/file_serving/mount.rb +1 -2
  133. data/lib/puppet/file_system/file_impl.rb +8 -10
  134. data/lib/puppet/file_system/jruby.rb +1 -1
  135. data/lib/puppet/file_system/memory_file.rb +1 -8
  136. data/lib/puppet/file_system/windows.rb +6 -8
  137. data/lib/puppet/file_system.rb +1 -1
  138. data/lib/puppet/forge/repository.rb +0 -1
  139. data/lib/puppet/forge.rb +4 -4
  140. data/lib/puppet/functions/all.rb +1 -1
  141. data/lib/puppet/functions/camelcase.rb +1 -1
  142. data/lib/puppet/functions/capitalize.rb +2 -2
  143. data/lib/puppet/functions/downcase.rb +2 -2
  144. data/lib/puppet/functions/empty.rb +0 -8
  145. data/lib/puppet/functions/find_template.rb +2 -2
  146. data/lib/puppet/functions/get.rb +5 -5
  147. data/lib/puppet/functions/group_by.rb +5 -13
  148. data/lib/puppet/functions/lest.rb +1 -1
  149. data/lib/puppet/functions/new.rb +100 -100
  150. data/lib/puppet/functions/next.rb +1 -18
  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 +10 -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/functions/versioncmp.rb +2 -6
  160. data/lib/puppet/generate/models/type/type.rb +4 -1
  161. data/lib/puppet/generate/type.rb +0 -9
  162. data/lib/puppet/http/client.rb +167 -137
  163. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  164. data/lib/puppet/http/errors.rb +16 -0
  165. data/lib/puppet/http/external_client.rb +5 -7
  166. data/lib/puppet/{network/http → http}/factory.rb +8 -15
  167. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  168. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  169. data/lib/puppet/http/proxy.rb +137 -0
  170. data/lib/puppet/http/redirector.rb +4 -17
  171. data/lib/puppet/http/resolver/server_list.rb +10 -25
  172. data/lib/puppet/http/resolver/settings.rb +4 -7
  173. data/lib/puppet/http/resolver/srv.rb +7 -11
  174. data/lib/puppet/http/resolver.rb +5 -15
  175. data/lib/puppet/http/response.rb +36 -54
  176. data/lib/puppet/http/response_converter.rb +24 -0
  177. data/lib/puppet/http/response_net_http.rb +42 -0
  178. data/lib/puppet/http/retry_after_handler.rb +4 -13
  179. data/lib/puppet/http/service/ca.rb +11 -22
  180. data/lib/puppet/http/service/compiler.rb +23 -144
  181. data/lib/puppet/http/service/file_server.rb +19 -29
  182. data/lib/puppet/http/service/puppetserver.rb +26 -12
  183. data/lib/puppet/http/service/report.rb +8 -10
  184. data/lib/puppet/http/service.rb +12 -26
  185. data/lib/puppet/http/session.rb +11 -20
  186. data/lib/puppet/{network/http → http}/site.rb +1 -2
  187. data/lib/puppet/http.rb +22 -13
  188. data/lib/puppet/indirector/catalog/compiler.rb +6 -25
  189. data/lib/puppet/indirector/catalog/rest.rb +2 -5
  190. data/lib/puppet/indirector/facts/facter.rb +6 -6
  191. data/lib/puppet/indirector/facts/rest.rb +3 -22
  192. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  193. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  194. data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
  195. data/lib/puppet/indirector/file_server.rb +1 -8
  196. data/lib/puppet/indirector/generic_http.rb +0 -11
  197. data/lib/puppet/indirector/indirection.rb +1 -1
  198. data/lib/puppet/indirector/node/rest.rb +2 -4
  199. data/lib/puppet/indirector/report/rest.rb +3 -8
  200. data/lib/puppet/indirector/request.rb +0 -101
  201. data/lib/puppet/indirector/resource/ral.rb +1 -6
  202. data/lib/puppet/indirector/rest.rb +12 -263
  203. data/lib/puppet/indirector/terminus.rb +0 -4
  204. data/lib/puppet/interface/documentation.rb +0 -1
  205. data/lib/puppet/module/plan.rb +1 -0
  206. data/lib/puppet/module/task.rb +1 -1
  207. data/lib/puppet/module.rb +0 -1
  208. data/lib/puppet/module_tool/applications/installer.rb +2 -56
  209. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  210. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  211. data/lib/puppet/module_tool/applications.rb +0 -1
  212. data/lib/puppet/module_tool/errors/shared.rb +2 -34
  213. data/lib/puppet/network/authconfig.rb +2 -96
  214. data/lib/puppet/network/authorization.rb +13 -35
  215. data/lib/puppet/network/formats.rb +0 -67
  216. data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
  217. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  218. data/lib/puppet/network/http/connection.rb +247 -316
  219. data/lib/puppet/network/http/handler.rb +0 -1
  220. data/lib/puppet/network/http.rb +3 -3
  221. data/lib/puppet/network/http_pool.rb +16 -34
  222. data/lib/puppet/node/environment.rb +11 -10
  223. data/lib/puppet/node.rb +2 -31
  224. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  225. data/lib/puppet/pal/pal_impl.rb +4 -2
  226. data/lib/puppet/parser/ast/leaf.rb +2 -3
  227. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  228. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  229. data/lib/puppet/parser/compiler.rb +0 -198
  230. data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
  231. data/lib/puppet/parser/resource.rb +1 -70
  232. data/lib/puppet/parser/scope.rb +0 -1
  233. data/lib/puppet/parser/templatewrapper.rb +1 -2
  234. data/lib/puppet/pops/evaluator/closure.rb +5 -7
  235. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  236. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  237. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
  238. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  239. data/lib/puppet/pops/issues.rb +0 -5
  240. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  241. data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
  242. data/lib/puppet/pops/model/ast.pp +0 -42
  243. data/lib/puppet/pops/model/ast.rb +0 -291
  244. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  245. data/lib/puppet/pops/model/factory.rb +1 -47
  246. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  247. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  248. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  249. data/lib/puppet/pops/parser/code_merger.rb +4 -4
  250. data/lib/puppet/pops/parser/egrammar.ra +0 -58
  251. data/lib/puppet/pops/parser/eparser.rb +1685 -1896
  252. data/lib/puppet/pops/parser/lexer2.rb +91 -92
  253. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  254. data/lib/puppet/pops/parser/slurp_support.rb +0 -1
  255. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  256. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  257. data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
  258. data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
  259. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  260. data/lib/puppet/pops/types/type_formatter.rb +3 -4
  261. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  262. data/lib/puppet/pops/types/type_parser.rb +0 -4
  263. data/lib/puppet/pops/types/types.rb +1 -2
  264. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  265. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  266. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  267. data/lib/puppet/property/list.rb +1 -1
  268. data/lib/puppet/provider/aix_object.rb +1 -1
  269. data/lib/puppet/provider/exec/posix.rb +4 -16
  270. data/lib/puppet/provider/group/groupadd.rb +10 -18
  271. data/lib/puppet/provider/nameservice.rb +0 -18
  272. data/lib/puppet/provider/package/apt.rb +2 -34
  273. data/lib/puppet/provider/package/aptitude.rb +0 -6
  274. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  275. data/lib/puppet/provider/package/dpkg.rb +0 -10
  276. data/lib/puppet/provider/package/gem.rb +23 -3
  277. data/lib/puppet/provider/package/nim.rb +6 -11
  278. data/lib/puppet/provider/package/pip.rb +3 -16
  279. data/lib/puppet/provider/package/pkg.rb +2 -23
  280. data/lib/puppet/provider/package/portage.rb +1 -1
  281. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  282. data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
  283. data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
  284. data/lib/puppet/provider/package/windows/package.rb +1 -2
  285. data/lib/puppet/provider/package/windows.rb +1 -14
  286. data/lib/puppet/provider/package/yum.rb +1 -1
  287. data/lib/puppet/provider/parsedfile.rb +0 -3
  288. data/lib/puppet/provider/service/base.rb +1 -1
  289. data/lib/puppet/provider/service/debian.rb +0 -2
  290. data/lib/puppet/provider/service/init.rb +9 -10
  291. data/lib/puppet/provider/service/launchd.rb +2 -2
  292. data/lib/puppet/provider/service/redhat.rb +1 -1
  293. data/lib/puppet/provider/service/smf.rb +194 -76
  294. data/lib/puppet/provider/service/systemd.rb +6 -16
  295. data/lib/puppet/provider/service/upstart.rb +5 -5
  296. data/lib/puppet/provider/service/windows.rb +0 -38
  297. data/lib/puppet/provider/user/aix.rb +3 -46
  298. data/lib/puppet/provider/user/directoryservice.rb +11 -39
  299. data/lib/puppet/provider/user/useradd.rb +24 -134
  300. data/lib/puppet/provider.rb +1 -14
  301. data/lib/puppet/reference/configuration.rb +8 -7
  302. data/lib/puppet/reference/indirection.rb +1 -1
  303. data/lib/puppet/reference/providers.rb +2 -2
  304. data/lib/puppet/resource/catalog.rb +2 -15
  305. data/lib/puppet/resource/type.rb +3 -119
  306. data/lib/puppet/resource/type_collection.rb +3 -49
  307. data/lib/puppet/resource.rb +6 -127
  308. data/lib/puppet/runtime.rb +2 -13
  309. data/lib/puppet/settings/environment_conf.rb +0 -1
  310. data/lib/puppet/settings/integer_setting.rb +17 -0
  311. data/lib/puppet/settings/port_setting.rb +15 -0
  312. data/lib/puppet/settings/priority_setting.rb +5 -4
  313. data/lib/puppet/settings.rb +82 -98
  314. data/lib/puppet/ssl/base.rb +3 -5
  315. data/lib/puppet/ssl/certificate.rb +0 -6
  316. data/lib/puppet/ssl/certificate_request.rb +1 -12
  317. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  318. data/lib/puppet/ssl/oids.rb +3 -1
  319. data/lib/puppet/ssl/ssl_provider.rb +36 -75
  320. data/lib/puppet/ssl/state_machine.rb +20 -14
  321. data/lib/puppet/ssl/verifier.rb +2 -6
  322. data/lib/puppet/ssl.rb +10 -6
  323. data/lib/puppet/test/test_helper.rb +2 -7
  324. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  325. data/lib/puppet/transaction/persistence.rb +1 -21
  326. data/lib/puppet/transaction/report.rb +3 -19
  327. data/lib/puppet/transaction.rb +1 -7
  328. data/lib/puppet/type/exec.rb +6 -36
  329. data/lib/puppet/type/file/checksum.rb +1 -1
  330. data/lib/puppet/type/file/data_sync.rb +1 -1
  331. data/lib/puppet/type/file/mode.rb +0 -6
  332. data/lib/puppet/type/file/selcontext.rb +1 -1
  333. data/lib/puppet/type/file/source.rb +1 -1
  334. data/lib/puppet/type/file.rb +12 -32
  335. data/lib/puppet/type/filebucket.rb +4 -4
  336. data/lib/puppet/type/group.rb +1 -0
  337. data/lib/puppet/type/package.rb +8 -16
  338. data/lib/puppet/type/resources.rb +1 -1
  339. data/lib/puppet/type/service.rb +41 -26
  340. data/lib/puppet/type/tidy.rb +3 -22
  341. data/lib/puppet/type/user.rb +13 -35
  342. data/lib/puppet/type.rb +1 -77
  343. data/lib/puppet/util/autoload.rb +8 -1
  344. data/lib/puppet/util/command_line.rb +1 -1
  345. data/lib/puppet/util/execution.rb +0 -11
  346. data/lib/puppet/util/filetype.rb +2 -2
  347. data/lib/puppet/util/http_proxy.rb +2 -215
  348. data/lib/puppet/util/json.rb +0 -20
  349. data/lib/puppet/util/log.rb +4 -8
  350. data/lib/puppet/util/logging.rb +25 -1
  351. data/lib/puppet/util/monkey_patches.rb +2 -59
  352. data/lib/puppet/util/package.rb +16 -25
  353. data/lib/puppet/util/pidlock.rb +1 -1
  354. data/lib/puppet/util/posix.rb +5 -54
  355. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  356. data/lib/puppet/util/rdoc.rb +0 -7
  357. data/lib/puppet/util/retry_action.rb +1 -1
  358. data/lib/puppet/util/run_mode.rb +9 -1
  359. data/lib/puppet/util/selinux.rb +4 -30
  360. data/lib/puppet/util/suidmanager.rb +2 -1
  361. data/lib/puppet/util/symbolic_file_mode.rb +17 -29
  362. data/lib/puppet/util/tagging.rb +0 -1
  363. data/lib/puppet/util/windows/adsi.rb +0 -46
  364. data/lib/puppet/util/windows/daemon.rb +360 -0
  365. data/lib/puppet/util/windows/error.rb +1 -0
  366. data/lib/puppet/util/windows/eventlog.rb +4 -9
  367. data/lib/puppet/util/windows/file.rb +8 -242
  368. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  369. data/lib/puppet/util/windows/principal.rb +2 -9
  370. data/lib/puppet/util/windows/process.rb +4 -226
  371. data/lib/puppet/util/windows/service.rb +11 -457
  372. data/lib/puppet/util/windows/sid.rb +2 -6
  373. data/lib/puppet/util/windows/string.rb +12 -13
  374. data/lib/puppet/util/windows/user.rb +2 -0
  375. data/lib/puppet/util/windows.rb +3 -11
  376. data/lib/puppet/util/yaml.rb +1 -42
  377. data/lib/puppet/util.rb +5 -5
  378. data/lib/puppet/vendor/require_vendored.rb +0 -1
  379. data/lib/puppet/version.rb +1 -1
  380. data/lib/puppet/x509/cert_provider.rb +29 -1
  381. data/lib/puppet/x509.rb +5 -1
  382. data/lib/puppet.rb +34 -27
  383. data/locales/puppet.pot +9633 -5
  384. data/man/man5/puppet.conf.5 +286 -401
  385. data/man/man8/puppet-agent.8 +2 -5
  386. data/man/man8/puppet-apply.8 +2 -2
  387. data/man/man8/puppet-catalog.8 +9 -9
  388. data/man/man8/puppet-config.8 +1 -1
  389. data/man/man8/puppet-describe.8 +1 -1
  390. data/man/man8/puppet-device.8 +2 -2
  391. data/man/man8/puppet-doc.8 +1 -1
  392. data/man/man8/puppet-epp.8 +1 -1
  393. data/man/man8/puppet-facts.8 +8 -51
  394. data/man/man8/puppet-filebucket.8 +4 -4
  395. data/man/man8/puppet-generate.8 +1 -1
  396. data/man/man8/puppet-help.8 +1 -1
  397. data/man/man8/puppet-lookup.8 +6 -9
  398. data/man/man8/puppet-module.8 +3 -60
  399. data/man/man8/puppet-node.8 +5 -5
  400. data/man/man8/puppet-parser.8 +1 -1
  401. data/man/man8/puppet-plugin.8 +1 -1
  402. data/man/man8/puppet-report.8 +5 -5
  403. data/man/man8/puppet-resource.8 +1 -1
  404. data/man/man8/puppet-script.8 +2 -2
  405. data/man/man8/puppet-ssl.8 +1 -5
  406. data/man/man8/puppet.8 +2 -2
  407. data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
  408. data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
  409. data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
  410. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
  411. data/spec/fixtures/ssl/ca.pem +35 -57
  412. data/spec/fixtures/ssl/crl.pem +18 -28
  413. data/spec/fixtures/ssl/ec-key.pem +11 -11
  414. data/spec/fixtures/ssl/ec.pem +24 -33
  415. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  416. data/spec/fixtures/ssl/encrypted-key.pem +58 -108
  417. data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
  418. data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
  419. data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
  420. data/spec/fixtures/ssl/intermediate.pem +36 -57
  421. data/spec/fixtures/ssl/pluto-key.pem +57 -107
  422. data/spec/fixtures/ssl/pluto.pem +30 -52
  423. data/spec/fixtures/ssl/request-key.pem +57 -107
  424. data/spec/fixtures/ssl/request.pem +26 -47
  425. data/spec/fixtures/ssl/revoked-key.pem +57 -107
  426. data/spec/fixtures/ssl/revoked.pem +30 -52
  427. data/spec/fixtures/ssl/signed-key.pem +57 -107
  428. data/spec/fixtures/ssl/signed.pem +30 -52
  429. data/spec/fixtures/ssl/tampered-cert.pem +30 -52
  430. data/spec/fixtures/ssl/tampered-csr.pem +26 -47
  431. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
  432. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
  433. data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
  434. data/spec/fixtures/ssl/unknown-ca.pem +33 -55
  435. data/spec/fixtures/unit/forge/bacula.json +1 -1
  436. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  437. data/spec/integration/application/agent_spec.rb +50 -406
  438. data/spec/integration/application/apply_spec.rb +1 -20
  439. data/spec/integration/application/filebucket_spec.rb +16 -32
  440. data/spec/integration/application/help_spec.rb +2 -0
  441. data/spec/integration/application/lookup_spec.rb +50 -81
  442. data/spec/integration/application/module_spec.rb +0 -21
  443. data/spec/integration/application/plugin_spec.rb +24 -2
  444. data/spec/integration/configurer_spec.rb +2 -18
  445. data/spec/integration/defaults_spec.rb +14 -3
  446. data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
  447. data/spec/integration/http/client_spec.rb +4 -63
  448. data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
  449. data/spec/integration/indirector/facts/facter_spec.rb +39 -93
  450. data/spec/integration/network/http_pool_spec.rb +3 -21
  451. data/spec/integration/parser/catalog_spec.rb +0 -38
  452. data/spec/integration/parser/node_spec.rb +0 -9
  453. data/spec/integration/parser/pcore_resource_spec.rb +0 -47
  454. data/spec/integration/resource/type_collection_spec.rb +6 -2
  455. data/spec/integration/transaction/report_spec.rb +1 -1
  456. data/spec/integration/transaction_spec.rb +9 -4
  457. data/spec/integration/type/exec_spec.rb +45 -70
  458. data/spec/integration/type/file_spec.rb +7 -6
  459. data/spec/integration/type/package_spec.rb +6 -6
  460. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  461. data/spec/integration/util/windows/adsi_spec.rb +1 -21
  462. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  463. data/spec/integration/util/windows/principal_spec.rb +0 -21
  464. data/spec/integration/util/windows/process_spec.rb +9 -1
  465. data/spec/integration/util/windows/registry_spec.rb +10 -6
  466. data/spec/integration/util/windows/security_spec.rb +1 -1
  467. data/spec/lib/matchers/include.rb +27 -0
  468. data/spec/lib/matchers/include_spec.rb +32 -0
  469. data/spec/lib/puppet/test_ca.rb +2 -7
  470. data/spec/lib/puppet_spec/https.rb +1 -1
  471. data/spec/lib/puppet_spec/modules.rb +2 -13
  472. data/spec/lib/puppet_spec/puppetserver.rb +3 -55
  473. data/spec/lib/puppet_spec/settings.rb +1 -1
  474. data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
  475. data/spec/spec_helper.rb +17 -13
  476. data/spec/unit/agent_spec.rb +8 -38
  477. data/spec/unit/application/agent_spec.rb +19 -33
  478. data/spec/unit/application/apply_spec.rb +56 -76
  479. data/spec/unit/application/facts_spec.rb +12 -456
  480. data/spec/unit/application/filebucket_spec.rb +43 -39
  481. data/spec/unit/application/lookup_spec.rb +10 -131
  482. data/spec/unit/application/resource_spec.rb +0 -29
  483. data/spec/unit/application/ssl_spec.rb +2 -25
  484. data/spec/unit/application_spec.rb +9 -51
  485. data/spec/unit/certificate_factory_spec.rb +1 -1
  486. data/spec/unit/configurer/downloader_spec.rb +6 -8
  487. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  488. data/spec/unit/configurer_spec.rb +68 -327
  489. data/spec/unit/confine/feature_spec.rb +1 -1
  490. data/spec/unit/confine_spec.rb +2 -8
  491. data/spec/unit/context/trusted_information_spec.rb +2 -6
  492. data/spec/unit/daemon_spec.rb +11 -2
  493. data/spec/unit/defaults_spec.rb +68 -55
  494. data/spec/unit/environments_spec.rb +68 -408
  495. data/spec/unit/face/generate_spec.rb +0 -64
  496. data/spec/unit/face/node_spec.rb +11 -0
  497. data/spec/unit/face/plugin_spec.rb +73 -33
  498. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  499. data/spec/unit/file_bucket/file_spec.rb +1 -1
  500. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
  501. data/spec/unit/file_serving/configuration_spec.rb +10 -26
  502. data/spec/unit/file_serving/fileset_spec.rb +0 -60
  503. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  504. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  505. data/spec/unit/file_system_spec.rb +4 -56
  506. data/spec/unit/forge/module_release_spec.rb +10 -5
  507. data/spec/unit/functions/assert_type_spec.rb +1 -1
  508. data/spec/unit/functions/camelcase_spec.rb +1 -1
  509. data/spec/unit/functions/capitalize_spec.rb +1 -1
  510. data/spec/unit/functions/downcase_spec.rb +1 -1
  511. data/spec/unit/functions/empty_spec.rb +0 -10
  512. data/spec/unit/functions/logging_spec.rb +0 -1
  513. data/spec/unit/functions/lookup_spec.rb +0 -64
  514. data/spec/unit/functions/unwrap_spec.rb +0 -8
  515. data/spec/unit/functions/upcase_spec.rb +1 -1
  516. data/spec/unit/functions/versioncmp_spec.rb +4 -40
  517. data/spec/unit/functions4_spec.rb +2 -2
  518. data/spec/unit/gettext/config_spec.rb +0 -12
  519. data/spec/unit/http/client_spec.rb +8 -84
  520. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  521. data/spec/unit/http/external_client_spec.rb +4 -4
  522. data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
  523. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  524. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  525. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  526. data/spec/unit/http/resolver_spec.rb +13 -13
  527. data/spec/unit/http/service/compiler_spec.rb +0 -193
  528. data/spec/unit/http/service/file_server_spec.rb +3 -3
  529. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  530. data/spec/unit/http/service_spec.rb +0 -1
  531. data/spec/unit/http/session_spec.rb +16 -14
  532. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  533. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
  534. data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
  535. data/spec/unit/indirector/face_spec.rb +1 -0
  536. data/spec/unit/indirector/facts/facter_spec.rb +3 -0
  537. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  538. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  539. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  540. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  541. data/spec/unit/indirector/file_server_spec.rb +1 -15
  542. data/spec/unit/indirector/indirection_spec.rb +15 -18
  543. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  544. data/spec/unit/indirector/request_spec.rb +0 -264
  545. data/spec/unit/indirector/resource/ral_spec.rb +75 -40
  546. data/spec/unit/indirector/rest_spec.rb +98 -752
  547. data/spec/unit/indirector/store_configs_spec.rb +7 -0
  548. data/spec/unit/indirector_spec.rb +2 -2
  549. data/spec/unit/interface/action_spec.rb +9 -0
  550. data/spec/unit/module_spec.rb +1 -15
  551. data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
  552. data/spec/unit/network/authconfig_spec.rb +2 -129
  553. data/spec/unit/network/authorization_spec.rb +2 -55
  554. data/spec/unit/network/formats_spec.rb +4 -51
  555. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  556. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  557. data/spec/unit/network/http/api_spec.rb +10 -0
  558. data/spec/unit/network/http/connection_spec.rb +19 -41
  559. data/spec/unit/network/http/handler_spec.rb +0 -1
  560. data/spec/unit/network/http_pool_spec.rb +0 -4
  561. data/spec/unit/node/environment_spec.rb +33 -21
  562. data/spec/unit/node_spec.rb +2 -60
  563. data/spec/unit/parser/compiler_spec.rb +19 -3
  564. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  565. data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
  566. data/spec/unit/parser/resource_spec.rb +8 -14
  567. data/spec/unit/parser/templatewrapper_spec.rb +5 -16
  568. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  569. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  570. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  571. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  572. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  573. data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
  574. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  575. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  576. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  577. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
  578. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
  579. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
  580. data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
  581. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  582. data/spec/unit/pops/validator/validator_spec.rb +61 -51
  583. data/spec/unit/pops/visitor_spec.rb +1 -1
  584. data/spec/unit/property_spec.rb +0 -1
  585. data/spec/unit/provider/group/groupadd_spec.rb +2 -5
  586. data/spec/unit/provider/nameservice_spec.rb +64 -122
  587. data/spec/unit/provider/package/apt_spec.rb +23 -28
  588. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  589. data/spec/unit/provider/package/base_spec.rb +5 -6
  590. data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
  591. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  592. data/spec/unit/provider/package/gem_spec.rb +33 -1
  593. data/spec/unit/provider/package/nim_spec.rb +0 -42
  594. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  595. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  596. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  597. data/spec/unit/provider/package/pip_spec.rb +12 -44
  598. data/spec/unit/provider/package/pkg_spec.rb +4 -29
  599. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  600. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
  601. data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
  602. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
  603. data/spec/unit/provider/parsedfile_spec.rb +0 -10
  604. data/spec/unit/provider/service/gentoo_spec.rb +5 -6
  605. data/spec/unit/provider/service/init_spec.rb +9 -16
  606. data/spec/unit/provider/service/launchd_spec.rb +0 -11
  607. data/spec/unit/provider/service/openwrt_spec.rb +29 -23
  608. data/spec/unit/provider/service/redhat_spec.rb +2 -3
  609. data/spec/unit/provider/service/smf_spec.rb +401 -165
  610. data/spec/unit/provider/service/systemd_spec.rb +9 -54
  611. data/spec/unit/provider/service/windows_spec.rb +0 -203
  612. data/spec/unit/provider/user/aix_spec.rb +0 -105
  613. data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
  614. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  615. data/spec/unit/provider/user/pw_spec.rb +0 -2
  616. data/spec/unit/provider/user/useradd_spec.rb +5 -114
  617. data/spec/unit/provider_spec.rb +12 -22
  618. data/spec/unit/puppet_spec.rb +4 -12
  619. data/spec/unit/resource/catalog_spec.rb +2 -15
  620. data/spec/unit/resource/type_collection_spec.rb +2 -22
  621. data/spec/unit/resource/type_spec.rb +1 -1
  622. data/spec/unit/resource_spec.rb +12 -125
  623. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  624. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  625. data/spec/unit/settings/port_setting_spec.rb +31 -0
  626. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  627. data/spec/unit/settings_spec.rb +79 -110
  628. data/spec/unit/ssl/base_spec.rb +37 -3
  629. data/spec/unit/ssl/certificate_request_spec.rb +21 -45
  630. data/spec/unit/ssl/certificate_spec.rb +2 -11
  631. data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
  632. data/spec/unit/ssl/state_machine_spec.rb +5 -21
  633. data/spec/unit/ssl/verifier_spec.rb +0 -21
  634. data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
  635. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  636. data/spec/unit/transaction/persistence_spec.rb +0 -51
  637. data/spec/unit/transaction/report_spec.rb +0 -2
  638. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  639. data/spec/unit/transaction_spec.rb +55 -96
  640. data/spec/unit/type/exec_spec.rb +29 -76
  641. data/spec/unit/type/file/checksum_spec.rb +6 -6
  642. data/spec/unit/type/file/content_spec.rb +2 -1
  643. data/spec/unit/type/file/ensure_spec.rb +1 -1
  644. data/spec/unit/type/file/mode_spec.rb +1 -1
  645. data/spec/unit/type/file/selinux_spec.rb +5 -3
  646. data/spec/unit/type/file/source_spec.rb +4 -5
  647. data/spec/unit/type/file_spec.rb +18 -6
  648. data/spec/unit/type/group_spec.rb +6 -13
  649. data/spec/unit/type/package_spec.rb +1 -1
  650. data/spec/unit/type/resources_spec.rb +7 -7
  651. data/spec/unit/type/service_spec.rb +189 -87
  652. data/spec/unit/type/tidy_spec.rb +8 -24
  653. data/spec/unit/type_spec.rb +24 -4
  654. data/spec/unit/util/at_fork_spec.rb +2 -2
  655. data/spec/unit/util/autoload_spec.rb +1 -5
  656. data/spec/unit/util/backups_spec.rb +2 -3
  657. data/spec/unit/util/execution_spec.rb +11 -44
  658. data/spec/unit/util/inifile_spec.rb +14 -6
  659. data/spec/unit/util/log_spec.rb +7 -8
  660. data/spec/unit/util/logging_spec.rb +3 -5
  661. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  662. data/spec/unit/util/posix_spec.rb +15 -363
  663. data/spec/unit/util/run_mode_spec.rb +21 -121
  664. data/spec/unit/util/selinux_spec.rb +68 -163
  665. data/spec/unit/util/storage_spec.rb +1 -3
  666. data/spec/unit/util/suidmanager_spec.rb +41 -44
  667. data/spec/unit/util/windows/sid_spec.rb +0 -41
  668. data/spec/unit/util/windows/string_spec.rb +1 -3
  669. data/spec/unit/util/yaml_spec.rb +13 -92
  670. data/spec/unit/util_spec.rb +6 -31
  671. data/tasks/generate_cert_fixtures.rake +7 -17
  672. data/tasks/parallel.rake +3 -3
  673. metadata +138 -301
  674. data/conf/auth.conf +0 -150
  675. data/ext/README.md +0 -13
  676. data/lib/puppet/application/cert.rb +0 -76
  677. data/lib/puppet/application/key.rb +0 -4
  678. data/lib/puppet/application/man.rb +0 -4
  679. data/lib/puppet/application/status.rb +0 -4
  680. data/lib/puppet/face/key.rb +0 -16
  681. data/lib/puppet/face/man.rb +0 -145
  682. data/lib/puppet/face/module/build.rb +0 -14
  683. data/lib/puppet/face/module/generate.rb +0 -14
  684. data/lib/puppet/face/module/search.rb +0 -103
  685. data/lib/puppet/face/status.rb +0 -51
  686. data/lib/puppet/facter_impl.rb +0 -96
  687. data/lib/puppet/ffi/posix/constants.rb +0 -14
  688. data/lib/puppet/ffi/posix/functions.rb +0 -24
  689. data/lib/puppet/ffi/posix.rb +0 -10
  690. data/lib/puppet/file_serving/mount/scripts.rb +0 -24
  691. data/lib/puppet/indirector/certificate/file.rb +0 -9
  692. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  693. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  694. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  695. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  696. data/lib/puppet/indirector/file_content/http.rb +0 -22
  697. data/lib/puppet/indirector/key/file.rb +0 -46
  698. data/lib/puppet/indirector/key/memory.rb +0 -7
  699. data/lib/puppet/indirector/ssl_file.rb +0 -162
  700. data/lib/puppet/indirector/status/local.rb +0 -12
  701. data/lib/puppet/indirector/status/rest.rb +0 -27
  702. data/lib/puppet/indirector/status.rb +0 -3
  703. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  704. data/lib/puppet/network/auth_config_parser.rb +0 -90
  705. data/lib/puppet/network/authstore.rb +0 -283
  706. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  707. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  708. data/lib/puppet/network/http/base_pool.rb +0 -36
  709. data/lib/puppet/network/http/compression.rb +0 -127
  710. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  711. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  712. data/lib/puppet/network/rest_controller.rb +0 -2
  713. data/lib/puppet/network/rights.rb +0 -210
  714. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  715. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  716. data/lib/puppet/parser/environment_compiler.rb +0 -202
  717. data/lib/puppet/pops/types/enumeration.rb +0 -16
  718. data/lib/puppet/resource/capability_finder.rb +0 -154
  719. data/lib/puppet/rest/errors.rb +0 -15
  720. data/lib/puppet/rest/response.rb +0 -35
  721. data/lib/puppet/rest/route.rb +0 -85
  722. data/lib/puppet/rest/routes.rb +0 -135
  723. data/lib/puppet/settings/alias_setting.rb +0 -37
  724. data/lib/puppet/ssl/host.rb +0 -505
  725. data/lib/puppet/ssl/key.rb +0 -61
  726. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  727. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  728. data/lib/puppet/ssl/validator.rb +0 -61
  729. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  730. data/lib/puppet/status.rb +0 -40
  731. data/lib/puppet/util/connection.rb +0 -88
  732. data/lib/puppet/util/fact_dif.rb +0 -81
  733. data/lib/puppet/util/ssl.rb +0 -83
  734. data/lib/puppet/util/windows/api_types.rb +0 -309
  735. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  736. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  737. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  738. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  739. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  740. data/lib/puppet/vendor/pathspec/README.md +0 -53
  741. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  742. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  743. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  744. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  745. data/man/man8/puppet-key.8 +0 -126
  746. data/man/man8/puppet-man.8 +0 -76
  747. data/man/man8/puppet-status.8 +0 -108
  748. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  749. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  750. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  751. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  752. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  753. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  754. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  755. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  756. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  757. data/spec/fixtures/ssl/oid-key.pem +0 -117
  758. data/spec/fixtures/ssl/oid.pem +0 -69
  759. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  760. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  761. data/spec/integration/application/resource_spec.rb +0 -68
  762. data/spec/integration/application/ssl_spec.rb +0 -20
  763. data/spec/integration/l10n/compiler_spec.rb +0 -37
  764. data/spec/integration/network/authconfig_spec.rb +0 -256
  765. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  766. data/spec/shared_contexts/l10n.rb +0 -32
  767. data/spec/unit/application/man_spec.rb +0 -52
  768. data/spec/unit/capability_spec.rb +0 -414
  769. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  770. data/spec/unit/face/key_spec.rb +0 -9
  771. data/spec/unit/face/module/search_spec.rb +0 -231
  772. data/spec/unit/face/status_spec.rb +0 -9
  773. data/spec/unit/facter_impl_spec.rb +0 -31
  774. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  775. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  776. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  777. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  778. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  779. data/spec/unit/indirector/key/file_spec.rb +0 -78
  780. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  781. data/spec/unit/indirector/status/local_spec.rb +0 -10
  782. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  783. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  784. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  785. data/spec/unit/network/authstore_spec.rb +0 -407
  786. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  787. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  788. data/spec/unit/network/http/compression_spec.rb +0 -240
  789. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  790. data/spec/unit/network/http_spec.rb +0 -9
  791. data/spec/unit/network/rights_spec.rb +0 -439
  792. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  793. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  794. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  795. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  796. data/spec/unit/rest/route_spec.rb +0 -132
  797. data/spec/unit/ssl/host_spec.rb +0 -645
  798. data/spec/unit/ssl/key_spec.rb +0 -173
  799. data/spec/unit/ssl/validator_spec.rb +0 -278
  800. data/spec/unit/status_spec.rb +0 -45
  801. data/spec/unit/util/json_spec.rb +0 -126
  802. data/spec/unit/util/ssl_spec.rb +0 -91
  803. data/spec/unit/util/windows_spec.rb +0 -23
  804. /data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
  805. /data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
  806. /data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
  807. /data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
  808. /data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
  809. /data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
  810. /data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
  811. /data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
@@ -239,19 +239,6 @@ RSpec.describe Puppet::Type.type(:exec) do
239
239
  expect(dependencies.collect(&:to_s)).to eq([Puppet::Relationship.new(tmp, execer).to_s])
240
240
  end
241
241
 
242
- it "should be able to autorequire files mentioned in the array command" do
243
- foo = make_absolute('/bin/foo')
244
- catalog = Puppet::Resource::Catalog.new
245
- tmp = Puppet::Type.type(:file).new(:name => foo)
246
- execer = Puppet::Type.type(:exec).new(:name => 'test array', :command => [foo, 'bar'])
247
-
248
- catalog.add_resource tmp
249
- catalog.add_resource execer
250
- dependencies = execer.autorequire(catalog)
251
-
252
- expect(dependencies.collect(&:to_s)).to eq([Puppet::Relationship.new(tmp, execer).to_s])
253
- end
254
-
255
242
  describe "when handling the path parameter" do
256
243
  expect = %w{one two three four}
257
244
  { "an array" => expect,
@@ -359,13 +346,7 @@ RSpec.describe Puppet::Type.type(:exec) do
359
346
  end
360
347
 
361
348
  shared_examples_for "all exec command parameters" do |param|
362
- array_cmd = ["/bin/example", "*"]
363
- array_cmd = [["/bin/example", "*"]] if [:onlyif, :unless].include?(param)
364
-
365
- commands = { "relative" => "example", "absolute" => "/bin/example" }
366
- commands["array"] = array_cmd
367
-
368
- commands.sort.each do |name, command|
349
+ { "relative" => "example", "absolute" => "/bin/example" }.sort.each do |name, command|
369
350
  describe "if command is #{name}" do
370
351
  before :each do
371
352
  @param = param
@@ -398,44 +379,45 @@ RSpec.describe Puppet::Type.type(:exec) do
398
379
  end
399
380
 
400
381
  shared_examples_for "all exec command parameters that take arrays" do |param|
401
- [
402
- %w{one two three},
403
- [%w{one -a}, %w{two, -b}, 'three']
404
- ].each do |input|
405
- context "when given #{input.inspect} as input" do
406
- let(:resource) { Puppet::Type.type(:exec).new(:name => @executable) }
407
-
408
- it "accepts the array when all commands return valid" do
409
- input = %w{one two three}
410
- allow(resource.provider).to receive(:validatecmd).exactly(input.length).times.and_return(true)
411
- resource[param] = input
412
- expect(resource[param]).to eq(input)
413
- end
382
+ describe "when given an array of inputs" do
383
+ before :each do
384
+ @test = Puppet::Type.type(:exec).new(:name => @executable)
385
+ end
414
386
 
415
- it "rejects the array when any commands return invalid" do
416
- input = %w{one two three}
417
- allow(resource.provider).to receive(:validatecmd).with(input[0]).and_return(true)
418
- allow(resource.provider).to receive(:validatecmd).with(input[1]).and_raise(Puppet::Error)
387
+ it "should accept the array when all commands return valid" do
388
+ input = %w{one two three}
389
+ expect(@test.provider).to receive(:validatecmd).exactly(input.length).times.and_return(true)
390
+ @test[param] = input
391
+ expect(@test[param]).to eq(input)
392
+ end
419
393
 
420
- expect { resource[param] = input }.to raise_error(Puppet::ResourceError, /Parameter #{param} failed/)
394
+ it "should reject the array when any commands return invalid" do
395
+ input = %w{one two three}
396
+ expect(@test.provider).to receive(:validatecmd).with(input.first).and_return(false)
397
+ input[1..-1].each do |cmd|
398
+ expect(@test.provider).to receive(:validatecmd).with(cmd).and_return(true)
421
399
  end
400
+ @test[param] = input
401
+ expect(@test[param]).to eq(input)
402
+ end
422
403
 
423
- it "stops at the first invalid command" do
424
- input = %w{one two three}
425
- allow(resource.provider).to receive(:validatecmd).with(input[0]).and_raise(Puppet::Error)
426
-
427
- expect(resource.provider).not_to receive(:validatecmd).with(input[1])
428
- expect(resource.provider).not_to receive(:validatecmd).with(input[2])
429
- expect { resource[param] = input }.to raise_error(Puppet::ResourceError, /Parameter #{param} failed/)
430
- end
404
+ it "should reject the array when all commands return invalid" do
405
+ input = %w{one two three}
406
+ expect(@test.provider).to receive(:validatecmd).exactly(input.length).times.and_return(false)
407
+ @test[param] = input
408
+ expect(@test[param]).to eq(input)
431
409
  end
432
410
  end
433
411
  end
434
412
 
435
413
  describe "when setting command" do
436
414
  subject { described_class.new(:name => @command) }
415
+ it "fails when passed an Array" do
416
+ expect { subject[:command] = [] }.to raise_error Puppet::Error, /Command must be a String/
417
+ end
418
+
437
419
  it "fails when passed a Hash" do
438
- expect { subject[:command] = {} }.to raise_error Puppet::Error, /Command must be a String or Array<String>/
420
+ expect { subject[:command] = {} }.to raise_error Puppet::Error, /Command must be a String/
439
421
  end
440
422
  end
441
423
 
@@ -777,35 +759,6 @@ RSpec.describe Puppet::Type.type(:exec) do
777
759
  end
778
760
  end
779
761
 
780
- context 'with an array of arrays with multiple items' do
781
- before do
782
- [true, false].each do |check|
783
- allow(@test.provider).to receive(:run).with([@pass, '--flag'], check).
784
- and_return(['test output', @pass_status])
785
- allow(@test.provider).to receive(:run).with([@fail, '--flag'], check).
786
- and_return(['test output', @fail_status])
787
- allow(@test.provider).to receive(:run).with([@pass], check).
788
- and_return(['test output', @pass_status])
789
- allow(@test.provider).to receive(:run).with([@fail], check).
790
- and_return(['test output', @fail_status])
791
- end
792
- end
793
- it "runs if all the commands exits non-zero" do
794
- @test[param] = [[@fail, '--flag'], [@fail], [@fail, '--flag']]
795
- expect(@test.check_all_attributes).to eq(true)
796
- end
797
-
798
- it "does not run if one command exits zero" do
799
- @test[param] = [[@pass, '--flag'], [@pass], [@fail, '--flag']]
800
- expect(@test.check_all_attributes).to eq(false)
801
- end
802
-
803
- it "does not run if all command exits zero" do
804
- @test[param] = [[@pass, '--flag'], [@pass], [@pass, '--flag']]
805
- expect(@test.check_all_attributes).to eq(false)
806
- end
807
- end
808
-
809
762
  it "should emit output to debug" do
810
763
  Puppet::Util::Log.level = :debug
811
764
  @test[param] = @fail
@@ -18,8 +18,8 @@ describe checksum do
18
18
  @checksum.sum("foobar")
19
19
  end
20
20
 
21
- it "should use :md5 to sum when no value is set" do
22
- expect(@checksum).to receive(:md5).with("foobar").and_return("yay")
21
+ it "should use :sha256 to sum when no value is set" do
22
+ expect(@checksum).to receive(:sha256).with("foobar").and_return("yay")
23
23
  @checksum.sum("foobar")
24
24
  end
25
25
 
@@ -47,8 +47,8 @@ describe checksum do
47
47
  expect(@checksum.sum("foobar")).to eq("{sha384}#{sum}")
48
48
  end
49
49
 
50
- it "should use :md5 as its default type" do
51
- expect(@checksum.default).to eq(:md5)
50
+ it "should use :sha256 as its default type" do
51
+ expect(@checksum.default).to eq(:sha256)
52
52
  end
53
53
 
54
54
  it "should use its current value when asked to sum a file's content" do
@@ -57,8 +57,8 @@ describe checksum do
57
57
  @checksum.sum_file(@path)
58
58
  end
59
59
 
60
- it "should use :md5 to sum a file when no value is set" do
61
- expect(@checksum).to receive(:md5_file).with(@path).and_return("yay")
60
+ it "should use :sha256 to sum a file when no value is set" do
61
+ expect(@checksum).to receive(:sha256_file).with(@path).and_return("yay")
62
62
  @checksum.sum_file(@path)
63
63
  end
64
64
 
@@ -7,10 +7,11 @@ describe Puppet::Type.type(:file).attrclass(:content), :uses_checksums => true d
7
7
  let(:filename) { tmpfile('testfile') }
8
8
  let(:environment) { Puppet::Node::Environment.create(:testing, []) }
9
9
  let(:catalog) { Puppet::Resource::Catalog.new(:test, environment) }
10
- let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog }
10
+ let(:resource) { Puppet::Type.type(:file).new :path => filename, :catalog => catalog, :backup => 'puppet' }
11
11
 
12
12
  before do
13
13
  File.open(filename, 'w') {|f| f.write "initial file content"}
14
+ allow(described_class).to receive(:standalone?).and_return(false)
14
15
  end
15
16
 
16
17
  around do |example|
@@ -85,7 +85,7 @@ describe Puppet::Type.type(:file).attrclass(:ensure) do
85
85
  }.to raise_error(Puppet::Error, /Cannot create #{newpath}; parent directory #{File.dirname(newpath)} does not exist/)
86
86
  end
87
87
 
88
- it "should accept octal mode as fixnum" do
88
+ it "should accept octal mode as integer" do
89
89
  resource[:mode] = '0700'
90
90
  expect(resource).to receive(:property_fix)
91
91
  expect(Dir).to receive(:mkdir).with(path, 0700)
@@ -11,7 +11,7 @@ describe Puppet::Type.type(:file).attrclass(:mode) do
11
11
  it "should reject non-string values" do
12
12
  expect {
13
13
  mode.value = 0755
14
- }.to raise_error(Puppet::Error, /The file mode specification must be a string, not '(?:Fixnum|Integer)'/)
14
+ }.to raise_error(Puppet::Error, /The file mode specification must be a string, not 'Integer'/)
15
15
  end
16
16
 
17
17
  it "should accept values specified as octal numbers in strings" do
@@ -7,8 +7,10 @@ require 'spec_helper'
7
7
 
8
8
  before do
9
9
  @path = make_absolute("/my/file")
10
- @resource = Puppet::Type.type(:file).new(:path => @path, :ensure => :file)
10
+ @resource = Puppet::Type.type(:file).new :path => @path
11
11
  @sel = property.new :resource => @resource
12
+ allow(@sel).to receive(:normalize_selinux_category).with("s0").and_return("s0")
13
+ allow(@sel).to receive(:normalize_selinux_category).with(nil).and_return(nil)
12
14
  end
13
15
 
14
16
  it "retrieve on #{param} should return :absent if the file isn't statable" do
@@ -50,13 +52,13 @@ require 'spec_helper'
50
52
  end
51
53
 
52
54
  it "should handle no default gracefully" do
53
- expect(@sel).to receive(:get_selinux_default_context).with(@path, :file).and_return(nil)
55
+ expect(@sel).to receive(:get_selinux_default_context).with(@path).and_return(nil)
54
56
  expect(@sel.default).to be_nil
55
57
  end
56
58
 
57
59
  it "should be able to detect matchpathcon defaults" do
58
60
  allow(@sel).to receive(:debug)
59
- expect(@sel).to receive(:get_selinux_default_context).with(@path, :file).and_return("user_u:role_r:type_t:s0")
61
+ expect(@sel).to receive(:get_selinux_default_context).with(@path).and_return("user_u:role_r:type_t:s0")
60
62
  expectedresult = case param
61
63
  when :seluser; "user_u"
62
64
  when :selrole; "role_r"
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
  require 'uri'
3
3
  require 'puppet/network/http_pool'
4
- #require 'puppet/network/resolver'
5
4
 
6
5
  describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
7
6
  include PuppetSpec::Files
@@ -264,7 +263,7 @@ describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
264
263
 
265
264
  expect(@resource[:owner]).to eq(100)
266
265
  expect(@resource[:group]).to eq(200)
267
- expect(@resource[:mode]).to eq("0173")
266
+ expect(@resource[:mode]).to eq("173")
268
267
 
269
268
  # Metadata calls it checksum and checksum_type, we call it content and checksum.
270
269
  expect(@resource[:content]).to eq(@metadata.checksum)
@@ -281,7 +280,7 @@ describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
281
280
 
282
281
  expect(@resource[:owner]).to eq(1)
283
282
  expect(@resource[:group]).to eq(2)
284
- expect(@resource[:mode]).to eq('0173')
283
+ expect(@resource[:mode]).to eq('173')
285
284
  expect(@resource[:content]).not_to eq(@metadata.checksum)
286
285
  expect(@resource[:checksum]).not_to eq(@metadata.checksum_type.to_sym)
287
286
  end
@@ -318,7 +317,7 @@ describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
318
317
 
319
318
  expect(@resource[:owner]).to eq(100)
320
319
  expect(@resource[:group]).to eq(200)
321
- expect(@resource[:mode]).to eq("0173")
320
+ expect(@resource[:mode]).to eq("173")
322
321
  end
323
322
 
324
323
  it "copies the remote owner" do
@@ -336,7 +335,7 @@ describe Puppet::Type.type(:file).attrclass(:source), :uses_checksums => true do
336
335
  it "copies the remote mode" do
337
336
  @source.copy_source_values
338
337
 
339
- expect(@resource[:mode]).to eq("0173")
338
+ expect(@resource[:mode]).to eq("173")
340
339
  end
341
340
  end
342
341
 
@@ -1,3 +1,4 @@
1
+ # coding: utf-8
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:file) do
@@ -133,6 +134,10 @@ describe Puppet::Type.type(:file) do
133
134
  end
134
135
 
135
136
  describe "the backup parameter" do
137
+ it 'should be disabled by default' do
138
+ expect(file[:backup]).to eq(nil)
139
+ end
140
+
136
141
  [false, 'false', :false].each do |value|
137
142
  it "should disable backup if the value is #{value.inspect}" do
138
143
  file[:backup] = value
@@ -344,6 +349,12 @@ describe Puppet::Type.type(:file) do
344
349
  end
345
350
 
346
351
  describe "#flush" do
352
+ it "should flush all properties that respond to :flush" do
353
+ file[:source] = File.expand_path(__FILE__)
354
+ expect(file.parameter(:source)).to receive(:flush)
355
+ file.flush
356
+ end
357
+
347
358
  it "should reset its stat reference" do
348
359
  FileUtils.touch(path)
349
360
  stat1 = file.stat
@@ -768,7 +779,7 @@ describe Puppet::Type.type(:file) do
768
779
  it "should set the checksum parameter based on the metadata" do
769
780
  allow(file).to receive(:perform_recursion).and_return([@first])
770
781
  allow(@resource).to receive(:[]=)
771
- expect(@resource).to receive(:[]=).with(:checksum, "md5")
782
+ expect(@resource).to receive(:[]=).with(:checksum, "sha256")
772
783
  file.recurse_remote("first" => @resource)
773
784
  end
774
785
 
@@ -804,7 +815,7 @@ describe Puppet::Type.type(:file) do
804
815
  allow(file).to receive(:perform_recursion).and_return([@first])
805
816
 
806
817
  allow(file).to receive(:[]=)
807
- expect(file). to receive(:[]=).with(:checksum, "md5")
818
+ expect(file). to receive(:[]=).with(:checksum, "sha256")
808
819
 
809
820
  file.recurse_remote("first" => @resource)
810
821
  end
@@ -922,7 +933,7 @@ describe Puppet::Type.type(:file) do
922
933
  end
923
934
 
924
935
  it "should fail if it can't backup the file" do
925
- # Default: file[:backup] = true
936
+ file[:backup] = true
926
937
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'file'))
927
938
  allow(file).to receive(:perform_backup).and_return(false)
928
939
 
@@ -931,7 +942,7 @@ describe Puppet::Type.type(:file) do
931
942
 
932
943
  describe "backing up directories" do
933
944
  it "should not backup directories if backup is true and force is false" do
934
- # Default: file[:backup] = true
945
+ file[:backup] = true
935
946
  file[:force] = false
936
947
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
937
948
 
@@ -941,7 +952,7 @@ describe Puppet::Type.type(:file) do
941
952
  end
942
953
 
943
954
  it "should backup directories if backup is true and force is true" do
944
- # Default: file[:backup] = true
955
+ file[:backup] = true
945
956
  file[:force] = true
946
957
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
947
958
 
@@ -968,7 +979,7 @@ describe Puppet::Type.type(:file) do
968
979
  end
969
980
 
970
981
  it "should remove a directory if backup is true and force is true" do
971
- # Default: file[:backup] = true
982
+ file[:backup] = true
972
983
  file[:force] = true
973
984
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'directory'))
974
985
 
@@ -1000,6 +1011,7 @@ describe Puppet::Type.type(:file) do
1000
1011
  end
1001
1012
 
1002
1013
  it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
1014
+ file[:backup] = 'puppet'
1003
1015
  allow(file).to receive(:stat).and_return(double('stat', :ftype => 'blockSpecial'))
1004
1016
 
1005
1017
  expect(file).to receive(:warning).with("Could not back up file of type blockSpecial")
@@ -60,12 +60,9 @@ describe Puppet::Type.type(:group) do
60
60
  end
61
61
 
62
62
  it "delegates the existence check to its provider" do
63
- provider = @class.provide(:testing) do
64
- def exists?
65
- true
66
- end
67
- end
63
+ provider = @class.provide(:testing) {}
68
64
  provider_instance = provider.new
65
+ expect(provider_instance).to receive(:exists?).and_return(true)
69
66
 
70
67
  type = @class.new(:name => "group", :provider => provider_instance)
71
68
 
@@ -80,24 +77,20 @@ describe Puppet::Type.type(:group) do
80
77
  def members
81
78
  []
82
79
  end
83
-
84
- def members_insync?(current, should)
85
- current == should
86
- end
87
-
88
- def members_to_s(values)
89
- values.map { |v| "#{v} ()" }.join(', ')
90
- end
91
80
  end
92
81
  end
93
82
  let (:provider_instance) { provider.new }
94
83
  let (:type) { @class.new(:name => "group", :provider => provider_instance, :members => ['user1']) }
95
84
 
96
85
  it "insync? calls members_insync?" do
86
+ expect(provider_instance).to receive(:members_insync?).with(['user1'], ['user1']).and_return(true)
97
87
  expect(type.property(:members).insync?(['user1'])).to be_truthy
98
88
  end
99
89
 
100
90
  it "is_to_s and should_to_s call members_to_s" do
91
+ expect(provider_instance).to receive(:members_to_s).with(['user1', 'user2']).and_return("user1 (), user2 ()")
92
+ expect(provider_instance).to receive(:members_to_s).with(['user1']).and_return("user1 ()")
93
+
101
94
  expect(type.property(:members).is_to_s('user1')).to eq('user1 ()')
102
95
  expect(type.property(:members).should_to_s('user1,user2')).to eq('user1 (), user2 ()')
103
96
  end
@@ -349,7 +349,7 @@ describe Puppet::Type.type(:package) do
349
349
  end
350
350
  end
351
351
 
352
- [:purged, :absent, :held].each do |state|
352
+ [:purged, :absent].each do |state|
353
353
  it "should not reinstall if it should be #{state.to_s} and reinstall_on_refresh is true" do
354
354
  @package[:ensure] = state
355
355
  allow(@provider).to receive(:reinstallable?).and_return(true)
@@ -6,9 +6,6 @@ Puppet::Type.newtype(:purgeable_test) do
6
6
  newparam(:name) {}
7
7
  end
8
8
  Puppet::Type.type(:purgeable_test).provide(:purgeable_test) do
9
- def self.instances
10
- []
11
- end
12
9
  end
13
10
 
14
11
  resources = Puppet::Type.type(:resources)
@@ -49,16 +46,19 @@ describe resources do
49
46
  end
50
47
 
51
48
  it "cannot be set to true for a resource type that does not accept ensure" do
52
- allow(instance.resource_type).to receive(:validproperty?).with(:ensure).and_return(false)
53
- expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error, /Purging is only supported on types that accept 'ensure'/
49
+ allow(instance.resource_type).to receive(:respond_to?).and_return(true)
50
+ allow(instance.resource_type).to receive(:validproperty?).and_return(false)
51
+ expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
54
52
  end
55
53
 
56
54
  it "cannot be set to true for a resource type that does not have instances" do
57
- allow(instance.resource_type).to receive(:respond_to?).with(:instances).and_return(false)
58
- expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error, /Purging resources of type file is not supported/
55
+ allow(instance.resource_type).to receive(:respond_to?).and_return(false)
56
+ allow(instance.resource_type).to receive(:validproperty?).and_return(true)
57
+ expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
59
58
  end
60
59
 
61
60
  it "can be set to true for a resource type that has instances and can accept ensure" do
61
+ allow(instance.resource_type).to receive(:respond_to?).and_return(true)
62
62
  allow(instance.resource_type).to receive(:validproperty?).and_return(true)
63
63
  expect { instance[:purge] = 'yes' }.to_not raise_error
64
64
  end