puppet 6.19.1-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 (440) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +19 -20
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +1 -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 +15 -11
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +28 -33
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +95 -159
  20. data/lib/puppet/environments.rb +10 -25
  21. data/lib/puppet/face/config.rb +10 -0
  22. data/lib/puppet/face/epp.rb +12 -2
  23. data/lib/puppet/face/facts.rb +66 -6
  24. data/lib/puppet/face/help.rb +1 -1
  25. data/lib/puppet/face/plugin.rb +5 -8
  26. data/lib/puppet/ffi/windows.rb +12 -0
  27. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  28. data/lib/puppet/ffi/windows/constants.rb +404 -0
  29. data/lib/puppet/ffi/windows/functions.rb +628 -0
  30. data/lib/puppet/ffi/windows/structs.rb +338 -0
  31. data/lib/puppet/file_serving/configuration.rb +0 -5
  32. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  33. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  34. data/lib/puppet/file_serving/mount.rb +1 -2
  35. data/lib/puppet/forge/repository.rb +0 -1
  36. data/lib/puppet/functions/epp.rb +1 -0
  37. data/lib/puppet/functions/inline_epp.rb +1 -0
  38. data/lib/puppet/generate/models/type/type.rb +4 -1
  39. data/lib/puppet/http.rb +22 -13
  40. data/lib/puppet/http/client.rb +164 -114
  41. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  42. data/lib/puppet/http/errors.rb +16 -0
  43. data/lib/puppet/http/external_client.rb +5 -7
  44. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  45. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  46. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  47. data/lib/puppet/http/proxy.rb +137 -0
  48. data/lib/puppet/http/redirector.rb +4 -12
  49. data/lib/puppet/http/resolver.rb +5 -15
  50. data/lib/puppet/http/resolver/server_list.rb +6 -10
  51. data/lib/puppet/http/resolver/settings.rb +4 -7
  52. data/lib/puppet/http/resolver/srv.rb +7 -11
  53. data/lib/puppet/http/response.rb +36 -54
  54. data/lib/puppet/http/response_converter.rb +24 -0
  55. data/lib/puppet/http/response_net_http.rb +42 -0
  56. data/lib/puppet/http/retry_after_handler.rb +4 -13
  57. data/lib/puppet/http/service.rb +12 -26
  58. data/lib/puppet/http/service/ca.rb +11 -22
  59. data/lib/puppet/http/service/compiler.rb +22 -69
  60. data/lib/puppet/http/service/file_server.rb +18 -27
  61. data/lib/puppet/http/service/puppetserver.rb +26 -12
  62. data/lib/puppet/http/service/report.rb +8 -10
  63. data/lib/puppet/http/session.rb +11 -20
  64. data/lib/puppet/{network/http → http}/site.rb +1 -2
  65. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  66. data/lib/puppet/indirector/fact_search.rb +60 -0
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/json.rb +27 -0
  69. data/lib/puppet/indirector/facts/rest.rb +3 -22
  70. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  71. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  73. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  74. data/lib/puppet/indirector/file_server.rb +1 -8
  75. data/lib/puppet/indirector/generic_http.rb +0 -11
  76. data/lib/puppet/indirector/json.rb +5 -1
  77. data/lib/puppet/indirector/node/json.rb +8 -0
  78. data/lib/puppet/indirector/node/rest.rb +2 -4
  79. data/lib/puppet/indirector/report/json.rb +34 -0
  80. data/lib/puppet/indirector/report/rest.rb +3 -8
  81. data/lib/puppet/indirector/request.rb +0 -101
  82. data/lib/puppet/indirector/rest.rb +12 -263
  83. data/lib/puppet/module_tool/applications.rb +0 -1
  84. data/lib/puppet/network/authconfig.rb +2 -96
  85. data/lib/puppet/network/authorization.rb +13 -35
  86. data/lib/puppet/network/formats.rb +2 -1
  87. data/lib/puppet/network/http.rb +3 -3
  88. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  89. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  90. data/lib/puppet/network/http/connection.rb +247 -316
  91. data/lib/puppet/network/http/handler.rb +0 -1
  92. data/lib/puppet/network/http_pool.rb +16 -34
  93. data/lib/puppet/node.rb +1 -30
  94. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  95. data/lib/puppet/pal/pal_impl.rb +73 -18
  96. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  97. data/lib/puppet/parser/compiler.rb +0 -198
  98. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  99. data/lib/puppet/parser/resource.rb +0 -69
  100. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
  101. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  102. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  103. data/lib/puppet/pops/issues.rb +0 -5
  104. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  105. data/lib/puppet/pops/model/ast.pp +0 -42
  106. data/lib/puppet/pops/model/ast.rb +0 -290
  107. data/lib/puppet/pops/model/factory.rb +0 -45
  108. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  109. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  110. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  111. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  112. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  113. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  114. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  115. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  116. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  117. data/lib/puppet/pops/types/type_parser.rb +0 -4
  118. data/lib/puppet/pops/types/types.rb +0 -1
  119. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  120. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  121. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  122. data/lib/puppet/provider.rb +0 -13
  123. data/lib/puppet/provider/nameservice.rb +0 -18
  124. data/lib/puppet/provider/package/dpkg.rb +0 -10
  125. data/lib/puppet/provider/package/gem.rb +23 -3
  126. data/lib/puppet/provider/package/pip.rb +0 -1
  127. data/lib/puppet/provider/package/pkg.rb +0 -4
  128. data/lib/puppet/provider/package/portage.rb +1 -1
  129. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  130. data/lib/puppet/provider/service/smf.rb +191 -73
  131. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  132. data/lib/puppet/reference/configuration.rb +2 -0
  133. data/lib/puppet/reference/indirection.rb +1 -1
  134. data/lib/puppet/resource.rb +1 -89
  135. data/lib/puppet/resource/catalog.rb +1 -14
  136. data/lib/puppet/resource/type.rb +3 -119
  137. data/lib/puppet/resource/type_collection.rb +3 -48
  138. data/lib/puppet/runtime.rb +1 -2
  139. data/lib/puppet/settings.rb +45 -33
  140. data/lib/puppet/settings/base_setting.rb +26 -2
  141. data/lib/puppet/settings/integer_setting.rb +17 -0
  142. data/lib/puppet/settings/port_setting.rb +15 -0
  143. data/lib/puppet/settings/priority_setting.rb +5 -4
  144. data/lib/puppet/ssl.rb +10 -6
  145. data/lib/puppet/ssl/base.rb +3 -5
  146. data/lib/puppet/ssl/certificate.rb +0 -6
  147. data/lib/puppet/ssl/certificate_request.rb +1 -12
  148. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  149. data/lib/puppet/ssl/oids.rb +3 -1
  150. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  151. data/lib/puppet/ssl/state_machine.rb +3 -1
  152. data/lib/puppet/ssl/verifier.rb +2 -0
  153. data/lib/puppet/test/test_helper.rb +1 -3
  154. data/lib/puppet/transaction.rb +1 -7
  155. data/lib/puppet/transaction/report.rb +2 -4
  156. data/lib/puppet/type.rb +0 -76
  157. data/lib/puppet/type/file.rb +5 -7
  158. data/lib/puppet/type/file/checksum.rb +1 -1
  159. data/lib/puppet/type/file/source.rb +1 -1
  160. data/lib/puppet/type/filebucket.rb +3 -3
  161. data/lib/puppet/type/package.rb +5 -13
  162. data/lib/puppet/util/execution.rb +0 -11
  163. data/lib/puppet/util/http_proxy.rb +2 -215
  164. data/lib/puppet/util/monkey_patches.rb +0 -46
  165. data/lib/puppet/util/rdoc.rb +0 -7
  166. data/lib/puppet/util/retry_action.rb +1 -1
  167. data/lib/puppet/util/rubygems.rb +5 -1
  168. data/lib/puppet/util/run_mode.rb +9 -1
  169. data/lib/puppet/util/windows.rb +3 -8
  170. data/lib/puppet/util/windows/daemon.rb +360 -0
  171. data/lib/puppet/util/windows/error.rb +1 -0
  172. data/lib/puppet/util/windows/eventlog.rb +4 -9
  173. data/lib/puppet/util/windows/file.rb +8 -242
  174. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  175. data/lib/puppet/util/windows/process.rb +4 -226
  176. data/lib/puppet/util/windows/service.rb +9 -460
  177. data/lib/puppet/util/windows/string.rb +12 -13
  178. data/lib/puppet/util/yaml.rb +0 -22
  179. data/lib/puppet/vendor/require_vendored.rb +0 -1
  180. data/lib/puppet/version.rb +1 -1
  181. data/lib/puppet/x509.rb +5 -1
  182. data/lib/puppet/x509/cert_provider.rb +29 -1
  183. data/locales/puppet.pot +531 -1232
  184. data/man/man5/puppet.conf.5 +37 -97
  185. data/man/man8/puppet-agent.8 +1 -1
  186. data/man/man8/puppet-apply.8 +1 -1
  187. data/man/man8/puppet-catalog.8 +1 -1
  188. data/man/man8/puppet-config.8 +1 -1
  189. data/man/man8/puppet-describe.8 +1 -1
  190. data/man/man8/puppet-device.8 +1 -1
  191. data/man/man8/puppet-doc.8 +1 -1
  192. data/man/man8/puppet-epp.8 +1 -1
  193. data/man/man8/puppet-facts.8 +55 -9
  194. data/man/man8/puppet-filebucket.8 +6 -6
  195. data/man/man8/puppet-generate.8 +1 -1
  196. data/man/man8/puppet-help.8 +1 -1
  197. data/man/man8/puppet-lookup.8 +1 -1
  198. data/man/man8/puppet-module.8 +1 -58
  199. data/man/man8/puppet-node.8 +4 -1
  200. data/man/man8/puppet-parser.8 +1 -1
  201. data/man/man8/puppet-plugin.8 +1 -1
  202. data/man/man8/puppet-report.8 +4 -1
  203. data/man/man8/puppet-resource.8 +1 -1
  204. data/man/man8/puppet-script.8 +1 -1
  205. data/man/man8/puppet-ssl.8 +1 -1
  206. data/man/man8/puppet.8 +2 -2
  207. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  208. data/spec/integration/application/agent_spec.rb +24 -11
  209. data/spec/integration/application/apply_spec.rb +1 -1
  210. data/spec/integration/application/filebucket_spec.rb +16 -16
  211. data/spec/integration/application/help_spec.rb +2 -0
  212. data/spec/integration/application/plugin_spec.rb +23 -1
  213. data/spec/integration/defaults_spec.rb +7 -3
  214. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  215. data/spec/integration/network/http_pool_spec.rb +3 -21
  216. data/spec/integration/parser/catalog_spec.rb +0 -38
  217. data/spec/integration/parser/node_spec.rb +0 -9
  218. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  219. data/spec/integration/type/file_spec.rb +5 -4
  220. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  221. data/spec/integration/util/windows/security_spec.rb +1 -1
  222. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  223. data/spec/lib/puppet_spec/settings.rb +7 -1
  224. data/spec/spec_helper.rb +2 -0
  225. data/spec/unit/agent_spec.rb +0 -2
  226. data/spec/unit/application/config_spec.rb +224 -4
  227. data/spec/unit/application/facts_spec.rb +35 -0
  228. data/spec/unit/application/filebucket_spec.rb +41 -39
  229. data/spec/unit/application/ssl_spec.rb +2 -2
  230. data/spec/unit/certificate_factory_spec.rb +1 -1
  231. data/spec/unit/configurer/downloader_spec.rb +6 -2
  232. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  233. data/spec/unit/configurer_spec.rb +12 -9
  234. data/spec/unit/context/trusted_information_spec.rb +2 -6
  235. data/spec/unit/defaults_spec.rb +77 -28
  236. data/spec/unit/environments_spec.rb +0 -3
  237. data/spec/unit/face/config_spec.rb +27 -32
  238. data/spec/unit/face/facts_spec.rb +4 -0
  239. data/spec/unit/face/plugin_spec.rb +73 -33
  240. data/spec/unit/file_bucket/file_spec.rb +1 -1
  241. data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
  242. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  243. data/spec/unit/functions/camelcase_spec.rb +1 -1
  244. data/spec/unit/functions/capitalize_spec.rb +1 -1
  245. data/spec/unit/functions/downcase_spec.rb +1 -1
  246. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  247. data/spec/unit/functions/upcase_spec.rb +1 -1
  248. data/spec/unit/http/client_spec.rb +7 -8
  249. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  250. data/spec/unit/http/external_client_spec.rb +4 -4
  251. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  252. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  253. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  254. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  255. data/spec/unit/http/resolver_spec.rb +13 -13
  256. data/spec/unit/http/service/compiler_spec.rb +49 -62
  257. data/spec/unit/http/service/file_server_spec.rb +3 -3
  258. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  259. data/spec/unit/http/service_spec.rb +1 -2
  260. data/spec/unit/http/session_spec.rb +16 -14
  261. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  262. data/spec/unit/indirector/facts/facter_spec.rb +97 -0
  263. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  264. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  265. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  266. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  267. data/spec/unit/indirector/file_server_spec.rb +1 -15
  268. data/spec/unit/indirector/node/json_spec.rb +33 -0
  269. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  270. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  271. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  272. data/spec/unit/indirector/request_spec.rb +0 -264
  273. data/spec/unit/indirector/rest_spec.rb +98 -752
  274. data/spec/unit/network/authconfig_spec.rb +2 -132
  275. data/spec/unit/network/authorization_spec.rb +2 -55
  276. data/spec/unit/network/formats_spec.rb +4 -4
  277. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
  278. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  279. data/spec/unit/network/http/api_spec.rb +10 -0
  280. data/spec/unit/network/http/connection_spec.rb +19 -41
  281. data/spec/unit/network/http/handler_spec.rb +0 -6
  282. data/spec/unit/network/http_pool_spec.rb +0 -4
  283. data/spec/unit/node/environment_spec.rb +33 -21
  284. data/spec/unit/node_spec.rb +2 -54
  285. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  286. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  287. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  288. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  289. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  290. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  291. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  292. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  293. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  294. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  295. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  296. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  297. data/spec/unit/pops/visitor_spec.rb +1 -1
  298. data/spec/unit/provider/nameservice_spec.rb +0 -57
  299. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  300. data/spec/unit/provider/package/gem_spec.rb +32 -0
  301. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  302. data/spec/unit/provider/service/smf_spec.rb +401 -165
  303. data/spec/unit/provider/service/windows_spec.rb +0 -1
  304. data/spec/unit/provider_spec.rb +0 -12
  305. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  306. data/spec/unit/resource/type_collection_spec.rb +2 -22
  307. data/spec/unit/resource_spec.rb +0 -56
  308. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  309. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  310. data/spec/unit/settings/port_setting_spec.rb +31 -0
  311. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  312. data/spec/unit/settings_spec.rb +423 -236
  313. data/spec/unit/ssl/base_spec.rb +36 -3
  314. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  315. data/spec/unit/ssl/certificate_spec.rb +2 -11
  316. data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
  317. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  318. data/spec/unit/ssl/verifier_spec.rb +0 -21
  319. data/spec/unit/transaction/report_spec.rb +0 -2
  320. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  321. data/spec/unit/transaction_spec.rb +45 -79
  322. data/spec/unit/type/file/checksum_spec.rb +6 -6
  323. data/spec/unit/type/file/content_spec.rb +1 -1
  324. data/spec/unit/type/file/ensure_spec.rb +1 -1
  325. data/spec/unit/type/file/mode_spec.rb +1 -1
  326. data/spec/unit/type/file/source_spec.rb +0 -1
  327. data/spec/unit/type/file_spec.rb +12 -6
  328. data/spec/unit/type/package_spec.rb +1 -1
  329. data/spec/unit/type_spec.rb +20 -0
  330. data/spec/unit/util/backups_spec.rb +0 -2
  331. data/spec/unit/util/execution_spec.rb +0 -29
  332. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  333. data/spec/unit/util/rubygems_spec.rb +2 -2
  334. data/spec/unit/util/run_mode_spec.rb +21 -121
  335. data/spec/unit/util/windows/string_spec.rb +1 -3
  336. data/spec/unit/util/yaml_spec.rb +0 -54
  337. data/spec/unit/util_spec.rb +0 -18
  338. metadata +50 -232
  339. data/conf/auth.conf +0 -150
  340. data/lib/puppet/application/cert.rb +0 -76
  341. data/lib/puppet/application/key.rb +0 -4
  342. data/lib/puppet/application/man.rb +0 -4
  343. data/lib/puppet/application/status.rb +0 -4
  344. data/lib/puppet/face/key.rb +0 -16
  345. data/lib/puppet/face/man.rb +0 -145
  346. data/lib/puppet/face/module/build.rb +0 -14
  347. data/lib/puppet/face/module/generate.rb +0 -14
  348. data/lib/puppet/face/module/search.rb +0 -103
  349. data/lib/puppet/face/status.rb +0 -51
  350. data/lib/puppet/indirector/certificate/file.rb +0 -9
  351. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  352. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  353. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  354. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  355. data/lib/puppet/indirector/file_content/http.rb +0 -22
  356. data/lib/puppet/indirector/key/file.rb +0 -46
  357. data/lib/puppet/indirector/key/memory.rb +0 -7
  358. data/lib/puppet/indirector/ssl_file.rb +0 -162
  359. data/lib/puppet/indirector/status.rb +0 -3
  360. data/lib/puppet/indirector/status/local.rb +0 -12
  361. data/lib/puppet/indirector/status/rest.rb +0 -27
  362. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  363. data/lib/puppet/network/auth_config_parser.rb +0 -90
  364. data/lib/puppet/network/authstore.rb +0 -283
  365. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  366. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  367. data/lib/puppet/network/http/base_pool.rb +0 -36
  368. data/lib/puppet/network/http/compression.rb +0 -127
  369. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  370. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  371. data/lib/puppet/network/rest_controller.rb +0 -2
  372. data/lib/puppet/network/rights.rb +0 -210
  373. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  374. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  375. data/lib/puppet/parser/environment_compiler.rb +0 -202
  376. data/lib/puppet/pops/types/enumeration.rb +0 -16
  377. data/lib/puppet/resource/capability_finder.rb +0 -154
  378. data/lib/puppet/rest/errors.rb +0 -15
  379. data/lib/puppet/rest/response.rb +0 -35
  380. data/lib/puppet/rest/route.rb +0 -85
  381. data/lib/puppet/rest/routes.rb +0 -135
  382. data/lib/puppet/ssl/host.rb +0 -505
  383. data/lib/puppet/ssl/key.rb +0 -61
  384. data/lib/puppet/ssl/validator.rb +0 -61
  385. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  386. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  387. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  388. data/lib/puppet/status.rb +0 -40
  389. data/lib/puppet/util/connection.rb +0 -88
  390. data/lib/puppet/util/ssl.rb +0 -83
  391. data/lib/puppet/util/windows/api_types.rb +0 -309
  392. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  393. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  394. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  395. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  396. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  397. data/lib/puppet/vendor/pathspec/README.md +0 -53
  398. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  399. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  400. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  401. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  402. data/man/man8/puppet-key.8 +0 -126
  403. data/man/man8/puppet-man.8 +0 -76
  404. data/man/man8/puppet-status.8 +0 -108
  405. data/spec/integration/application/config_spec.rb +0 -74
  406. data/spec/integration/network/authconfig_spec.rb +0 -256
  407. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  408. data/spec/unit/application/man_spec.rb +0 -52
  409. data/spec/unit/capability_spec.rb +0 -414
  410. data/spec/unit/face/catalog_spec.rb +0 -6
  411. data/spec/unit/face/key_spec.rb +0 -9
  412. data/spec/unit/face/module/search_spec.rb +0 -231
  413. data/spec/unit/face/module_spec.rb +0 -3
  414. data/spec/unit/face/status_spec.rb +0 -9
  415. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  416. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  417. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  418. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  419. data/spec/unit/indirector/key/file_spec.rb +0 -79
  420. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  421. data/spec/unit/indirector/status/local_spec.rb +0 -10
  422. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  423. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  424. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  425. data/spec/unit/network/authstore_spec.rb +0 -422
  426. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  427. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  428. data/spec/unit/network/http/compression_spec.rb +0 -240
  429. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  430. data/spec/unit/network/http_spec.rb +0 -9
  431. data/spec/unit/network/rights_spec.rb +0 -439
  432. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  433. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  434. data/spec/unit/resource/capability_finder_spec.rb +0 -143
  435. data/spec/unit/rest/route_spec.rb +0 -132
  436. data/spec/unit/ssl/host_spec.rb +0 -650
  437. data/spec/unit/ssl/key_spec.rb +0 -173
  438. data/spec/unit/ssl/validator_spec.rb +0 -278
  439. data/spec/unit/status_spec.rb +0 -45
  440. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -629,7 +629,7 @@ module Serialization
629
629
  it 'the value of a type description is something other than a String or a Hash' do
630
630
  expect do
631
631
  from_converter.convert({ '__ptype' => { '__ptype' => 'Pcore::TimestampType', '__pvalue' => 12345 }})
632
- end.to raise_error(/Cannot create a Pcore::TimestampType from a (Fixnum|Integer)/)
632
+ end.to raise_error(/Cannot create a Pcore::TimestampType from a Integer/)
633
633
  end
634
634
  end
635
635
  end
@@ -141,11 +141,11 @@ describe 'The type calculator' do
141
141
 
142
142
  context 'when inferring ruby' do
143
143
 
144
- it 'fixnum translates to PIntegerType' do
144
+ it 'integer translates to PIntegerType' do
145
145
  expect(calculator.infer(1).class).to eq(PIntegerType)
146
146
  end
147
147
 
148
- it 'large fixnum (or bignum depending on architecture) translates to PIntegerType' do
148
+ it 'large integer translates to PIntegerType' do
149
149
  expect(calculator.infer(2**33).class).to eq(PIntegerType)
150
150
  end
151
151
 
@@ -329,7 +329,7 @@ describe 'The type calculator' do
329
329
  expect(object_t('name' => 'DerivedObjectArray')).to be_instance(derived_object)
330
330
  end
331
331
 
332
- it 'with fixnum values translates to PArrayType[PIntegerType]' do
332
+ it 'with integer values translates to PArrayType[PIntegerType]' do
333
333
  expect(calculator.infer([1,2]).element_type.class).to eq(PIntegerType)
334
334
  end
335
335
 
@@ -407,7 +407,7 @@ describe 'The type calculator' do
407
407
  expect(et.class).to eq(PEnumType)
408
408
  end
409
409
 
410
- it 'with array of string values and array of fixnums translates to PArrayType[PArrayType[PScalarDataType]]' do
410
+ it 'with array of string values and array of integers translates to PArrayType[PArrayType[PScalarDataType]]' do
411
411
  et = calculator.infer([['first', 'array'], [1,2]])
412
412
  expect(et.class).to eq(PArrayType)
413
413
  et = et.element_type
@@ -425,7 +425,7 @@ describe 'The type calculator' do
425
425
  expect(et.class).to eq(PEnumType)
426
426
  end
427
427
 
428
- it 'with hash of string values and hash of fixnums translates to PArrayType[PHashType[PScalarDataType]]' do
428
+ it 'with hash of string values and hash of integers translates to PArrayType[PHashType[PScalarDataType]]' do
429
429
  et = calculator.infer([{:first => 'first', :second => 'second' }, {:first => 1, :second => 2 }])
430
430
  expect(et.class).to eq(PArrayType)
431
431
  et = et.element_type
@@ -489,7 +489,7 @@ describe 'The type calculator' do
489
489
  expect(calculator.infer({'first' => 1, 'second' => 2}).key_type.class).to eq(PEnumType)
490
490
  end
491
491
 
492
- it 'with fixnum values translates to PHashType[key, PIntegerType]' do
492
+ it 'with integer values translates to PHashType[key, PIntegerType]' do
493
493
  expect(calculator.infer({:first => 1, :second => 2}).value_type.class).to eq(PIntegerType)
494
494
  end
495
495
 
@@ -151,7 +151,7 @@ describe 'The type factory' do
151
151
  expect(hc.class_name).to eq('x')
152
152
  end
153
153
 
154
- it 'array_of(fixnum) returns PArrayType[PIntegerType]' do
154
+ it 'array_of(integer) returns PArrayType[PIntegerType]' do
155
155
  at = TypeFactory.array_of(1)
156
156
  expect(at.class()).to eq(PArrayType)
157
157
  expect(at.element_type.class).to eq(PIntegerType)
@@ -179,17 +179,17 @@ describe "validating 4x" do
179
179
  expect(acceptor).to have_issue(Puppet::Pops::Issues::DUPLICATE_KEY)
180
180
  end
181
181
 
182
- it 'produces a warning for virtual class resource' do
182
+ it 'produces an error for virtual class resource' do
183
183
  acceptor = validate(parse('@class { test: }'))
184
- expect(acceptor.warning_count).to eql(1)
185
- expect(acceptor.error_count).to eql(0)
184
+ expect(acceptor.warning_count).to eql(0)
185
+ expect(acceptor.error_count).to eql(1)
186
186
  expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
187
187
  end
188
188
 
189
- it 'produces a warning for exported class resource' do
189
+ it 'produces an error for exported class resource' do
190
190
  acceptor = validate(parse('@@class { test: }'))
191
- expect(acceptor.warning_count).to eql(1)
192
- expect(acceptor.error_count).to eql(0)
191
+ expect(acceptor.warning_count).to eql(0)
192
+ expect(acceptor.error_count).to eql(1)
193
193
  expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
194
194
  end
195
195
 
@@ -310,17 +310,17 @@ describe "validating 4x" do
310
310
  expect(acceptor).to have_issue(Puppet::Pops::Issues::DUPLICATE_DEFAULT)
311
311
  end
312
312
 
313
- it 'produces a warning for virtual class resource' do
313
+ it 'produces an error for virtual class resource' do
314
314
  acceptor = validate(parse('@class { test: }'))
315
- expect(acceptor.warning_count).to eql(1)
316
- expect(acceptor.error_count).to eql(0)
315
+ expect(acceptor.warning_count).to eql(0)
316
+ expect(acceptor.error_count).to eql(1)
317
317
  expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
318
318
  end
319
319
 
320
- it 'produces a warning for exported class resource' do
320
+ it 'produces an error for exported class resource' do
321
321
  acceptor = validate(parse('@@class { test: }'))
322
- expect(acceptor.warning_count).to eql(1)
323
- expect(acceptor.error_count).to eql(0)
322
+ expect(acceptor.warning_count).to eql(0)
323
+ expect(acceptor.error_count).to eql(1)
324
324
  expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
325
325
  end
326
326
  end
@@ -344,16 +344,16 @@ describe "validating 4x" do
344
344
  end
345
345
  end
346
346
 
347
- it 'produces an error for application' do
348
- acceptor = validate(parse('application test {}'))
349
- expect(acceptor.error_count).to eql(1)
350
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
347
+ it 'produces a syntax error for application' do
348
+ expect {
349
+ parse('application test {}')
350
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'application'/)
351
351
  end
352
352
 
353
- it 'produces an error for capability mapping' do
354
- acceptor = validate(parse('Foo produces Sql {}'))
355
- expect(acceptor.error_count).to eql(1)
356
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
353
+ it 'produces a syntax error for capability mapping' do
354
+ expect {
355
+ parse('Foo produces Sql {}')
356
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'produces'/)
357
357
  end
358
358
 
359
359
  it 'produces an error for collect expressions with virtual query' do
@@ -410,10 +410,10 @@ describe "validating 4x" do
410
410
  expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
411
411
  end
412
412
 
413
- it 'produces an error for site definitions' do
414
- acceptor = validate(parse('site {}'))
415
- expect(acceptor.error_count).to eql(1)
416
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
413
+ it 'produces a syntax error for site definitions' do
414
+ expect {
415
+ parse('site {}')
416
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'site'/)
417
417
  end
418
418
 
419
419
  context 'validating apply() blocks' do
@@ -468,16 +468,16 @@ describe "validating 4x" do
468
468
  expect(acceptor.error_count).to eql(0)
469
469
  end
470
470
 
471
- it 'produces an error for application' do
472
- acceptor = validate(parse('apply("foo.example.com") { application test {} }'))
473
- expect(acceptor.error_count).to eql(1)
474
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
471
+ it 'produces a syntax error for application' do
472
+ expect {
473
+ parse('apply("foo.example.com") { application test {} }')
474
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'application'/)
475
475
  end
476
476
 
477
- it 'produces an error for capability mapping' do
478
- acceptor = validate(parse('apply("foo.example.com") { Foo produces Sql {} }'))
479
- expect(acceptor.error_count).to eql(1)
480
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
477
+ it 'produces a syntax error for capability mapping' do
478
+ expect {
479
+ parse('apply("foo.example.com") { Foo produces Sql {} }')
480
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'produces'/)
481
481
  end
482
482
 
483
483
  it 'produces an error for class expressions' do
@@ -504,9 +504,9 @@ describe "validating 4x" do
504
504
  end
505
505
 
506
506
  it 'produces an error for site definitions' do
507
- acceptor = validate(parse('apply("foo.example.com") { site {} }'))
508
- expect(acceptor.error_count).to eql(1)
509
- expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
507
+ expect {
508
+ parse('apply("foo.example.com") { site {} }')
509
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'site'/)
510
510
  end
511
511
 
512
512
  it 'produces an error for apply() inside apply()' do
@@ -669,6 +669,15 @@ describe "validating 4x" do
669
669
  'regexp',
670
670
  'pattern',
671
671
  'runtime',
672
+ 'init',
673
+ 'object',
674
+ 'sensitive',
675
+ 'semver',
676
+ 'semverrange',
677
+ 'string',
678
+ 'timestamp',
679
+ 'timespan',
680
+ 'typeset',
672
681
  ].each do |name|
673
682
 
674
683
  it "produces an error for 'class #{name}'" do
@@ -693,6 +702,7 @@ describe "validating 4x" do
693
702
  source = "type('a', 'b')"
694
703
  expect(validate(parse(source))).not_to have_any_issues
695
704
  end
705
+
696
706
  it "should allow using the 'type' as the name of a function with no parameters and a block" do
697
707
  source = "type() |$x| { $x }"
698
708
  expect(validate(parse(source))).not_to have_any_issues
@@ -968,6 +978,18 @@ describe "validating 4x" do
968
978
  end
969
979
  end
970
980
 
981
+ it "allows a reserved type name" do
982
+ source = <<-SOURCE
983
+ class foo {
984
+ define string() {}
985
+ foo::string { 'a': }
986
+ }
987
+ SOURCE
988
+
989
+ acceptor = validate(parse(source, 'path/foo/manifests/init.pp'))
990
+ expect(acceptor.error_count).to eql(0)
991
+ end
992
+
971
993
  it "will give multiple errors in one file with multiple issues" do
972
994
  source = <<-SOURCE
973
995
  class foo {}
@@ -992,17 +1014,10 @@ describe "validating 4x" do
992
1014
 
993
1015
  context "capability annotations" do
994
1016
  ['produces', 'consumes'].each do |word|
995
- it "rejects illegal resource types in #{word} clauses" do
996
- expect(validate(parse("foo produces Bar {}"))).to have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
997
- end
998
-
999
- it "accepts legal resource and capability types in #{word} clauses" do
1000
- expect(validate(parse("Foo produces Bar {}"))).to_not have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
1001
- expect(validate(parse("Mod::Foo produces ::Mod2::Bar {}"))).to_not have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
1002
- end
1003
-
1004
- it "rejects illegal capability types in #{word} clauses" do
1005
- expect(validate(parse("Foo produces bar {}"))).to have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
1017
+ it "raises a syntax error in #{word} clauses" do
1018
+ expect {
1019
+ parse("foo #{word} Bar {}")
1020
+ }.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{word}'/)
1006
1021
  end
1007
1022
  end
1008
1023
  end
@@ -39,7 +39,7 @@ describe Puppet::Pops::Visitor do
39
39
 
40
40
  it "should select method for superclass" do
41
41
  duck_processor = DuckProcessor.new
42
- expect(duck_processor.hi(42)).to match(/Howdy (?:Fixnum|Integer)/)
42
+ expect(duck_processor.hi(42)).to match(/Howdy Integer/)
43
43
  end
44
44
 
45
45
  it "should select method for superclass" do
@@ -149,63 +149,6 @@ describe Puppet::Provider::NameService do
149
149
  end
150
150
  end
151
151
 
152
- describe "#listbyname" do
153
- it "should be deprecated" do
154
- expect(Puppet).to receive(:deprecation_warning).with(/listbyname is deprecated/)
155
- described_class.listbyname
156
- end
157
-
158
- it "should return a list of users if resource_type is user" do
159
- described_class.resource_type = Puppet::Type.type(:user)
160
- expect(Puppet::Etc).to receive(:setpwent)
161
- allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
162
- expect(Puppet::Etc).to receive(:endpwent)
163
- expect(described_class.listbyname).to eq(%w{root foo})
164
- end
165
-
166
- context "encoding handling" do
167
- described_class.resource_type = Puppet::Type.type(:user)
168
-
169
- # These two tests simulate an environment where there are two users with
170
- # the same name on disk, but each name is stored on disk in a different
171
- # encoding
172
- it "should return names with invalid byte sequences replaced with '?'" do
173
- allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
174
- expect(invalid_utf_8_jose).to_not be_valid_encoding
175
- result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
176
- described_class.listbyname
177
- end
178
- expect(result).to eq(['root', 'foo', utf_8_jose, escaped_utf_8_jose])
179
- end
180
-
181
- it "should return names in their original encoding/bytes if they would not be valid UTF-8" do
182
- allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
183
- result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
184
- described_class.listbyname
185
- end
186
- expect(result).to eq(['root'.force_encoding(Encoding::UTF_8), 'foo'.force_encoding(Encoding::UTF_8), utf_8_jose, valid_latin1_jose])
187
- end
188
- end
189
-
190
- it "should return a list of groups if resource_type is group", :unless => Puppet::Util::Platform.windows? do
191
- described_class.resource_type = Puppet::Type.type(:group)
192
- expect(Puppet::Etc).to receive(:setgrent)
193
- allow(Puppet::Etc).to receive(:getgrent).and_return(*groups)
194
- expect(Puppet::Etc).to receive(:endgrent)
195
- expect(described_class.listbyname).to eq(%w{root bin})
196
- end
197
-
198
- it "should yield if a block given" do
199
- yield_results = []
200
- described_class.resource_type = Puppet::Type.type(:user)
201
- expect(Puppet::Etc).to receive(:setpwent)
202
- allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
203
- expect(Puppet::Etc).to receive(:endpwent)
204
- described_class.listbyname {|x| yield_results << x }
205
- expect(yield_results).to eq(%w{root foo})
206
- end
207
- end
208
-
209
152
  describe "instances" do
210
153
  it "should return a list of objects in UTF-8 with any invalid characters replaced with '?'" do
211
154
  # These two tests simulate an environment where there are two users with
@@ -392,39 +392,13 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
392
392
  allow(Tempfile).to receive(:open).and_yield(tempfile)
393
393
  end
394
394
 
395
- it "installs first if package is not present and ensure holding" do
396
- allow(provider).to receive(:execute)
397
- allow(provider).to receive(:package_not_installed?).and_return(true)
398
- expect(provider).to receive(:install).once
399
- expect(provider).to receive(:hold)
400
- provider.deprecated_hold
401
- end
402
-
403
- it "skips install new package if hold is true" do
404
- allow(provider).to receive(:execute)
405
- allow(provider).to receive(:package_not_installed?).and_return(true)
406
- expect(provider).to receive(:install).once
407
- expect(provider).to receive(:hold)
408
- provider.deprecated_hold
409
- end
410
-
411
- it "skips install new package if package is allready installed" do
412
- allow(provider).to receive(:execute)
413
- allow(provider).to receive(:package_not_installed?).and_return(false)
414
- expect(provider).not_to receive(:install)
415
- expect(provider).to receive(:hold)
416
- provider.deprecated_hold
417
- end
418
-
419
395
  it "executes dpkg --set-selections when holding" do
420
- allow(provider).to receive(:package_not_installed?).and_return(false)
421
396
  allow(provider).to receive(:install)
422
397
  expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
423
398
  provider.hold
424
399
  end
425
400
 
426
401
  it "executes dpkg --set-selections when unholding" do
427
- allow(provider).to receive(:package_not_installed?).and_return(false)
428
402
  allow(provider).to receive(:install)
429
403
  expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
430
404
  provider.hold
@@ -467,26 +441,4 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
467
441
  provider.purge
468
442
  end
469
443
 
470
- context "package_not_installed?" do
471
- context "allow_virtual false" do
472
- before do
473
- allow(resource).to receive(:allow_virtual?).and_return(false)
474
- end
475
-
476
- it "returns true if package is not found" do
477
- expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_raise(Puppet::ExecutionFailure.new("eh"))
478
- expect(provider.package_not_installed?).to eq(true)
479
- end
480
-
481
- it "returns true if package is not installed" do
482
- expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("unknown ok not-installed #{resource_name}")
483
- expect(provider.package_not_installed?).to eq(true)
484
- end
485
-
486
- it "returns false if package is installed" do
487
- expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("install ok installed resource_name 1.2.3")
488
- expect(provider.package_not_installed?).to eq(false)
489
- end
490
- end
491
- end
492
444
  end
@@ -12,6 +12,10 @@ context Puppet::Type.type(:package).provider(:gem) do
12
12
  let(:provider_gem_cmd) { '/provider/gem' }
13
13
  let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => {"HOME"=>ENV["HOME"]}} }
14
14
 
15
+ before do
16
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
17
+ end
18
+
15
19
  context 'installing myresource' do
16
20
  let(:resource) do
17
21
  Puppet::Type.type(:package).new(
@@ -36,6 +40,34 @@ context Puppet::Type.type(:package).provider(:gem) do
36
40
  allow(provider).to receive(:rubygem_version).and_return('1.9.9')
37
41
  end
38
42
 
43
+ context 'on windows' do
44
+ let(:path) do
45
+ "C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
46
+ end
47
+
48
+ let(:expected_path) do
49
+ "C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
50
+ end
51
+
52
+ before do
53
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
54
+ allow(Puppet::Util).to receive(:get_env)
55
+ allow(Puppet::Util).to receive(:get_env).with('PATH').and_return(path)
56
+ allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
57
+ stub_const('::File::PATH_SEPARATOR', ';')
58
+ end
59
+
60
+ it 'removes puppet/bin from PATH' do
61
+ expect(described_class).to receive(:execute) \
62
+ .with(
63
+ anything,
64
+ hash_including(custom_environment: hash_including(PATH: expected_path))
65
+ )
66
+ .and_return("")
67
+ provider.install
68
+ end
69
+ end
70
+
39
71
  it "should use the path to the gem command" do
40
72
  allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
41
73
  expect(described_class).to receive(:execute).with(be_a(Array), execute_options) { |args| expect(args[0]).to eq(provider_gem_cmd) }.and_return("")
@@ -15,19 +15,20 @@ describe Puppet::Type.type(:package).provider(:puppet_gem) do
15
15
  end
16
16
 
17
17
  if Puppet::Util::Platform.windows?
18
- let(:provider_gem_cmd) { 'gem' }
18
+ let(:provider_gem_cmd) { 'C:\Program Files\Puppet Labs\Puppet\puppet\bin\gem.bat' }
19
19
  else
20
20
  let(:provider_gem_cmd) { '/opt/puppetlabs/puppet/bin/gem' }
21
21
  end
22
22
 
23
23
  custom_environment = {"HOME"=>ENV["HOME"]}
24
- custom_environment['PKG_CONFIG_PATH'] = '/opt/puppetlabs/puppet/lib/pkgconfig' unless Puppet::Util::Platform.windows?
24
+ custom_environment['PKG_CONFIG_PATH'] = '/opt/puppetlabs/puppet/lib/pkgconfig'
25
25
 
26
26
  let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => custom_environment} }
27
27
 
28
28
  before :each do
29
29
  resource.provider = provider
30
30
  allow(described_class).to receive(:command).with(:gemcmd).and_return(provider_gem_cmd)
31
+ allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
31
32
  end
32
33
 
33
34
  context "when installing" do