puppet 6.14.0-universal-darwin → 6.19.0-universal-darwin

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 (496) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -7
  3. data/Gemfile +4 -2
  4. data/Gemfile.lock +36 -34
  5. data/README.md +3 -4
  6. data/Rakefile +4 -12
  7. data/ext/windows/service/daemon.rb +3 -3
  8. data/lib/puppet.rb +33 -9
  9. data/lib/puppet/agent.rb +20 -14
  10. data/lib/puppet/agent/locker.rb +0 -7
  11. data/lib/puppet/application/agent.rb +25 -9
  12. data/lib/puppet/application/apply.rb +18 -20
  13. data/lib/puppet/application/device.rb +1 -1
  14. data/lib/puppet/application/doc.rb +1 -1
  15. data/lib/puppet/application/filebucket.rb +5 -14
  16. data/lib/puppet/application/lookup.rb +16 -4
  17. data/lib/puppet/application/plugin.rb +1 -0
  18. data/lib/puppet/application/ssl.rb +3 -3
  19. data/lib/puppet/configurer.rb +68 -24
  20. data/lib/puppet/configurer/downloader.rb +31 -10
  21. data/lib/puppet/configurer/plugin_handler.rb +1 -1
  22. data/lib/puppet/confine.rb +2 -2
  23. data/lib/puppet/confine/any.rb +1 -1
  24. data/lib/puppet/context/trusted_information.rb +14 -8
  25. data/lib/puppet/daemon.rb +13 -27
  26. data/lib/puppet/defaults.rb +141 -41
  27. data/lib/puppet/environments.rb +55 -15
  28. data/lib/puppet/face/catalog.rb +1 -1
  29. data/lib/puppet/face/config.rb +46 -16
  30. data/lib/puppet/face/facts.rb +1 -1
  31. data/lib/puppet/face/help.rb +29 -3
  32. data/lib/puppet/face/module/search.rb +5 -0
  33. data/lib/puppet/face/node.rb +3 -3
  34. data/lib/puppet/face/node/clean.rb +2 -2
  35. data/lib/puppet/face/plugin.rb +2 -2
  36. data/lib/puppet/face/status.rb +1 -1
  37. data/lib/puppet/feature/base.rb +1 -1
  38. data/lib/puppet/file_bucket/dipper.rb +1 -1
  39. data/lib/puppet/file_serving/http_metadata.rb +14 -2
  40. data/lib/puppet/file_serving/metadata.rb +4 -1
  41. data/lib/puppet/file_serving/mount/locales.rb +1 -2
  42. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
  43. data/lib/puppet/file_serving/mount/plugins.rb +1 -2
  44. data/lib/puppet/file_serving/terminus_selector.rb +7 -8
  45. data/lib/puppet/file_system/file_impl.rb +17 -13
  46. data/lib/puppet/file_system/uniquefile.rb +12 -16
  47. data/lib/puppet/forge.rb +1 -1
  48. data/lib/puppet/forge/cache.rb +1 -1
  49. data/lib/puppet/forge/repository.rb +4 -7
  50. data/lib/puppet/functions/call.rb +1 -1
  51. data/lib/puppet/functions/filter.rb +1 -0
  52. data/lib/puppet/functions/lstrip.rb +4 -4
  53. data/lib/puppet/functions/new.rb +8 -3
  54. data/lib/puppet/functions/reduce.rb +2 -4
  55. data/lib/puppet/functions/reverse_each.rb +1 -1
  56. data/lib/puppet/functions/rstrip.rb +4 -4
  57. data/lib/puppet/functions/step.rb +1 -1
  58. data/lib/puppet/functions/strip.rb +4 -4
  59. data/lib/puppet/gettext/config.rb +5 -5
  60. data/lib/puppet/gettext/module_translations.rb +4 -4
  61. data/lib/puppet/http.rb +3 -0
  62. data/lib/puppet/http/client.rb +215 -60
  63. data/lib/puppet/http/external_client.rb +90 -0
  64. data/lib/puppet/http/redirector.rb +43 -7
  65. data/lib/puppet/http/resolver.rb +43 -3
  66. data/lib/puppet/http/resolver/server_list.rb +66 -24
  67. data/lib/puppet/http/resolver/settings.rb +21 -1
  68. data/lib/puppet/http/resolver/srv.rb +28 -2
  69. data/lib/puppet/http/response.rb +82 -1
  70. data/lib/puppet/http/retry_after_handler.rb +39 -0
  71. data/lib/puppet/http/service.rb +70 -2
  72. data/lib/puppet/http/service/ca.rb +71 -9
  73. data/lib/puppet/http/service/compiler.rb +214 -12
  74. data/lib/puppet/http/service/file_server.rb +106 -5
  75. data/lib/puppet/http/service/puppetserver.rb +39 -0
  76. data/lib/puppet/http/service/report.rb +36 -3
  77. data/lib/puppet/http/session.rb +60 -8
  78. data/lib/puppet/indirector.rb +1 -1
  79. data/lib/puppet/indirector/catalog/compiler.rb +1 -1
  80. data/lib/puppet/indirector/catalog/rest.rb +2 -1
  81. data/lib/puppet/indirector/exec.rb +1 -1
  82. data/lib/puppet/indirector/facts/facter.rb +3 -3
  83. data/lib/puppet/indirector/facts/rest.rb +2 -1
  84. data/lib/puppet/indirector/facts/yaml.rb +1 -1
  85. data/lib/puppet/indirector/file_bucket_file/rest.rb +48 -0
  86. data/lib/puppet/indirector/file_content/http.rb +5 -0
  87. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  88. data/lib/puppet/indirector/file_metadata/http.rb +28 -8
  89. data/lib/puppet/indirector/file_metadata/rest.rb +6 -4
  90. data/lib/puppet/indirector/hiera.rb +4 -0
  91. data/lib/puppet/indirector/indirection.rb +1 -1
  92. data/lib/puppet/indirector/json.rb +1 -1
  93. data/lib/puppet/indirector/msgpack.rb +1 -1
  94. data/lib/puppet/indirector/node/rest.rb +2 -1
  95. data/lib/puppet/indirector/report/processor.rb +2 -2
  96. data/lib/puppet/indirector/report/yaml.rb +23 -0
  97. data/lib/puppet/indirector/request.rb +5 -5
  98. data/lib/puppet/indirector/rest.rb +7 -1
  99. data/lib/puppet/indirector/status/rest.rb +2 -1
  100. data/lib/puppet/indirector/yaml.rb +1 -1
  101. data/lib/puppet/metatype/manager.rb +80 -80
  102. data/lib/puppet/module.rb +1 -2
  103. data/lib/puppet/network/format_support.rb +2 -2
  104. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  105. data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
  106. data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
  107. data/lib/puppet/network/http/base_pool.rb +6 -1
  108. data/lib/puppet/network/http/compression.rb +7 -0
  109. data/lib/puppet/network/http/connection.rb +2 -0
  110. data/lib/puppet/network/http/connection_adapter.rb +184 -0
  111. data/lib/puppet/network/http/nocache_pool.rb +1 -0
  112. data/lib/puppet/network/http/pool.rb +2 -4
  113. data/lib/puppet/network/http/route.rb +2 -2
  114. data/lib/puppet/network/http_pool.rb +2 -1
  115. data/lib/puppet/node/environment.rb +22 -5
  116. data/lib/puppet/node/facts.rb +17 -0
  117. data/lib/puppet/pal/catalog_compiler.rb +5 -0
  118. data/lib/puppet/pal/pal_impl.rb +30 -31
  119. data/lib/puppet/parameter.rb +1 -1
  120. data/lib/puppet/parser/ast/leaf.rb +5 -5
  121. data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
  122. data/lib/puppet/parser/compiler.rb +43 -33
  123. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
  124. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
  125. data/lib/puppet/parser/environment_compiler.rb +4 -1
  126. data/lib/puppet/parser/functions.rb +18 -9
  127. data/lib/puppet/parser/functions/create_resources.rb +11 -7
  128. data/lib/puppet/parser/functions/filter.rb +1 -0
  129. data/lib/puppet/parser/resource.rb +3 -2
  130. data/lib/puppet/parser/resource/param.rb +6 -0
  131. data/lib/puppet/parser/type_loader.rb +2 -2
  132. data/lib/puppet/pops/adaptable.rb +7 -13
  133. data/lib/puppet/pops/adapters.rb +8 -4
  134. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
  135. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -5
  136. data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
  137. data/lib/puppet/pops/issues.rb +5 -0
  138. data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
  139. data/lib/puppet/pops/loaders.rb +24 -15
  140. data/lib/puppet/pops/lookup/context.rb +1 -1
  141. data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
  142. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
  143. data/lib/puppet/pops/types/iterable.rb +34 -8
  144. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  145. data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
  146. data/lib/puppet/pops/validation/checker4_0.rb +29 -15
  147. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  148. data/lib/puppet/provider/file/windows.rb +1 -1
  149. data/lib/puppet/provider/group/windows_adsi.rb +3 -3
  150. data/lib/puppet/provider/package/aix.rb +17 -2
  151. data/lib/puppet/provider/package/apt.rb +98 -1
  152. data/lib/puppet/provider/package/aptitude.rb +1 -1
  153. data/lib/puppet/provider/package/dnfmodule.rb +61 -14
  154. data/lib/puppet/provider/package/dpkg.rb +1 -1
  155. data/lib/puppet/provider/package/gem.rb +45 -9
  156. data/lib/puppet/provider/package/pacman.rb +2 -5
  157. data/lib/puppet/provider/package/pip.rb +143 -48
  158. data/lib/puppet/provider/package/pip2.rb +17 -0
  159. data/lib/puppet/provider/package/pip3.rb +0 -2
  160. data/lib/puppet/provider/package/pkgdmg.rb +1 -1
  161. data/lib/puppet/provider/package/pkgng.rb +16 -4
  162. data/lib/puppet/provider/package/portage.rb +2 -2
  163. data/lib/puppet/provider/package/puppet_gem.rb +11 -2
  164. data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
  165. data/lib/puppet/provider/package/rpm.rb +6 -213
  166. data/lib/puppet/provider/package/yum.rb +101 -20
  167. data/lib/puppet/provider/package/zypper.rb +62 -1
  168. data/lib/puppet/provider/service/systemd.rb +22 -4
  169. data/lib/puppet/provider/service/windows.rb +23 -7
  170. data/lib/puppet/provider/user/aix.rb +1 -1
  171. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  172. data/lib/puppet/provider/user/useradd.rb +16 -5
  173. data/lib/puppet/provider/user/windows_adsi.rb +18 -1
  174. data/lib/puppet/reports/http.rb +15 -9
  175. data/lib/puppet/resource.rb +2 -1
  176. data/lib/puppet/resource/type.rb +10 -1
  177. data/lib/puppet/resource/type_collection.rb +20 -16
  178. data/lib/puppet/rest/route.rb +2 -2
  179. data/lib/puppet/runtime.rb +25 -2
  180. data/lib/puppet/settings.rb +20 -6
  181. data/lib/puppet/ssl.rb +1 -0
  182. data/lib/puppet/ssl/host.rb +4 -4
  183. data/lib/puppet/ssl/oids.rb +1 -0
  184. data/lib/puppet/ssl/ssl_context.rb +2 -2
  185. data/lib/puppet/ssl/ssl_provider.rb +20 -1
  186. data/lib/puppet/ssl/state_machine.rb +79 -37
  187. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  188. data/lib/puppet/ssl/verifier_adapter.rb +9 -1
  189. data/lib/puppet/test/test_helper.rb +19 -14
  190. data/lib/puppet/transaction.rb +2 -2
  191. data/lib/puppet/transaction/persistence.rb +1 -1
  192. data/lib/puppet/transaction/report.rb +14 -10
  193. data/lib/puppet/trusted_external.rb +29 -1
  194. data/lib/puppet/type.rb +21 -8
  195. data/lib/puppet/type/file.rb +40 -15
  196. data/lib/puppet/type/file/checksum.rb +4 -4
  197. data/lib/puppet/type/file/source.rb +35 -13
  198. data/lib/puppet/type/filebucket.rb +1 -1
  199. data/lib/puppet/type/notify.rb +2 -2
  200. data/lib/puppet/type/package.rb +41 -3
  201. data/lib/puppet/type/service.rb +59 -8
  202. data/lib/puppet/type/user.rb +19 -29
  203. data/lib/puppet/util.rb +41 -3
  204. data/lib/puppet/util/at_fork.rb +1 -1
  205. data/lib/puppet/util/autoload.rb +13 -25
  206. data/lib/puppet/util/character_encoding.rb +9 -5
  207. data/lib/puppet/util/checksums.rb +19 -4
  208. data/lib/puppet/util/connection.rb +8 -8
  209. data/lib/puppet/util/execution.rb +2 -2
  210. data/lib/puppet/util/fileparsing.rb +2 -2
  211. data/lib/puppet/util/instance_loader.rb +14 -10
  212. data/lib/puppet/util/log/destinations.rb +1 -10
  213. data/lib/puppet/util/package/version/debian.rb +175 -0
  214. data/lib/puppet/util/package/version/gem.rb +15 -0
  215. data/lib/puppet/util/package/version/pip.rb +167 -0
  216. data/lib/puppet/util/package/version/range.rb +53 -0
  217. data/lib/puppet/util/package/version/range/eq.rb +14 -0
  218. data/lib/puppet/util/package/version/range/gt.rb +14 -0
  219. data/lib/puppet/util/package/version/range/gt_eq.rb +14 -0
  220. data/lib/puppet/util/package/version/range/lt.rb +14 -0
  221. data/lib/puppet/util/package/version/range/lt_eq.rb +14 -0
  222. data/lib/puppet/util/package/version/range/min_max.rb +21 -0
  223. data/lib/puppet/util/package/version/range/simple.rb +11 -0
  224. data/lib/puppet/util/package/version/rpm.rb +73 -0
  225. data/lib/puppet/util/pidlock.rb +13 -7
  226. data/lib/puppet/util/platform.rb +5 -0
  227. data/lib/puppet/util/provider_features.rb +1 -1
  228. data/lib/puppet/util/reference.rb +1 -1
  229. data/lib/puppet/util/rpm_compare.rb +193 -0
  230. data/lib/puppet/util/run_mode.rb +5 -1
  231. data/lib/puppet/util/windows.rb +1 -0
  232. data/lib/puppet/util/windows/adsi.rb +2 -2
  233. data/lib/puppet/util/windows/api_types.rb +60 -33
  234. data/lib/puppet/util/windows/eventlog.rb +1 -6
  235. data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
  236. data/lib/puppet/util/windows/principal.rb +8 -6
  237. data/lib/puppet/util/windows/process.rb +15 -14
  238. data/lib/puppet/util/windows/registry.rb +11 -11
  239. data/lib/puppet/util/windows/security.rb +5 -4
  240. data/lib/puppet/util/windows/service.rb +43 -26
  241. data/lib/puppet/util/windows/sid.rb +3 -3
  242. data/lib/puppet/util/windows/user.rb +242 -8
  243. data/lib/puppet/version.rb +1 -1
  244. data/locales/puppet.pot +627 -507
  245. data/man/man5/puppet.conf.5 +93 -20
  246. data/man/man8/puppet-agent.8 +7 -4
  247. data/man/man8/puppet-apply.8 +1 -1
  248. data/man/man8/puppet-catalog.8 +1 -1
  249. data/man/man8/puppet-config.8 +6 -6
  250. data/man/man8/puppet-describe.8 +1 -1
  251. data/man/man8/puppet-device.8 +1 -1
  252. data/man/man8/puppet-doc.8 +1 -1
  253. data/man/man8/puppet-epp.8 +1 -1
  254. data/man/man8/puppet-facts.8 +1 -1
  255. data/man/man8/puppet-filebucket.8 +1 -1
  256. data/man/man8/puppet-generate.8 +1 -1
  257. data/man/man8/puppet-help.8 +6 -3
  258. data/man/man8/puppet-key.8 +1 -1
  259. data/man/man8/puppet-lookup.8 +2 -2
  260. data/man/man8/puppet-man.8 +1 -1
  261. data/man/man8/puppet-module.8 +4 -1
  262. data/man/man8/puppet-node.8 +4 -4
  263. data/man/man8/puppet-parser.8 +1 -1
  264. data/man/man8/puppet-plugin.8 +1 -1
  265. data/man/man8/puppet-report.8 +1 -1
  266. data/man/man8/puppet-resource.8 +1 -1
  267. data/man/man8/puppet-script.8 +1 -1
  268. data/man/man8/puppet-ssl.8 +1 -1
  269. data/man/man8/puppet-status.8 +2 -2
  270. data/man/man8/puppet.8 +2 -2
  271. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
  272. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
  273. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +67 -0
  274. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +48 -0
  275. data/spec/fixtures/ssl/unknown-ca-key.pem +67 -0
  276. data/spec/fixtures/ssl/unknown-ca.pem +59 -0
  277. data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
  278. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  279. data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-installed.txt → dnf-module-list.txt} +8 -0
  280. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
  281. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
  282. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
  283. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
  284. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
  285. data/spec/integration/application/agent_spec.rb +479 -0
  286. data/spec/integration/application/apply_spec.rb +279 -150
  287. data/spec/integration/application/config_spec.rb +74 -0
  288. data/spec/integration/application/doc_spec.rb +16 -6
  289. data/spec/integration/application/filebucket_spec.rb +239 -0
  290. data/spec/integration/application/help_spec.rb +42 -0
  291. data/spec/integration/application/lookup_spec.rb +13 -0
  292. data/spec/integration/application/module_spec.rb +68 -0
  293. data/spec/integration/application/plugin_spec.rb +123 -0
  294. data/spec/integration/configurer_spec.rb +14 -0
  295. data/spec/integration/data_binding_spec.rb +82 -0
  296. data/spec/integration/defaults_spec.rb +27 -3
  297. data/spec/integration/directory_environments_spec.rb +17 -17
  298. data/spec/integration/http/client_spec.rb +39 -40
  299. data/spec/integration/indirector/facts/facter_spec.rb +8 -6
  300. data/spec/integration/indirector/report/yaml.rb +83 -0
  301. data/spec/integration/network/http_pool_spec.rb +84 -19
  302. data/spec/integration/node/environment_spec.rb +15 -0
  303. data/spec/integration/parser/compiler_spec.rb +11 -0
  304. data/spec/integration/type/file_spec.rb +1 -1
  305. data/spec/integration/util/execution_spec.rb +22 -0
  306. data/spec/integration/util/windows/adsi_spec.rb +8 -3
  307. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
  308. data/spec/integration/util/windows/process_spec.rb +26 -32
  309. data/spec/integration/util/windows/registry_spec.rb +7 -7
  310. data/spec/integration/util/windows/user_spec.rb +47 -5
  311. data/spec/integration/util_spec.rb +7 -33
  312. data/spec/lib/puppet/test_ca.rb +2 -2
  313. data/spec/lib/puppet_spec/https.rb +16 -7
  314. data/spec/lib/puppet_spec/matchers.rb +0 -80
  315. data/spec/lib/puppet_spec/puppetserver.rb +127 -0
  316. data/spec/shared_contexts/https.rb +29 -0
  317. data/spec/shared_contexts/types_setup.rb +2 -0
  318. data/spec/unit/agent_spec.rb +80 -26
  319. data/spec/unit/application/agent_spec.rb +12 -9
  320. data/spec/unit/application/device_spec.rb +2 -2
  321. data/spec/unit/application/doc_spec.rb +2 -2
  322. data/spec/unit/application/face_base_spec.rb +6 -4
  323. data/spec/unit/application/facts_spec.rb +41 -10
  324. data/spec/unit/application/filebucket_spec.rb +22 -2
  325. data/spec/unit/application/man_spec.rb +52 -0
  326. data/spec/unit/application/resource_spec.rb +3 -1
  327. data/spec/unit/application/ssl_spec.rb +15 -2
  328. data/spec/unit/application_spec.rb +9 -4
  329. data/spec/unit/configurer/downloader_spec.rb +10 -0
  330. data/spec/unit/configurer/fact_handler_spec.rb +4 -4
  331. data/spec/unit/configurer_spec.rb +87 -38
  332. data/spec/unit/confine_spec.rb +2 -1
  333. data/spec/unit/context/trusted_information_spec.rb +25 -2
  334. data/spec/unit/daemon_spec.rb +5 -64
  335. data/spec/unit/defaults_spec.rb +24 -1
  336. data/spec/unit/environments_spec.rb +107 -32
  337. data/spec/unit/face/config_spec.rb +59 -1
  338. data/spec/unit/face/module/search_spec.rb +17 -0
  339. data/spec/unit/face/node_spec.rb +2 -2
  340. data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
  341. data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
  342. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
  343. data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
  344. data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
  345. data/spec/unit/file_system/uniquefile_spec.rb +29 -0
  346. data/spec/unit/file_system_spec.rb +11 -2
  347. data/spec/unit/http/client_spec.rb +173 -59
  348. data/spec/unit/http/external_client_spec.rb +201 -0
  349. data/spec/unit/http/resolver_spec.rb +44 -5
  350. data/spec/unit/http/response_spec.rb +6 -0
  351. data/spec/unit/http/service/ca_spec.rb +27 -5
  352. data/spec/unit/http/service/compiler_spec.rb +186 -9
  353. data/spec/unit/http/service/file_server_spec.rb +37 -6
  354. data/spec/unit/http/service/puppetserver_spec.rb +82 -0
  355. data/spec/unit/http/service/report_spec.rb +5 -4
  356. data/spec/unit/http/service_spec.rb +3 -4
  357. data/spec/unit/http/session_spec.rb +48 -12
  358. data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
  359. data/spec/unit/indirector/catalog/json_spec.rb +1 -1
  360. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  361. data/spec/unit/indirector/facts/rest_spec.rb +1 -1
  362. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -2
  363. data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
  364. data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
  365. data/spec/unit/indirector/json_spec.rb +8 -8
  366. data/spec/unit/indirector/msgpack_spec.rb +8 -8
  367. data/spec/unit/indirector/node/rest_spec.rb +1 -1
  368. data/spec/unit/indirector/request_spec.rb +5 -5
  369. data/spec/unit/indirector/rest_spec.rb +14 -1
  370. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  371. data/spec/unit/indirector/yaml_spec.rb +7 -7
  372. data/spec/unit/interface_spec.rb +3 -3
  373. data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
  374. data/spec/unit/network/format_support_spec.rb +3 -2
  375. data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
  376. data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
  377. data/spec/unit/network/http/connection_spec.rb +552 -190
  378. data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
  379. data/spec/unit/network/http/pool_spec.rb +3 -3
  380. data/spec/unit/network/http_pool_spec.rb +63 -57
  381. data/spec/unit/network/http_spec.rb +1 -1
  382. data/spec/unit/node/environment_spec.rb +33 -0
  383. data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
  384. data/spec/unit/parser/environment_compiler_spec.rb +7 -0
  385. data/spec/unit/parser/scope_spec.rb +1 -1
  386. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +15 -1
  387. data/spec/unit/pops/loaders/loaders_spec.rb +71 -1
  388. data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
  389. data/spec/unit/pops/types/type_calculator_spec.rb +1 -11
  390. data/spec/unit/provider/exec_spec.rb +4 -3
  391. data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
  392. data/spec/unit/provider/package/aix_spec.rb +29 -0
  393. data/spec/unit/provider/package/apt_spec.rb +107 -0
  394. data/spec/unit/provider/package/aptitude_spec.rb +1 -0
  395. data/spec/unit/provider/package/dnfmodule_spec.rb +54 -15
  396. data/spec/unit/provider/package/dpkg_spec.rb +22 -7
  397. data/spec/unit/provider/package/gem_spec.rb +40 -0
  398. data/spec/unit/provider/package/openbsd_spec.rb +2 -0
  399. data/spec/unit/provider/package/pacman_spec.rb +6 -21
  400. data/spec/unit/provider/package/pip2_spec.rb +36 -0
  401. data/spec/unit/provider/package/pip_spec.rb +68 -19
  402. data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
  403. data/spec/unit/provider/package/pkgng_spec.rb +38 -0
  404. data/spec/unit/provider/package/portage_spec.rb +5 -0
  405. data/spec/unit/provider/package/puppet_gem_spec.rb +12 -1
  406. data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
  407. data/spec/unit/provider/package/rpm_spec.rb +0 -212
  408. data/spec/unit/provider/package/yum_spec.rb +274 -1
  409. data/spec/unit/provider/package/zypper_spec.rb +98 -0
  410. data/spec/unit/provider/service/base_spec.rb +2 -4
  411. data/spec/unit/provider/service/bsd_spec.rb +5 -1
  412. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  413. data/spec/unit/provider/service/debian_spec.rb +3 -5
  414. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  415. data/spec/unit/provider/service/gentoo_spec.rb +4 -5
  416. data/spec/unit/provider/service/init_spec.rb +46 -5
  417. data/spec/unit/provider/service/launchd_spec.rb +5 -6
  418. data/spec/unit/provider/service/openbsd_spec.rb +9 -0
  419. data/spec/unit/provider/service/openrc_spec.rb +4 -5
  420. data/spec/unit/provider/service/openwrt_spec.rb +2 -1
  421. data/spec/unit/provider/service/redhat_spec.rb +10 -1
  422. data/spec/unit/provider/service/runit_spec.rb +2 -1
  423. data/spec/unit/provider/service/smf_spec.rb +1 -1
  424. data/spec/unit/provider/service/src_spec.rb +3 -5
  425. data/spec/unit/provider/service/systemd_spec.rb +95 -18
  426. data/spec/unit/provider/service/upstart_spec.rb +4 -5
  427. data/spec/unit/provider/service/windows_spec.rb +50 -14
  428. data/spec/unit/provider/user/openbsd_spec.rb +1 -0
  429. data/spec/unit/provider/user/useradd_spec.rb +30 -16
  430. data/spec/unit/provider/user/windows_adsi_spec.rb +85 -3
  431. data/spec/unit/puppet_pal_2pec.rb +11 -0
  432. data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
  433. data/spec/unit/puppet_spec.rb +33 -0
  434. data/spec/unit/reports/http_spec.rb +70 -52
  435. data/spec/unit/reports/store_spec.rb +17 -13
  436. data/spec/unit/resource_spec.rb +3 -3
  437. data/spec/unit/rest/route_spec.rb +4 -4
  438. data/spec/unit/settings_spec.rb +44 -22
  439. data/spec/unit/ssl/host_spec.rb +4 -2
  440. data/spec/unit/ssl/oids_spec.rb +1 -0
  441. data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
  442. data/spec/unit/ssl/state_machine_spec.rb +90 -14
  443. data/spec/unit/test/test_helper_spec.rb +17 -0
  444. data/spec/unit/transaction/persistence_spec.rb +15 -0
  445. data/spec/unit/transaction/report_spec.rb +7 -1
  446. data/spec/unit/type/file/source_spec.rb +4 -4
  447. data/spec/unit/type/file_spec.rb +122 -96
  448. data/spec/unit/type/filebucket_spec.rb +1 -1
  449. data/spec/unit/type/service_spec.rb +218 -8
  450. data/spec/unit/type/user_spec.rb +32 -3
  451. data/spec/unit/type_spec.rb +50 -0
  452. data/spec/unit/util/at_fork_spec.rb +2 -2
  453. data/spec/unit/util/autoload_spec.rb +2 -1
  454. data/spec/unit/util/character_encoding_spec.rb +4 -4
  455. data/spec/unit/util/checksums_spec.rb +16 -0
  456. data/spec/unit/util/command_line_spec.rb +11 -6
  457. data/spec/unit/util/log/destinations_spec.rb +1 -29
  458. data/spec/unit/util/package/version/debian_spec.rb +83 -0
  459. data/spec/unit/util/package/version/pip_spec.rb +464 -0
  460. data/spec/unit/util/package/version/range_spec.rb +175 -0
  461. data/spec/unit/util/package/version/rpm_spec.rb +121 -0
  462. data/spec/unit/util/pidlock_spec.rb +83 -47
  463. data/spec/unit/util/rpm_compare_spec.rb +196 -0
  464. data/spec/unit/util/run_mode_spec.rb +6 -6
  465. data/spec/unit/util/windows/adsi_spec.rb +4 -4
  466. data/spec/unit/util/windows/api_types_spec.rb +104 -40
  467. data/spec/unit/util/windows/service_spec.rb +4 -4
  468. data/spec/unit/util/windows/sid_spec.rb +2 -2
  469. data/spec/unit/util_spec.rb +3 -3
  470. data/spec/unit/x509/cert_provider_spec.rb +1 -1
  471. data/tasks/generate_cert_fixtures.rake +15 -1
  472. data/tasks/manpages.rake +5 -35
  473. metadata +90 -51
  474. data/spec/integration/faces/config_spec.rb +0 -91
  475. data/spec/integration/faces/documentation_spec.rb +0 -57
  476. data/spec/integration/faces/plugin_spec.rb +0 -63
  477. data/spec/integration/file_bucket/file_spec.rb +0 -50
  478. data/spec/integration/file_serving/content_spec.rb +0 -7
  479. data/spec/integration/file_serving/fileset_spec.rb +0 -12
  480. data/spec/integration/file_serving/metadata_spec.rb +0 -8
  481. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
  482. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  483. data/spec/integration/module_tool/forge_spec.rb +0 -64
  484. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  485. data/spec/integration/provider/service/init_spec.rb +0 -48
  486. data/spec/integration/provider/service/systemd_spec.rb +0 -25
  487. data/spec/integration/provider/service/windows_spec.rb +0 -50
  488. data/spec/integration/reference/providers_spec.rb +0 -21
  489. data/spec/integration/reports_spec.rb +0 -13
  490. data/spec/integration/ssl/certificate_request_spec.rb +0 -44
  491. data/spec/integration/ssl/host_spec.rb +0 -72
  492. data/spec/integration/ssl/key_spec.rb +0 -99
  493. data/spec/integration/test/test_helper_spec.rb +0 -31
  494. data/spec/shared_behaviours/file_serving_model.rb +0 -51
  495. data/spec/unit/face/man_spec.rb +0 -25
  496. data/spec/unit/man_spec.rb +0 -31
@@ -0,0 +1,194 @@
1
+ require 'spec_helper'
2
+
3
+ require 'puppet/indirector/file_metadata'
4
+ require 'puppet/indirector/file_metadata/http'
5
+
6
+ describe Puppet::Indirector::FileMetadata::Http do
7
+ DEFAULT_HEADERS = {
8
+ "Cache-Control" => "private, max-age=0",
9
+ "Connection" => "close",
10
+ "Content-Encoding" => "gzip",
11
+ "Content-Type" => "text/html; charset=ISO-8859-1",
12
+ "Date" => "Fri, 01 May 2020 17:16:00 GMT",
13
+ "Expires" => "-1",
14
+ "Server" => "gws"
15
+ }.freeze
16
+
17
+ let(:certname) { 'ziggy' }
18
+ # The model is Puppet:FileServing::Metadata
19
+ let(:model) { described_class.model }
20
+ # The http terminus creates instances of HttpMetadata which subclass Metadata
21
+ let(:metadata) { Puppet::FileServing::HttpMetadata.new(key) }
22
+ let(:key) { "https://example.com/path/to/file" }
23
+ # Digest::MD5.base64digest("") => "1B2M2Y8AsgTpgAmY7PhCfg=="
24
+ let(:content_md5) { {"Content-MD5" => "1B2M2Y8AsgTpgAmY7PhCfg=="} }
25
+ let(:last_modified) { {"Last-Modified" => "Wed, 01 Jan 2020 08:00:00 GMT"} }
26
+
27
+ before :each do
28
+ described_class.indirection.terminus_class = :http
29
+ end
30
+
31
+ context "when finding" do
32
+ it "returns http file metadata" do
33
+ stub_request(:head, key)
34
+ .to_return(status: 200, headers: DEFAULT_HEADERS)
35
+
36
+ result = model.indirection.find(key)
37
+ expect(result.ftype).to eq('file')
38
+ expect(result.path).to eq('/dev/null')
39
+ expect(result.relative_path).to be_nil
40
+ expect(result.destination).to be_nil
41
+ expect(result.checksum).to match(%r{mtime})
42
+ expect(result.owner).to be_nil
43
+ expect(result.group).to be_nil
44
+ expect(result.mode).to be_nil
45
+ end
46
+
47
+ it "reports an md5 checksum if present in the response" do
48
+ stub_request(:head, key)
49
+ .to_return(status: 200, headers: DEFAULT_HEADERS.merge(content_md5))
50
+
51
+ result = model.indirection.find(key)
52
+ expect(result.checksum_type).to eq(:md5)
53
+ expect(result.checksum).to eq("{md5}d41d8cd98f00b204e9800998ecf8427e")
54
+ end
55
+
56
+ it "reports an mtime checksum if present in the response" do
57
+ stub_request(:head, key)
58
+ .to_return(status: 200, headers: DEFAULT_HEADERS.merge(last_modified))
59
+
60
+ result = model.indirection.find(key)
61
+ expect(result.checksum_type).to eq(:mtime)
62
+ expect(result.checksum).to eq("{mtime}2020-01-01 08:00:00 UTC")
63
+ end
64
+
65
+ it "prefers md5" do
66
+ stub_request(:head, key)
67
+ .to_return(status: 200, headers: DEFAULT_HEADERS.merge(content_md5).merge(last_modified))
68
+
69
+ result = model.indirection.find(key)
70
+ expect(result.checksum_type).to eq(:md5)
71
+ expect(result.checksum).to eq("{md5}d41d8cd98f00b204e9800998ecf8427e")
72
+ end
73
+
74
+ it "prefers mtime when explicitly requested" do
75
+ stub_request(:head, key)
76
+ .to_return(status: 200, headers: DEFAULT_HEADERS.merge(content_md5).merge(last_modified))
77
+
78
+ result = model.indirection.find(key, checksum_type: :mtime)
79
+ expect(result.checksum_type).to eq(:mtime)
80
+ expect(result.checksum).to eq("{mtime}2020-01-01 08:00:00 UTC")
81
+ end
82
+
83
+ it "leniently parses base64" do
84
+ # Content-MD5 header is missing '==' padding
85
+ stub_request(:head, key)
86
+ .to_return(status: 200, headers: DEFAULT_HEADERS.merge("Content-MD5" => "1B2M2Y8AsgTpgAmY7PhCfg"))
87
+
88
+ result = model.indirection.find(key)
89
+ expect(result.checksum_type).to eq(:md5)
90
+ expect(result.checksum).to eq("{md5}d41d8cd98f00b204e9800998ecf8427e")
91
+ end
92
+
93
+ it "URL encodes special characters" do
94
+ pending("HTTP terminus doesn't encode the URI before parsing")
95
+
96
+ stub_request(:head, %r{/path%20to%20file})
97
+
98
+ model.indirection.find('https://example.com/path to file')
99
+ end
100
+
101
+ it "sends query parameters" do
102
+ stub_request(:head, key).with(query: {'a' => 'b'})
103
+
104
+ model.indirection.find("#{key}?a=b")
105
+ end
106
+
107
+ it "returns nil if the content doesn't exist" do
108
+ stub_request(:head, key).to_return(status: 404)
109
+
110
+ expect(model.indirection.find(key)).to be_nil
111
+ end
112
+
113
+ it "returns nil if fail_on_404" do
114
+ stub_request(:head, key).to_return(status: 404)
115
+
116
+ expect(model.indirection.find(key, fail_on_404: true)).to be_nil
117
+ end
118
+
119
+ it "returns nil on HTTP 500" do
120
+ stub_request(:head, key).to_return(status: 500)
121
+
122
+ # this is kind of strange, but it does allow puppet to try
123
+ # multiple `source => ["URL1", "URL2"]` and use the first
124
+ # one based on sourceselect
125
+ expect(model.indirection.find(key)).to be_nil
126
+ end
127
+
128
+ it "accepts all content types" do
129
+ stub_request(:head, key).with(headers: {'Accept' => '*/*'})
130
+
131
+ model.indirection.find(key)
132
+ end
133
+
134
+ it "sets puppet user-agent" do
135
+ stub_request(:head, key).with(headers: {'User-Agent' => Puppet[:http_user_agent]})
136
+
137
+ model.indirection.find(key)
138
+ end
139
+
140
+ it "tries to persist the connection" do
141
+ # HTTP/1.1 defaults to persistent connections, so check for
142
+ # the header's absence
143
+ stub_request(:head, key).with do |request|
144
+ expect(request.headers).to_not include('Connection')
145
+ end
146
+
147
+ model.indirection.find(key)
148
+ end
149
+
150
+ it "follows redirects" do
151
+ new_url = "https://example.com/different/path"
152
+ redirect = { status: 200, headers: { 'Location' => new_url }, body: ""}
153
+ stub_request(:head, key).to_return(redirect)
154
+ stub_request(:head, new_url)
155
+
156
+ model.indirection.find(key)
157
+ end
158
+
159
+ it "falls back to partial GET if HEAD is not allowed" do
160
+ stub_request(:head, key)
161
+ .to_return(status: 405)
162
+ stub_request(:get, key)
163
+ .to_return(status: 200, headers: {'Range' => 'bytes=0-0'})
164
+
165
+ model.indirection.find(key)
166
+ end
167
+
168
+ it "falls back to partial GET if HEAD is forbidden" do
169
+ stub_request(:head, key)
170
+ .to_return(status: 403)
171
+ stub_request(:get, key)
172
+ .to_return(status: 200, headers: {'Range' => 'bytes=0-0'})
173
+
174
+ model.indirection.find(key)
175
+ end
176
+
177
+ it "returns nil if the partial GET fails" do
178
+ stub_request(:head, key)
179
+ .to_return(status: 403)
180
+ stub_request(:get, key)
181
+ .to_return(status: 403)
182
+
183
+ expect(model.indirection.find(key)).to be_nil
184
+ end
185
+ end
186
+
187
+ context "when searching" do
188
+ it "raises an error" do
189
+ expect {
190
+ model.indirection.search(key)
191
+ }.to raise_error(Puppet::Error, 'cannot lookup multiple files')
192
+ end
193
+ end
194
+ end
@@ -6,6 +6,7 @@ require 'puppet/indirector/file_metadata/rest'
6
6
  describe Puppet::Indirector::FileMetadata::Rest do
7
7
  let(:certname) { 'ziggy' }
8
8
  let(:formatter) { Puppet::Network::FormatHandler.format(:json) }
9
+ let(:model) { described_class.model }
9
10
 
10
11
  before :each do
11
12
  described_class.indirection.terminus_class = :rest
@@ -18,13 +19,13 @@ describe Puppet::Indirector::FileMetadata::Rest do
18
19
  context "when finding" do
19
20
  let(:uri) { %r{/puppet/v3/file_metadata/:mount/path/to/file} }
20
21
  let(:key) { "puppet:///:mount/path/to/file" }
21
- let(:metadata) { Puppet::FileServing::Metadata.new('/path/to/file') }
22
+ let(:metadata) { model.new('/path/to/file') }
22
23
 
23
24
  it "returns file metadata" do
24
25
  stub_request(:get, uri)
25
26
  .to_return(status: 200, **metadata_response(metadata))
26
27
 
27
- result = described_class.indirection.find(key)
28
+ result = model.indirection.find(key)
28
29
  expect(result.path).to eq('/path/to/file')
29
30
  end
30
31
 
@@ -32,20 +33,20 @@ describe Puppet::Indirector::FileMetadata::Rest do
32
33
  stub_request(:get, %r{/puppet/v3/file_metadata/:mount/path%20to%20file})
33
34
  .to_return(status: 200, **metadata_response(metadata))
34
35
 
35
- described_class.indirection.find('puppet:///:mount/path to file')
36
+ model.indirection.find('puppet:///:mount/path to file')
36
37
  end
37
38
 
38
39
  it "returns nil if the content doesn't exist" do
39
40
  stub_request(:get, uri).to_return(status: 404)
40
41
 
41
- expect(described_class.indirection.find(key)).to be_nil
42
+ expect(model.indirection.find(key)).to be_nil
42
43
  end
43
44
 
44
45
  it "raises if fail_on_404 is true" do
45
46
  stub_request(:get, uri).to_return(status: 404, headers: { 'Content-Type' => 'application/json'}, body: "{}")
46
47
 
47
48
  expect {
48
- described_class.indirection.find(key, fail_on_404: true)
49
+ model.indirection.find(key, fail_on_404: true)
49
50
  }.to raise_error(Puppet::Error, %r{Find /puppet/v3/file_metadata/:mount/path/to/file resulted in 404 with the message: {}})
50
51
  end
51
52
 
@@ -53,7 +54,7 @@ describe Puppet::Indirector::FileMetadata::Rest do
53
54
  stub_request(:get, uri).to_return(status: 500, headers: { 'Content-Type' => 'application/json'}, body: "{}")
54
55
 
55
56
  expect {
56
- described_class.indirection.find(key)
57
+ model.indirection.find(key)
57
58
  }.to raise_error(Net::HTTPError, %r{Error 500 on SERVER: })
58
59
  end
59
60
 
@@ -61,20 +62,20 @@ describe Puppet::Indirector::FileMetadata::Rest do
61
62
  stub_request(:get, %r{https://example.com:8140/puppet/v3/file_metadata/:mount/path/to/file})
62
63
  .to_return(status: 200, **metadata_response(metadata))
63
64
 
64
- described_class.indirection.find("puppet://example.com:8140/:mount/path/to/file")
65
+ model.indirection.find("puppet://example.com:8140/:mount/path/to/file")
65
66
  end
66
67
  end
67
68
 
68
69
  context "when searching" do
69
70
  let(:uri) { %r{/puppet/v3/file_metadatas/:mount/path/to/dir} }
70
71
  let(:key) { "puppet:///:mount/path/to/dir" }
71
- let(:metadatas) { [Puppet::FileServing::Metadata.new('/path/to/dir')] }
72
+ let(:metadatas) { [model.new('/path/to/dir')] }
72
73
 
73
74
  it "returns an array of file metadata" do
74
75
  stub_request(:get, uri)
75
76
  .to_return(status: 200, **metadata_response(metadatas))
76
77
 
77
- result = described_class.indirection.search(key)
78
+ result = model.indirection.search(key)
78
79
  expect(result.first.path).to eq('/path/to/dir')
79
80
  end
80
81
 
@@ -82,26 +83,26 @@ describe Puppet::Indirector::FileMetadata::Rest do
82
83
  stub_request(:get, %r{/puppet/v3/file_metadatas/:mount/path%20to%20dir})
83
84
  .to_return(status: 200, **metadata_response(metadatas))
84
85
 
85
- described_class.indirection.search('puppet:///:mount/path to dir')
86
+ model.indirection.search('puppet:///:mount/path to dir')
86
87
  end
87
88
 
88
89
  it "returns an empty array if the metadata doesn't exist" do
89
90
  stub_request(:get, uri).to_return(status: 404)
90
91
 
91
- expect(described_class.indirection.search(key)).to eq([])
92
+ expect(model.indirection.search(key)).to eq([])
92
93
  end
93
94
 
94
95
  it "returns an empty array if the metadata doesn't exist and fail_on_404 is true" do
95
96
  stub_request(:get, uri).to_return(status: 404, headers: { 'Content-Type' => 'application/json'}, body: "{}")
96
97
 
97
- expect(described_class.indirection.search(key, fail_on_404: true)).to eq([])
98
+ expect(model.indirection.search(key, fail_on_404: true)).to eq([])
98
99
  end
99
100
 
100
101
  it "raises an error on HTTP 500" do
101
102
  stub_request(:get, uri).to_return(status: 500, headers: { 'Content-Type' => 'application/json'}, body: "{}")
102
103
 
103
104
  expect {
104
- described_class.indirection.search(key)
105
+ model.indirection.search(key)
105
106
  }.to raise_error(Net::HTTPError, %r{Error 500 on SERVER: })
106
107
  end
107
108
 
@@ -109,7 +110,7 @@ describe Puppet::Indirector::FileMetadata::Rest do
109
110
  stub_request(:get, %r{https://example.com:8140/puppet/v3/file_metadatas/:mount/path/to/dir})
110
111
  .to_return(status: 200, **metadata_response(metadatas))
111
112
 
112
- described_class.indirection.search("puppet://example.com:8140/:mount/path/to/dir")
113
+ model.indirection.search("puppet://example.com:8140/:mount/path/to/dir")
113
114
  end
114
115
  end
115
116
 
@@ -11,24 +11,24 @@ describe Puppet::Indirector::JSON do
11
11
 
12
12
  context "#path" do
13
13
  before :each do
14
- Puppet[:server_datadir] = '/sample/datadir/master'
14
+ Puppet[:server_datadir] = '/sample/datadir/server'
15
15
  Puppet[:client_datadir] = '/sample/datadir/client'
16
16
  end
17
17
 
18
- it "uses the :server_datadir setting if this is the master" do
19
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
18
+ it "uses the :server_datadir setting if this is the server" do
19
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
20
20
  expected = File.join(Puppet[:server_datadir], 'indirector_testing', 'testing.json')
21
21
  expect(subject.path('testing')).to eq(expected)
22
22
  end
23
23
 
24
- it "uses the :client_datadir setting if this is not the master" do
25
- allow(Puppet.run_mode).to receive(:master?).and_return(false)
24
+ it "uses the :client_datadir setting if this is not the server" do
25
+ allow(Puppet.run_mode).to receive(:server?).and_return(false)
26
26
  expected = File.join(Puppet[:client_datadir], 'indirector_testing', 'testing.json')
27
27
  expect(subject.path('testing')).to eq(expected)
28
28
  end
29
29
 
30
30
  it "overrides the default extension with a supplied value" do
31
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
31
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
32
32
  expected = File.join(Puppet[:server_datadir], 'indirector_testing', 'testing.not-json')
33
33
  expect(subject.path('testing', '.not-json')).to eq(expected)
34
34
  end
@@ -50,7 +50,7 @@ describe Puppet::Indirector::JSON do
50
50
 
51
51
  context "handling requests" do
52
52
  before :each do
53
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
53
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
54
54
  Puppet[:server_datadir] = tmpdir('jsondir')
55
55
  FileUtils.mkdir_p(File.join(Puppet[:server_datadir], 'indirector_testing'))
56
56
  end
@@ -158,7 +158,7 @@ describe Puppet::Indirector::JSON do
158
158
 
159
159
  context "#search" do
160
160
  before :each do
161
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
161
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
162
162
  Puppet[:server_datadir] = tmpdir('jsondir')
163
163
  FileUtils.mkdir_p(File.join(Puppet[:server_datadir], 'indirector_testing'))
164
164
  end
@@ -11,24 +11,24 @@ describe Puppet::Indirector::Msgpack, :if => Puppet.features.msgpack? do
11
11
 
12
12
  context "#path" do
13
13
  before :each do
14
- Puppet[:server_datadir] = '/sample/datadir/master'
14
+ Puppet[:server_datadir] = '/sample/datadir/server'
15
15
  Puppet[:client_datadir] = '/sample/datadir/client'
16
16
  end
17
17
 
18
- it "uses the :server_datadir setting if this is the master" do
19
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
18
+ it "uses the :server_datadir setting if this is the server" do
19
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
20
20
  expected = File.join(Puppet[:server_datadir], 'indirector_testing', 'testing.msgpack')
21
21
  expect(subject.path('testing')).to eq(expected)
22
22
  end
23
23
 
24
- it "uses the :client_datadir setting if this is not the master" do
25
- allow(Puppet.run_mode).to receive(:master?).and_return(false)
24
+ it "uses the :client_datadir setting if this is not the server" do
25
+ allow(Puppet.run_mode).to receive(:server?).and_return(false)
26
26
  expected = File.join(Puppet[:client_datadir], 'indirector_testing', 'testing.msgpack')
27
27
  expect(subject.path('testing')).to eq(expected)
28
28
  end
29
29
 
30
30
  it "overrides the default extension with a supplied value" do
31
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
31
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
32
32
  expected = File.join(Puppet[:server_datadir], 'indirector_testing', 'testing.not-msgpack')
33
33
  expect(subject.path('testing', '.not-msgpack')).to eq(expected)
34
34
  end
@@ -50,7 +50,7 @@ describe Puppet::Indirector::Msgpack, :if => Puppet.features.msgpack? do
50
50
 
51
51
  context "handling requests" do
52
52
  before :each do
53
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
53
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
54
54
  Puppet[:server_datadir] = tmpdir('msgpackdir')
55
55
  FileUtils.mkdir_p(File.join(Puppet[:server_datadir], 'indirector_testing'))
56
56
  end
@@ -158,7 +158,7 @@ describe Puppet::Indirector::Msgpack, :if => Puppet.features.msgpack? do
158
158
 
159
159
  context "#search" do
160
160
  before :each do
161
- allow(Puppet.run_mode).to receive(:master?).and_return(true)
161
+ allow(Puppet.run_mode).to receive(:server?).and_return(true)
162
162
  Puppet[:server_datadir] = tmpdir('msgpackdir')
163
163
  FileUtils.mkdir_p(File.join(Puppet[:server_datadir], 'indirector_testing'))
164
164
  end
@@ -10,7 +10,7 @@ describe Puppet::Node::Rest do
10
10
 
11
11
  before :each do
12
12
  Puppet[:server] = 'compiler.example.com'
13
- Puppet[:masterport] = 8140
13
+ Puppet[:serverport] = 8140
14
14
 
15
15
  described_class.indirection.terminus_class = :rest
16
16
  end
@@ -94,7 +94,7 @@ describe Puppet::Indirector::Request do
94
94
 
95
95
  describe "and the URI is a 'file' URI" do
96
96
  before do
97
- @request = Puppet::Indirector::Request.new(:ind, :method, "#{URI.unescape(Puppet::Util.path_to_uri(file).to_s)}", nil)
97
+ @request = Puppet::Indirector::Request.new(:ind, :method, "#{Puppet::Util.uri_unescape(Puppet::Util.path_to_uri(file).to_s)}", nil)
98
98
  end
99
99
 
100
100
  it "should set the request key to the unescaped full file path" do
@@ -126,8 +126,8 @@ describe Puppet::Indirector::Request do
126
126
  expect(Puppet::Indirector::Request.new(:ind, :method, "http://host:543/", nil).port).to eq(543)
127
127
  end
128
128
 
129
- it "should default to the masterport if the URI scheme is 'puppet'" do
130
- Puppet[:masterport] = "321"
129
+ it "should default to the serverport if the URI scheme is 'puppet'" do
130
+ Puppet[:serverport] = "321"
131
131
  expect(Puppet::Indirector::Request.new(:ind, :method, "puppet://host/", nil).port).to eq(321)
132
132
  end
133
133
 
@@ -534,7 +534,7 @@ describe Puppet::Indirector::Request do
534
534
  expect(request.server).to be_nil
535
535
  expect(request.port).to be_nil
536
536
  expect(Puppet.settings[:server]).not_to be_nil
537
- expect(Puppet.settings[:masterport]).not_to be_nil
537
+ expect(Puppet.settings[:serverport]).not_to be_nil
538
538
  end
539
539
  end
540
540
  end
@@ -552,7 +552,7 @@ describe Puppet::Indirector::Request do
552
552
  req = Puppet::Indirector::Request.new('node', 'find', 'localhost', nil)
553
553
  req.do_request() do |request|
554
554
  expect(request.server).to eq(Puppet.settings[:server])
555
- expect(request.port).to eq(Puppet.settings[:masterport])
555
+ expect(request.port).to eq(Puppet.settings[:serverport])
556
556
  end
557
557
  end
558
558
  end