puppet 6.20.0-x86-mingw32 → 7.4.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 (430) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -4
  3. data/Gemfile.lock +13 -13
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -2
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +2 -14
  9. data/ext/redhat/puppet.spec.erb +0 -1
  10. data/ext/windows/service/daemon.rb +6 -5
  11. data/install.rb +21 -17
  12. data/lib/puppet.rb +11 -20
  13. data/lib/puppet/application.rb +172 -98
  14. data/lib/puppet/application/device.rb +100 -104
  15. data/lib/puppet/application/filebucket.rb +13 -9
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +27 -29
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +57 -162
  20. data/lib/puppet/environments.rb +8 -23
  21. data/lib/puppet/face/facts.rb +73 -49
  22. data/lib/puppet/face/help.rb +1 -1
  23. data/lib/puppet/face/node/clean.rb +8 -0
  24. data/lib/puppet/face/plugin.rb +5 -8
  25. data/lib/puppet/ffi/windows.rb +12 -0
  26. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  27. data/lib/puppet/ffi/windows/constants.rb +404 -0
  28. data/lib/puppet/ffi/windows/functions.rb +628 -0
  29. data/lib/puppet/ffi/windows/structs.rb +338 -0
  30. data/lib/puppet/file_serving/configuration.rb +0 -5
  31. data/lib/puppet/file_serving/configuration/parser.rb +6 -32
  32. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  33. data/lib/puppet/file_serving/mount.rb +1 -2
  34. data/lib/puppet/forge/repository.rb +0 -1
  35. data/lib/puppet/generate/models/type/type.rb +4 -1
  36. data/lib/puppet/http.rb +22 -13
  37. data/lib/puppet/http/client.rb +164 -114
  38. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  39. data/lib/puppet/http/errors.rb +16 -0
  40. data/lib/puppet/http/external_client.rb +5 -7
  41. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  42. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  43. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  44. data/lib/puppet/http/proxy.rb +137 -0
  45. data/lib/puppet/http/redirector.rb +4 -12
  46. data/lib/puppet/http/resolver.rb +5 -15
  47. data/lib/puppet/http/resolver/server_list.rb +6 -10
  48. data/lib/puppet/http/resolver/settings.rb +4 -7
  49. data/lib/puppet/http/resolver/srv.rb +7 -11
  50. data/lib/puppet/http/response.rb +36 -54
  51. data/lib/puppet/http/response_converter.rb +24 -0
  52. data/lib/puppet/http/response_net_http.rb +42 -0
  53. data/lib/puppet/http/retry_after_handler.rb +4 -13
  54. data/lib/puppet/http/service.rb +12 -26
  55. data/lib/puppet/http/service/ca.rb +11 -22
  56. data/lib/puppet/http/service/compiler.rb +22 -69
  57. data/lib/puppet/http/service/file_server.rb +18 -27
  58. data/lib/puppet/http/service/puppetserver.rb +26 -12
  59. data/lib/puppet/http/service/report.rb +8 -10
  60. data/lib/puppet/http/session.rb +11 -20
  61. data/lib/puppet/{network/http → http}/site.rb +1 -2
  62. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  63. data/lib/puppet/indirector/facts/facter.rb +25 -3
  64. data/lib/puppet/indirector/facts/rest.rb +3 -22
  65. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  66. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  67. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  68. data/lib/puppet/indirector/file_server.rb +1 -8
  69. data/lib/puppet/indirector/generic_http.rb +0 -11
  70. data/lib/puppet/indirector/node/rest.rb +2 -4
  71. data/lib/puppet/indirector/report/rest.rb +3 -8
  72. data/lib/puppet/indirector/request.rb +0 -101
  73. data/lib/puppet/indirector/rest.rb +12 -263
  74. data/lib/puppet/module_tool/applications.rb +0 -1
  75. data/lib/puppet/network/authconfig.rb +2 -96
  76. data/lib/puppet/network/authorization.rb +13 -35
  77. data/lib/puppet/network/formats.rb +67 -0
  78. data/lib/puppet/network/http.rb +3 -3
  79. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  80. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  81. data/lib/puppet/network/http/connection.rb +247 -316
  82. data/lib/puppet/network/http/handler.rb +0 -1
  83. data/lib/puppet/network/http_pool.rb +16 -34
  84. data/lib/puppet/node.rb +1 -30
  85. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  86. data/lib/puppet/pal/pal_impl.rb +3 -1
  87. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  88. data/lib/puppet/parser/compiler.rb +0 -198
  89. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  90. data/lib/puppet/parser/resource.rb +0 -69
  91. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  92. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  93. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  94. data/lib/puppet/pops/issues.rb +0 -5
  95. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  96. data/lib/puppet/pops/model/ast.pp +0 -42
  97. data/lib/puppet/pops/model/ast.rb +0 -290
  98. data/lib/puppet/pops/model/factory.rb +0 -45
  99. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  100. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  101. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  102. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  103. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  104. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  105. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  106. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  107. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  108. data/lib/puppet/pops/types/type_parser.rb +0 -4
  109. data/lib/puppet/pops/types/types.rb +0 -1
  110. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  111. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  112. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  113. data/lib/puppet/property/list.rb +1 -1
  114. data/lib/puppet/provider.rb +0 -13
  115. data/lib/puppet/provider/group/groupadd.rb +13 -8
  116. data/lib/puppet/provider/nameservice.rb +0 -18
  117. data/lib/puppet/provider/package/apt.rb +30 -2
  118. data/lib/puppet/provider/package/aptitude.rb +6 -0
  119. data/lib/puppet/provider/package/dpkg.rb +0 -10
  120. data/lib/puppet/provider/package/gem.rb +23 -3
  121. data/lib/puppet/provider/package/pip.rb +0 -1
  122. data/lib/puppet/provider/package/pkg.rb +0 -4
  123. data/lib/puppet/provider/package/portage.rb +1 -1
  124. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  125. data/lib/puppet/provider/service/debian.rb +2 -0
  126. data/lib/puppet/provider/service/smf.rb +191 -73
  127. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  128. data/lib/puppet/provider/user/useradd.rb +55 -8
  129. data/lib/puppet/reference/configuration.rb +7 -5
  130. data/lib/puppet/reference/indirection.rb +1 -1
  131. data/lib/puppet/resource.rb +1 -89
  132. data/lib/puppet/resource/catalog.rb +1 -14
  133. data/lib/puppet/resource/type.rb +3 -119
  134. data/lib/puppet/resource/type_collection.rb +3 -48
  135. data/lib/puppet/runtime.rb +1 -2
  136. data/lib/puppet/settings.rb +45 -33
  137. data/lib/puppet/settings/integer_setting.rb +17 -0
  138. data/lib/puppet/settings/port_setting.rb +15 -0
  139. data/lib/puppet/settings/priority_setting.rb +5 -4
  140. data/lib/puppet/ssl.rb +10 -6
  141. data/lib/puppet/ssl/base.rb +3 -5
  142. data/lib/puppet/ssl/certificate.rb +0 -6
  143. data/lib/puppet/ssl/certificate_request.rb +1 -12
  144. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  145. data/lib/puppet/ssl/oids.rb +3 -1
  146. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  147. data/lib/puppet/ssl/state_machine.rb +3 -1
  148. data/lib/puppet/ssl/verifier.rb +2 -0
  149. data/lib/puppet/test/test_helper.rb +1 -3
  150. data/lib/puppet/transaction.rb +1 -7
  151. data/lib/puppet/transaction/report.rb +2 -4
  152. data/lib/puppet/type.rb +0 -76
  153. data/lib/puppet/type/file.rb +5 -7
  154. data/lib/puppet/type/file/checksum.rb +1 -1
  155. data/lib/puppet/type/file/source.rb +1 -1
  156. data/lib/puppet/type/filebucket.rb +3 -3
  157. data/lib/puppet/type/package.rb +8 -16
  158. data/lib/puppet/type/user.rb +1 -1
  159. data/lib/puppet/util/execution.rb +0 -11
  160. data/lib/puppet/util/http_proxy.rb +2 -215
  161. data/lib/puppet/util/monkey_patches.rb +0 -46
  162. data/lib/puppet/util/rdoc.rb +0 -7
  163. data/lib/puppet/util/retry_action.rb +1 -1
  164. data/lib/puppet/util/run_mode.rb +9 -1
  165. data/lib/puppet/util/windows.rb +3 -8
  166. data/lib/puppet/util/windows/daemon.rb +360 -0
  167. data/lib/puppet/util/windows/error.rb +1 -0
  168. data/lib/puppet/util/windows/eventlog.rb +4 -9
  169. data/lib/puppet/util/windows/file.rb +8 -242
  170. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  171. data/lib/puppet/util/windows/process.rb +4 -226
  172. data/lib/puppet/util/windows/service.rb +9 -460
  173. data/lib/puppet/util/windows/string.rb +12 -13
  174. data/lib/puppet/util/yaml.rb +0 -22
  175. data/lib/puppet/vendor/require_vendored.rb +0 -1
  176. data/lib/puppet/version.rb +1 -1
  177. data/lib/puppet/x509.rb +5 -1
  178. data/lib/puppet/x509/cert_provider.rb +29 -1
  179. data/locales/puppet.pot +521 -1226
  180. data/man/man5/puppet.conf.5 +35 -95
  181. data/man/man8/puppet-agent.8 +1 -1
  182. data/man/man8/puppet-apply.8 +1 -1
  183. data/man/man8/puppet-catalog.8 +1 -1
  184. data/man/man8/puppet-config.8 +1 -1
  185. data/man/man8/puppet-describe.8 +1 -1
  186. data/man/man8/puppet-device.8 +1 -1
  187. data/man/man8/puppet-doc.8 +1 -1
  188. data/man/man8/puppet-epp.8 +1 -1
  189. data/man/man8/puppet-facts.8 +57 -36
  190. data/man/man8/puppet-filebucket.8 +4 -4
  191. data/man/man8/puppet-generate.8 +1 -1
  192. data/man/man8/puppet-help.8 +1 -1
  193. data/man/man8/puppet-lookup.8 +1 -1
  194. data/man/man8/puppet-module.8 +1 -58
  195. data/man/man8/puppet-node.8 +1 -1
  196. data/man/man8/puppet-parser.8 +1 -1
  197. data/man/man8/puppet-plugin.8 +1 -1
  198. data/man/man8/puppet-report.8 +1 -1
  199. data/man/man8/puppet-resource.8 +1 -1
  200. data/man/man8/puppet-script.8 +1 -1
  201. data/man/man8/puppet-ssl.8 +1 -1
  202. data/man/man8/puppet.8 +2 -2
  203. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  204. data/spec/integration/application/agent_spec.rb +57 -11
  205. data/spec/integration/application/apply_spec.rb +1 -1
  206. data/spec/integration/application/filebucket_spec.rb +16 -16
  207. data/spec/integration/application/help_spec.rb +2 -0
  208. data/spec/integration/application/plugin_spec.rb +23 -1
  209. data/spec/integration/defaults_spec.rb +7 -3
  210. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
  211. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
  212. data/spec/integration/network/http_pool_spec.rb +3 -21
  213. data/spec/integration/parser/catalog_spec.rb +0 -38
  214. data/spec/integration/parser/node_spec.rb +0 -9
  215. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  216. data/spec/integration/type/file_spec.rb +5 -4
  217. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  218. data/spec/integration/util/windows/security_spec.rb +1 -1
  219. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  220. data/spec/lib/puppet_spec/settings.rb +1 -0
  221. data/spec/spec_helper.rb +2 -0
  222. data/spec/unit/agent_spec.rb +0 -2
  223. data/spec/unit/application/facts_spec.rb +86 -0
  224. data/spec/unit/application/filebucket_spec.rb +41 -39
  225. data/spec/unit/application/ssl_spec.rb +2 -2
  226. data/spec/unit/certificate_factory_spec.rb +1 -1
  227. data/spec/unit/configurer/downloader_spec.rb +6 -2
  228. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  229. data/spec/unit/configurer_spec.rb +12 -9
  230. data/spec/unit/context/trusted_information_spec.rb +2 -6
  231. data/spec/unit/defaults_spec.rb +22 -47
  232. data/spec/unit/environments_spec.rb +0 -3
  233. data/spec/unit/face/facts_spec.rb +4 -0
  234. data/spec/unit/face/node_spec.rb +14 -2
  235. data/spec/unit/face/plugin_spec.rb +73 -33
  236. data/spec/unit/file_bucket/file_spec.rb +1 -1
  237. data/spec/unit/file_serving/configuration/parser_spec.rb +22 -18
  238. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  239. data/spec/unit/functions/camelcase_spec.rb +1 -1
  240. data/spec/unit/functions/capitalize_spec.rb +1 -1
  241. data/spec/unit/functions/downcase_spec.rb +1 -1
  242. data/spec/unit/functions/upcase_spec.rb +1 -1
  243. data/spec/unit/http/client_spec.rb +7 -8
  244. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  245. data/spec/unit/http/external_client_spec.rb +4 -4
  246. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  247. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  248. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  249. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  250. data/spec/unit/http/resolver_spec.rb +13 -13
  251. data/spec/unit/http/service/compiler_spec.rb +0 -62
  252. data/spec/unit/http/service/file_server_spec.rb +3 -3
  253. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  254. data/spec/unit/http/service_spec.rb +0 -1
  255. data/spec/unit/http/session_spec.rb +16 -14
  256. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  257. data/spec/unit/indirector/facts/facter_spec.rb +113 -0
  258. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  259. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  260. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  261. data/spec/unit/indirector/file_server_spec.rb +1 -15
  262. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  263. data/spec/unit/indirector/request_spec.rb +0 -264
  264. data/spec/unit/indirector/rest_spec.rb +98 -752
  265. data/spec/unit/network/authconfig_spec.rb +2 -129
  266. data/spec/unit/network/authorization_spec.rb +2 -55
  267. data/spec/unit/network/formats_spec.rb +45 -4
  268. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -92
  269. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  270. data/spec/unit/network/http/api_spec.rb +10 -0
  271. data/spec/unit/network/http/connection_spec.rb +19 -41
  272. data/spec/unit/network/http/handler_spec.rb +0 -1
  273. data/spec/unit/network/http_pool_spec.rb +0 -4
  274. data/spec/unit/node/environment_spec.rb +33 -21
  275. data/spec/unit/node_spec.rb +2 -54
  276. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  277. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  278. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  279. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  280. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  281. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  282. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  283. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  284. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  285. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  286. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  287. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  288. data/spec/unit/pops/visitor_spec.rb +1 -1
  289. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  290. data/spec/unit/provider/nameservice_spec.rb +0 -57
  291. data/spec/unit/provider/package/apt_spec.rb +24 -15
  292. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  293. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  294. data/spec/unit/provider/package/gem_spec.rb +32 -0
  295. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  296. data/spec/unit/provider/service/smf_spec.rb +401 -165
  297. data/spec/unit/provider/service/windows_spec.rb +0 -1
  298. data/spec/unit/provider/user/useradd_spec.rb +55 -3
  299. data/spec/unit/provider_spec.rb +0 -12
  300. data/spec/unit/resource/type_collection_spec.rb +2 -22
  301. data/spec/unit/resource_spec.rb +0 -56
  302. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  303. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  304. data/spec/unit/settings/port_setting_spec.rb +31 -0
  305. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  306. data/spec/unit/settings_spec.rb +17 -0
  307. data/spec/unit/ssl/base_spec.rb +36 -3
  308. data/spec/unit/ssl/certificate_request_spec.rb +19 -55
  309. data/spec/unit/ssl/certificate_spec.rb +2 -11
  310. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  311. data/spec/unit/ssl/verifier_spec.rb +0 -21
  312. data/spec/unit/transaction/report_spec.rb +0 -2
  313. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  314. data/spec/unit/transaction_spec.rb +45 -79
  315. data/spec/unit/type/file/checksum_spec.rb +6 -6
  316. data/spec/unit/type/file/content_spec.rb +1 -1
  317. data/spec/unit/type/file/ensure_spec.rb +1 -1
  318. data/spec/unit/type/file/mode_spec.rb +1 -1
  319. data/spec/unit/type/file/source_spec.rb +0 -1
  320. data/spec/unit/type/file_spec.rb +12 -6
  321. data/spec/unit/type/package_spec.rb +1 -1
  322. data/spec/unit/type_spec.rb +20 -0
  323. data/spec/unit/util/backups_spec.rb +0 -2
  324. data/spec/unit/util/execution_spec.rb +0 -29
  325. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  326. data/spec/unit/util/run_mode_spec.rb +21 -121
  327. data/spec/unit/util/windows/string_spec.rb +1 -3
  328. data/spec/unit/util/yaml_spec.rb +0 -54
  329. data/spec/unit/util_spec.rb +0 -18
  330. metadata +48 -219
  331. data/conf/auth.conf +0 -150
  332. data/lib/puppet/application/cert.rb +0 -76
  333. data/lib/puppet/application/key.rb +0 -4
  334. data/lib/puppet/application/man.rb +0 -4
  335. data/lib/puppet/application/status.rb +0 -4
  336. data/lib/puppet/face/key.rb +0 -16
  337. data/lib/puppet/face/man.rb +0 -145
  338. data/lib/puppet/face/module/build.rb +0 -14
  339. data/lib/puppet/face/module/generate.rb +0 -14
  340. data/lib/puppet/face/module/search.rb +0 -103
  341. data/lib/puppet/face/status.rb +0 -51
  342. data/lib/puppet/indirector/certificate/file.rb +0 -9
  343. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  344. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  345. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  346. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  347. data/lib/puppet/indirector/file_content/http.rb +0 -22
  348. data/lib/puppet/indirector/key/file.rb +0 -46
  349. data/lib/puppet/indirector/key/memory.rb +0 -7
  350. data/lib/puppet/indirector/ssl_file.rb +0 -162
  351. data/lib/puppet/indirector/status.rb +0 -3
  352. data/lib/puppet/indirector/status/local.rb +0 -12
  353. data/lib/puppet/indirector/status/rest.rb +0 -27
  354. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  355. data/lib/puppet/network/auth_config_parser.rb +0 -90
  356. data/lib/puppet/network/authstore.rb +0 -283
  357. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  358. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  359. data/lib/puppet/network/http/base_pool.rb +0 -36
  360. data/lib/puppet/network/http/compression.rb +0 -127
  361. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  362. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  363. data/lib/puppet/network/rest_controller.rb +0 -2
  364. data/lib/puppet/network/rights.rb +0 -210
  365. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  366. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  367. data/lib/puppet/parser/environment_compiler.rb +0 -202
  368. data/lib/puppet/pops/types/enumeration.rb +0 -16
  369. data/lib/puppet/resource/capability_finder.rb +0 -154
  370. data/lib/puppet/rest/errors.rb +0 -15
  371. data/lib/puppet/rest/response.rb +0 -35
  372. data/lib/puppet/rest/route.rb +0 -85
  373. data/lib/puppet/rest/routes.rb +0 -135
  374. data/lib/puppet/ssl/host.rb +0 -505
  375. data/lib/puppet/ssl/key.rb +0 -61
  376. data/lib/puppet/ssl/validator.rb +0 -61
  377. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  378. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  379. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  380. data/lib/puppet/status.rb +0 -40
  381. data/lib/puppet/util/connection.rb +0 -88
  382. data/lib/puppet/util/fact_dif.rb +0 -62
  383. data/lib/puppet/util/ssl.rb +0 -83
  384. data/lib/puppet/util/windows/api_types.rb +0 -309
  385. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  386. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  387. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  388. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  389. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  390. data/lib/puppet/vendor/pathspec/README.md +0 -53
  391. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  392. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  393. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  394. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  395. data/man/man8/puppet-key.8 +0 -126
  396. data/man/man8/puppet-man.8 +0 -76
  397. data/man/man8/puppet-status.8 +0 -108
  398. data/spec/integration/network/authconfig_spec.rb +0 -256
  399. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  400. data/spec/unit/application/man_spec.rb +0 -52
  401. data/spec/unit/capability_spec.rb +0 -414
  402. data/spec/unit/face/key_spec.rb +0 -9
  403. data/spec/unit/face/module/search_spec.rb +0 -231
  404. data/spec/unit/face/status_spec.rb +0 -9
  405. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  406. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  407. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  408. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  409. data/spec/unit/indirector/key/file_spec.rb +0 -78
  410. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  411. data/spec/unit/indirector/status/local_spec.rb +0 -10
  412. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  413. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  414. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  415. data/spec/unit/network/authstore_spec.rb +0 -422
  416. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  417. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  418. data/spec/unit/network/http/compression_spec.rb +0 -240
  419. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  420. data/spec/unit/network/http_spec.rb +0 -9
  421. data/spec/unit/network/rights_spec.rb +0 -439
  422. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  423. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  424. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  425. data/spec/unit/rest/route_spec.rb +0 -132
  426. data/spec/unit/ssl/host_spec.rb +0 -645
  427. data/spec/unit/ssl/key_spec.rb +0 -173
  428. data/spec/unit/ssl/validator_spec.rb +0 -278
  429. data/spec/unit/status_spec.rb +0 -45
  430. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -384,7 +384,7 @@ describe Puppet::Configurer do
384
384
 
385
385
  it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
386
386
  expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
387
- hash_including(checksum_type: 'md5.sha256.sha384.sha512.sha224'))
387
+ hash_including(checksum_type: 'sha256.sha384.sha512.sha224.md5'))
388
388
  configurer.run
389
389
  end
390
390
 
@@ -657,6 +657,8 @@ describe Puppet::Configurer do
657
657
  end
658
658
 
659
659
  it "should pluginsync and compile a new catalog if none is found in the cache" do
660
+ Puppet[:ignore_plugin_errors] = true
661
+
660
662
  expects_fallback_to_new_catalog(catalog)
661
663
  stub_request(:get, %r{/puppet/v3/file_metadatas?/plugins}).to_return(:status => 404)
662
664
  stub_request(:get, %r{/puppet/v3/file_metadatas?/pluginfacts}).to_return(:status => 404)
@@ -668,6 +670,8 @@ describe Puppet::Configurer do
668
670
  end
669
671
 
670
672
  it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
673
+ Puppet[:ignore_plugin_errors] = true
674
+
671
675
  expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
672
676
  expects_neither_new_or_cached_catalog
673
677
  expects_pluginsync
@@ -1039,11 +1043,10 @@ describe Puppet::Configurer do
1039
1043
  it "should select a server when it receives 200 OK response" do
1040
1044
  Puppet.settings[:server_list] = ["myserver:123"]
1041
1045
 
1042
- stub_request(:get, 'https://myserver:123/status/v1/simple/master').to_return(status: 200)
1046
+ stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
1043
1047
 
1044
1048
  options = {}
1045
1049
  configurer.run(options)
1046
- expect(options[:report].master_used).to eq('myserver:123')
1047
1050
  expect(options[:report].server_used).to eq('myserver:123')
1048
1051
  end
1049
1052
 
@@ -1051,7 +1054,7 @@ describe Puppet::Configurer do
1051
1054
  Puppet.settings[:server_list] = ["myserver:123"]
1052
1055
  Puppet[:usecacheonfailure] = false
1053
1056
 
1054
- stub_request(:get, 'https://myserver:123/status/v1/simple/master').to_return(status: [500, "Internal Server Error"])
1057
+ stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: [500, "Internal Server Error"])
1055
1058
 
1056
1059
  expect {
1057
1060
  configurer.run
@@ -1064,8 +1067,8 @@ describe Puppet::Configurer do
1064
1067
  Puppet.settings[:server_list] = "myserver:123,someotherservername"
1065
1068
  Puppet[:usecacheonfailure] = false
1066
1069
 
1067
- stub_request(:get, 'https://myserver:123/status/v1/simple/master').to_return(status: 400)
1068
- stub_request(:get, 'https://someotherservername:8140/status/v1/simple/master').to_return(status: 400)
1070
+ stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
1071
+ stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
1069
1072
 
1070
1073
  expect{
1071
1074
  configurer.run
@@ -1076,8 +1079,8 @@ describe Puppet::Configurer do
1076
1079
  Puppet.settings[:server_list] = "myserver:123,someotherservername"
1077
1080
  Puppet[:usecacheonfailure] = true
1078
1081
 
1079
- stub_request(:get, 'https://myserver:123/status/v1/simple/master').to_return(status: 400)
1080
- stub_request(:get, 'https://someotherservername:8140/status/v1/simple/master').to_return(status: 400)
1082
+ stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
1083
+ stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
1081
1084
 
1082
1085
  options = {}
1083
1086
 
@@ -1091,7 +1094,7 @@ describe Puppet::Configurer do
1091
1094
  Puppet::Node.indirection.terminus_class = :rest
1092
1095
  Puppet::Resource::Catalog.indirection.terminus_class = :rest
1093
1096
 
1094
- stub_request(:get, 'https://myserver:123/status/v1/simple/master').to_return(status: 200)
1097
+ stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
1095
1098
  stub_request(:post, %r{https://myserver:123/puppet/v3/catalog}).to_return(status: 200)
1096
1099
  node_request = stub_request(:get, %r{https://myserver:123/puppet/v3/node/}).to_return(status: 200)
1097
1100
 
@@ -4,11 +4,7 @@ require 'puppet/certificate_factory'
4
4
  require 'puppet/context/trusted_information'
5
5
 
6
6
  describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java' do
7
- let(:key) do
8
- key = Puppet::SSL::Key.new("myname")
9
- key.generate
10
- key
11
- end
7
+ let(:key) { OpenSSL::PKey::RSA.new(Puppet[:keylength]) }
12
8
 
13
9
  let(:csr) do
14
10
  csr = Puppet::SSL::CertificateRequest.new("csr")
@@ -26,7 +22,7 @@ describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java'
26
22
 
27
23
  # The cert must be signed so that it can be successfully be DER-decoded later
28
24
  signer = Puppet::SSL::CertificateSigner.new
29
- signer.sign(cert.content, key.content)
25
+ signer.sign(cert.content, key)
30
26
  cert
31
27
  end
32
28
 
@@ -65,9 +65,9 @@ describe "Defaults" do
65
65
  end
66
66
 
67
67
  describe '.default_digest_algorithm' do
68
- it 'defaults to md5 when FIPS is not enabled' do
68
+ it 'defaults to sha256 when FIPS is not enabled' do
69
69
  allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
70
- expect(Puppet.default_digest_algorithm).to eq('md5')
70
+ expect(Puppet.default_digest_algorithm).to eq('sha256')
71
71
  end
72
72
 
73
73
  it 'defaults to sha256 when FIPS is enabled' do
@@ -77,9 +77,9 @@ describe "Defaults" do
77
77
  end
78
78
 
79
79
  describe '.supported_checksum_types' do
80
- it 'defaults to md5, sha256, sha384, sha512, sha224 when FIPS is not enabled' do
80
+ it 'defaults to sha256, sha384, sha512, sha224, md5 when FIPS is not enabled' do
81
81
  allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
82
- expect(Puppet.default_file_checksum_types).to eq(%w[md5 sha256 sha384 sha512 sha224])
82
+ expect(Puppet.default_file_checksum_types).to eq(%w[sha256 sha384 sha512 sha224 md5])
83
83
  end
84
84
 
85
85
  it 'defaults to sha256, sha384, sha512, sha224 when FIPS is enabled' do
@@ -89,8 +89,8 @@ describe "Defaults" do
89
89
  end
90
90
 
91
91
  describe 'Puppet[:supported_checksum_types]' do
92
- it 'defaults to md5, sha256, sha512, sha384, sha224' do
93
- expect(Puppet.settings[:supported_checksum_types]).to eq(%w[md5 sha256 sha384 sha512 sha224])
92
+ it 'defaults to sha256, sha512, sha384, sha224, md5' do
93
+ expect(Puppet.settings[:supported_checksum_types]).to eq(%w[sha256 sha384 sha512 sha224 md5])
94
94
  end
95
95
 
96
96
  it 'should raise an error on an unsupported checksum type' do
@@ -182,56 +182,31 @@ describe "Defaults" do
182
182
  end
183
183
  end
184
184
 
185
- describe "facterng" do
186
- it "defaults to false" do
187
- expect(Puppet[:facterng]).to be_falsey
188
- end
189
-
190
- it "raises an exception if facter-ng could not be loaded" do
191
- allow_any_instance_of(Puppet::Settings::BooleanSetting).to receive(:require).with('facter-ng').and_raise(LoadError)
192
- allow(Facter).to receive(:value).with('facterversion').and_return('3.11.4')
193
-
194
- expect{ Puppet.settings[:facterng] = true }.to raise_exception ArgumentError, 'facter-ng could not be loaded'
195
- end
196
-
197
- context 'set logger' do
198
- before do
199
- @original_facter = Object.const_get(:Facter)
200
-
201
- Object.send(:remove_const, :Facter)
202
- facter = double('facter')
203
- allow(facter).to receive(:value).with('facterversion').and_return('3.11.4')
204
- Object.const_set(:Facter, facter)
205
-
206
- allow_any_instance_of(Puppet::Settings::BooleanSetting).to receive(:require).with('facter-ng').and_return(true)
207
- allow(Facter).to receive(:respond_to?).and_return(false)
208
- end
209
-
210
- after do
211
- Object.const_set(:Facter, @original_facter)
212
- end
213
-
214
- it 'calls setup_facter_logging!' do
215
- allow(Puppet::Util::Logging).to receive(:setup_facter_logging!).and_return(true)
216
- Puppet.settings[:facterng] = true
217
- expect(Puppet::Util::Logging).to have_received(:setup_facter_logging!).once
218
- end
219
- end
220
- end
221
-
222
185
  describe "deprecated settings" do
223
186
  it 'does not issue a deprecation warning by default' do
224
187
  expect(Puppet).to receive(:deprecation_warning).never
225
188
 
226
189
  Puppet.initialize_settings
227
190
  end
191
+ end
228
192
 
229
- it 'issues a deprecation warning when func3x_check is disabled' do
230
- Puppet[:func3x_check] = false
231
-
232
- expect(Puppet).to receive(:deprecation_warning).with("The 'func3x_check' setting is deprecated and will be removed in a future release.")
193
+ describe "the default cadir", :unless => Puppet::Util::Platform.windows? do
194
+ it 'defaults to the puppetserver confdir when no cadir is found' do
195
+ Puppet.initialize_settings
196
+ expect(Puppet[:cadir]).to eq('/etc/puppetlabs/puppetserver/ca')
197
+ end
233
198
 
199
+ it 'returns an empty string for Windows platforms', :if => Puppet::Util::Platform.windows? do
234
200
  Puppet.initialize_settings
201
+ expect(Puppet[:cadir]).to eq("")
202
+ end
203
+ end
204
+
205
+ describe '#default_cadir', :unless => Puppet::Util::Platform.windows? do
206
+ it 'warns when a CA dir exists in the current ssldir' do
207
+ cadir = File.join(Puppet[:ssldir], 'ca')
208
+ FileUtils.mkdir_p(cadir)
209
+ expect(Puppet.default_cadir).to eq(cadir)
235
210
  end
236
211
  end
237
212
  end
@@ -661,7 +661,6 @@ config_version=$vardir/random/scripts
661
661
 
662
662
  it "evicts an environment that hasn't been recently touched" do
663
663
  Puppet[:environment_timeout] = 1
664
- Puppet[:environment_timeout_mode] = :from_last_used
665
664
 
666
665
  with_environment_loaded(service) do |cached|
667
666
  future = Time.now + 60
@@ -678,7 +677,6 @@ config_version=$vardir/random/scripts
678
677
 
679
678
  it "reuses an environment that was recently touched" do
680
679
  Puppet[:environment_timeout] = 60
681
- Puppet[:environment_timeout_mode] = :from_last_used
682
680
 
683
681
  with_environment_loaded(service) do |cached|
684
682
  # reuse the already cached environment
@@ -691,7 +689,6 @@ config_version=$vardir/random/scripts
691
689
 
692
690
  it "evicts a recently touched environment" do
693
691
  Puppet[:environment_timeout] = 60
694
- Puppet[:environment_timeout_mode] = :from_last_used
695
692
 
696
693
  expect(service).to receive(:expired?).and_return(true)
697
694
 
@@ -71,4 +71,8 @@ CONF
71
71
  log.message =~ /Uploading facts for '.*' to 'puppet\.server\.test'/}
72
72
  end
73
73
  end
74
+
75
+ describe "#show" do
76
+ it { is_expected.to be_action :show }
77
+ end
74
78
  end
@@ -78,8 +78,20 @@ describe Puppet::Face[:node, '0.0.1'] do
78
78
 
79
79
  describe "when cleaning certificate", :if => Puppet.features.puppetserver_ca? do
80
80
  it "should call the CA CLI gem's clean action" do
81
- expect_any_instance_of(Puppetserver::Ca::Action::Clean).to receive(:run).with({ 'certnames' => ['hostname'] }).and_return(0)
82
- subject.clean_cert('hostname')
81
+ expect_any_instance_of(Puppetserver::Ca::Action::Clean).
82
+ to receive(:clean_certs).
83
+ with(['hostname'], anything).
84
+ and_return(:success)
85
+
86
+ if Puppet[:cadir].start_with?(Puppet[:ssldir])
87
+ expect_any_instance_of(LoggerIO).
88
+ to receive(:warn).
89
+ with(/cadir is currently configured to be inside/)
90
+ end
91
+
92
+ expect(Puppet).not_to receive(:warning)
93
+ result = subject.clean_cert('hostname')
94
+ expect(result).to eq(0)
83
95
  end
84
96
 
85
97
  it "should not call the CA CLI gem's clean action if the gem is missing" do
@@ -16,48 +16,88 @@ describe Puppet::Face[:plugin, :current] do
16
16
  end
17
17
  end
18
18
 
19
- it "downloads plugins, external facts, and locales" do
20
- receive_count = 0
21
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
19
+ context "when i18n is enabled" do
20
+ before(:each) do
21
+ Puppet[:disable_i18n] = false
22
+ end
22
23
 
23
- pluginface.download
24
- expect(receive_count).to eq(3)
25
- end
24
+ it "downloads plugins, external facts, and locales" do
25
+ receive_count = 0
26
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
26
27
 
27
- it "renders 'No plugins downloaded' if nothing was downloaded" do
28
- receive_count = 0
29
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
28
+ pluginface.download
29
+ expect(receive_count).to eq(3)
30
+ end
30
31
 
31
- result = pluginface.download
32
- expect(receive_count).to eq(3)
33
- expect(render(result)).to eq('No plugins downloaded.')
34
- end
32
+ it "renders 'No plugins downloaded' if nothing was downloaded" do
33
+ receive_count = 0
34
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
35
35
 
36
- it "renders comma separate list of downloaded file names" do
37
- receive_count = 0
38
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
39
- receive_count += 1
40
- case receive_count
41
- when 1
42
- %w[/a]
43
- when 2
44
- %w[/b]
45
- when 3
46
- %w[/c]
47
- end
36
+ result = pluginface.download
37
+ expect(receive_count).to eq(3)
38
+ expect(render(result)).to eq('No plugins downloaded.')
48
39
  end
49
40
 
50
- result = pluginface.download
51
- expect(receive_count).to eq(3)
52
- expect(render(result)).to eq('Downloaded these plugins: /a, /b, /c')
41
+ it "renders comma separate list of downloaded file names" do
42
+ receive_count = 0
43
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
44
+ receive_count += 1
45
+ case receive_count
46
+ when 1
47
+ %w[/a]
48
+ when 2
49
+ %w[/b]
50
+ when 3
51
+ %w[/c]
52
+ end
53
+ end
54
+
55
+ result = pluginface.download
56
+ expect(receive_count).to eq(3)
57
+ expect(render(result)).to eq('Downloaded these plugins: /a, /b, /c')
58
+ end
53
59
  end
54
60
 
55
- it "uses persistent HTTP pool" do
56
- allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
57
- expect(Puppet.lookup(:http_pool)).to be_instance_of(Puppet::Network::HTTP::Pool)
58
- end.and_return([])
61
+ context "when i18n is enabled" do
62
+ before(:each) do
63
+ Puppet[:disable_i18n] = true
64
+ end
59
65
 
60
- pluginface.download
66
+ it "downloads only plugins and external facts, no locales" do
67
+ receive_count = 0
68
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
69
+
70
+ pluginface.download
71
+ expect(receive_count).to eq(2)
72
+ end
73
+
74
+ it "renders 'No plugins downloaded' if nothing was downloaded, without checking for locales" do
75
+ receive_count = 0
76
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
77
+
78
+ result = pluginface.download
79
+ expect(receive_count).to eq(2)
80
+ expect(render(result)).to eq('No plugins downloaded.')
81
+ end
82
+
83
+ it "renders comma separate list of downloaded file names" do
84
+ receive_count = 0
85
+ allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
86
+ receive_count += 1
87
+ case receive_count
88
+ when 1
89
+ %w[/a]
90
+ when 2
91
+ %w[/b]
92
+ when 3
93
+ %w[/c]
94
+ end
95
+ end
96
+
97
+ result = pluginface.download
98
+ expect(receive_count).to eq(2)
99
+ expect(render(result)).to eq('Downloaded these plugins: /a, /b')
100
+ end
61
101
  end
62
102
  end
63
103
 
@@ -26,7 +26,7 @@ describe Puppet::FileBucket::File, :uses_checksums => true do
26
26
  end
27
27
 
28
28
  it "should require contents to be a string" do
29
- expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a (?:Fixnum|Integer)$/)
29
+ expect { Puppet::FileBucket::File.new(5) }.to raise_error(ArgumentError, /contents must be a String or Pathname, got a Integer$/)
30
30
  end
31
31
 
32
32
  it "should complain about options other than :bucket_path" do
@@ -49,7 +49,7 @@ describe Puppet::FileServing::Configuration::Parser do
49
49
  expect { @parser.parse }.to raise_error(ArgumentError)
50
50
  end
51
51
 
52
- it "should fail if the value for path/allow/deny starts with an equals sign" do
52
+ it "should fail if the value for path starts with an equals sign" do
53
53
  write_config_file "[one]\npath = /testing"
54
54
  expect { @parser.parse }.to raise_error(ArgumentError)
55
55
  end
@@ -97,34 +97,38 @@ describe Puppet::FileServing::Configuration::Parser do
97
97
  end
98
98
 
99
99
  [:allow,:deny].each { |acl_type|
100
- it "should support inline comments in #{acl_type}" do
100
+ it "should ignore inline comments in #{acl_type}" do
101
101
  write_config_file "[one]\n#{acl_type} something \# will it work?\n"
102
102
 
103
- expect(@mount).to receive(:info)
104
- expect(@mount).to receive(acl_type).with("something")
105
- @parser.parse
103
+ expect(@parser.parse).to eq('one' => @mount)
106
104
  end
107
105
 
108
- it "should tell the mount to #{acl_type} from ACLs with varying spacing around commas" do
106
+ it "should ignore #{acl_type} from ACLs with varying spacing around commas" do
109
107
  write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
110
108
 
111
- expect(@mount).to receive(:info).exactly(5).times
112
- expect(@mount).to receive(acl_type).exactly(5).times.with(eq('someone').or eq('sometwo').or eq('somethree').or eq('somefour').or eq('somefive'))
113
- @parser.parse
109
+ expect(@parser.parse).to eq('one' => @mount)
114
110
  end
115
111
 
116
- # each ip, with glob in the various octet positions
117
- ['100','4','42','*'].permutation.map {|permutes| permutes.join('.') }.each { |ip_pattern|
118
- it "should tell the mount to #{acl_type} from ACLs with glob at #{ip_pattern}" do
119
- write_config_file "[one]\n#{acl_type} #{ip_pattern}\n"
112
+ it "should log an error and print the location of the #{acl_type} rule" do
113
+ write_config_file(<<~CONFIG)
114
+ [one]
115
+ #{acl_type} one
116
+ CONFIG
117
+
118
+ expect(Puppet).to receive(:err).with(/Entry '#{acl_type} one' is unsupported and will be ignored at \(file: .*, line: 2\)/)
120
119
 
121
- expect(@mount).to receive(:info)
122
- expect(@mount).to receive(acl_type).with(ip_pattern)
123
- @parser.parse
124
- end
125
- }
120
+ @parser.parse
121
+ end
126
122
  }
127
123
 
124
+ it "should not generate an error when parsing 'allow *'" do
125
+ write_config_file "[one]\nallow *\n"
126
+
127
+ expect(Puppet).to receive(:err).never
128
+
129
+ @parser.parse
130
+ end
131
+
128
132
  it "should return comprehensible error message, if failed on invalid attribute" do
129
133
  write_config_file "[one]\ndo something\n"
130
134