puppet 6.15.0-x86-mingw32 → 6.19.1-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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -7
  3. data/Gemfile +4 -2
  4. data/Gemfile.lock +29 -27
  5. data/README.md +3 -4
  6. data/Rakefile +4 -12
  7. data/lib/puppet.rb +32 -8
  8. data/lib/puppet/agent.rb +18 -4
  9. data/lib/puppet/agent/locker.rb +0 -7
  10. data/lib/puppet/application/agent.rb +23 -8
  11. data/lib/puppet/application/apply.rb +18 -20
  12. data/lib/puppet/application/device.rb +1 -1
  13. data/lib/puppet/application/doc.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +16 -4
  15. data/lib/puppet/application/plugin.rb +1 -0
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +61 -21
  18. data/lib/puppet/configurer/downloader.rb +31 -10
  19. data/lib/puppet/confine.rb +2 -2
  20. data/lib/puppet/confine/any.rb +1 -1
  21. data/lib/puppet/context/trusted_information.rb +14 -8
  22. data/lib/puppet/daemon.rb +13 -27
  23. data/lib/puppet/defaults.rb +119 -39
  24. data/lib/puppet/environments.rb +51 -10
  25. data/lib/puppet/face/catalog.rb +1 -1
  26. data/lib/puppet/face/config.rb +46 -16
  27. data/lib/puppet/face/facts.rb +1 -1
  28. data/lib/puppet/face/help.rb +29 -3
  29. data/lib/puppet/face/module/search.rb +5 -0
  30. data/lib/puppet/face/node.rb +3 -3
  31. data/lib/puppet/face/node/clean.rb +2 -2
  32. data/lib/puppet/face/plugin.rb +1 -1
  33. data/lib/puppet/face/status.rb +1 -1
  34. data/lib/puppet/feature/base.rb +1 -1
  35. data/lib/puppet/file_bucket/dipper.rb +1 -1
  36. data/lib/puppet/file_serving/http_metadata.rb +14 -2
  37. data/lib/puppet/file_serving/metadata.rb +4 -1
  38. data/lib/puppet/file_serving/mount/locales.rb +1 -2
  39. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
  40. data/lib/puppet/file_serving/mount/plugins.rb +1 -2
  41. data/lib/puppet/file_serving/terminus_selector.rb +7 -8
  42. data/lib/puppet/file_system/file_impl.rb +4 -4
  43. data/lib/puppet/file_system/uniquefile.rb +12 -16
  44. data/lib/puppet/forge.rb +1 -1
  45. data/lib/puppet/forge/cache.rb +1 -1
  46. data/lib/puppet/forge/repository.rb +4 -7
  47. data/lib/puppet/functions/filter.rb +1 -0
  48. data/lib/puppet/functions/lstrip.rb +4 -4
  49. data/lib/puppet/functions/new.rb +8 -3
  50. data/lib/puppet/functions/reverse_each.rb +1 -1
  51. data/lib/puppet/functions/rstrip.rb +4 -4
  52. data/lib/puppet/functions/step.rb +1 -1
  53. data/lib/puppet/functions/strip.rb +4 -4
  54. data/lib/puppet/gettext/config.rb +5 -5
  55. data/lib/puppet/gettext/module_translations.rb +4 -4
  56. data/lib/puppet/http.rb +1 -0
  57. data/lib/puppet/http/client.rb +28 -12
  58. data/lib/puppet/http/external_client.rb +0 -6
  59. data/lib/puppet/http/redirector.rb +9 -7
  60. data/lib/puppet/http/resolver.rb +5 -8
  61. data/lib/puppet/http/resolver/server_list.rb +18 -36
  62. data/lib/puppet/http/resolver/settings.rb +4 -4
  63. data/lib/puppet/http/resolver/srv.rb +5 -5
  64. data/lib/puppet/http/response.rb +19 -0
  65. data/lib/puppet/http/service.rb +3 -1
  66. data/lib/puppet/http/service/compiler.rb +1 -1
  67. data/lib/puppet/http/service/file_server.rb +1 -1
  68. data/lib/puppet/http/service/puppetserver.rb +39 -0
  69. data/lib/puppet/http/session.rb +5 -4
  70. data/lib/puppet/indirector.rb +1 -1
  71. data/lib/puppet/indirector/catalog/compiler.rb +1 -1
  72. data/lib/puppet/indirector/exec.rb +1 -1
  73. data/lib/puppet/indirector/facts/facter.rb +3 -3
  74. data/lib/puppet/indirector/facts/yaml.rb +1 -1
  75. data/lib/puppet/indirector/file_content/http.rb +5 -0
  76. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  77. data/lib/puppet/indirector/file_metadata/http.rb +28 -8
  78. data/lib/puppet/indirector/file_metadata/rest.rb +2 -2
  79. data/lib/puppet/indirector/hiera.rb +4 -0
  80. data/lib/puppet/indirector/indirection.rb +1 -1
  81. data/lib/puppet/indirector/json.rb +1 -1
  82. data/lib/puppet/indirector/msgpack.rb +1 -1
  83. data/lib/puppet/indirector/report/processor.rb +2 -2
  84. data/lib/puppet/indirector/request.rb +5 -5
  85. data/lib/puppet/indirector/rest.rb +7 -1
  86. data/lib/puppet/indirector/yaml.rb +1 -1
  87. data/lib/puppet/module.rb +1 -2
  88. data/lib/puppet/network/format_support.rb +2 -2
  89. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  90. data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
  91. data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
  92. data/lib/puppet/network/http/compression.rb +7 -0
  93. data/lib/puppet/network/http/connection.rb +2 -0
  94. data/lib/puppet/network/http/connection_adapter.rb +184 -0
  95. data/lib/puppet/network/http/nocache_pool.rb +1 -0
  96. data/lib/puppet/network/http/route.rb +2 -2
  97. data/lib/puppet/network/http_pool.rb +2 -2
  98. data/lib/puppet/node/environment.rb +12 -5
  99. data/lib/puppet/node/facts.rb +17 -0
  100. data/lib/puppet/pal/catalog_compiler.rb +5 -0
  101. data/lib/puppet/pal/pal_impl.rb +31 -4
  102. data/lib/puppet/parameter.rb +1 -1
  103. data/lib/puppet/parser/ast/leaf.rb +5 -5
  104. data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
  105. data/lib/puppet/parser/compiler.rb +29 -26
  106. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
  107. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
  108. data/lib/puppet/parser/environment_compiler.rb +4 -1
  109. data/lib/puppet/parser/functions.rb +21 -17
  110. data/lib/puppet/parser/functions/create_resources.rb +11 -7
  111. data/lib/puppet/parser/functions/filter.rb +1 -0
  112. data/lib/puppet/parser/resource.rb +3 -2
  113. data/lib/puppet/parser/resource/param.rb +6 -0
  114. data/lib/puppet/parser/type_loader.rb +2 -2
  115. data/lib/puppet/pops/adaptable.rb +7 -13
  116. data/lib/puppet/pops/adapters.rb +8 -4
  117. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
  118. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -5
  119. data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
  120. data/lib/puppet/pops/issues.rb +5 -0
  121. data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
  122. data/lib/puppet/pops/loaders.rb +18 -11
  123. data/lib/puppet/pops/lookup/context.rb +1 -1
  124. data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
  125. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
  126. data/lib/puppet/pops/types/iterable.rb +34 -8
  127. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  128. data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
  129. data/lib/puppet/pops/validation/checker4_0.rb +29 -15
  130. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  131. data/lib/puppet/provider/file/windows.rb +1 -1
  132. data/lib/puppet/provider/package/aix.rb +17 -2
  133. data/lib/puppet/provider/package/apt.rb +38 -1
  134. data/lib/puppet/provider/package/aptitude.rb +1 -1
  135. data/lib/puppet/provider/package/dnfmodule.rb +24 -4
  136. data/lib/puppet/provider/package/dpkg.rb +1 -1
  137. data/lib/puppet/provider/package/gem.rb +4 -2
  138. data/lib/puppet/provider/package/pip.rb +60 -37
  139. data/lib/puppet/provider/package/pip2.rb +17 -0
  140. data/lib/puppet/provider/package/portage.rb +2 -2
  141. data/lib/puppet/provider/package/puppet_gem.rb +5 -0
  142. data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
  143. data/lib/puppet/provider/package/yum.rb +9 -1
  144. data/lib/puppet/provider/package/zypper.rb +62 -1
  145. data/lib/puppet/provider/service/systemd.rb +21 -4
  146. data/lib/puppet/provider/service/windows.rb +23 -7
  147. data/lib/puppet/provider/user/aix.rb +1 -1
  148. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  149. data/lib/puppet/provider/user/useradd.rb +16 -5
  150. data/lib/puppet/provider/user/windows_adsi.rb +18 -1
  151. data/lib/puppet/reports/http.rb +7 -3
  152. data/lib/puppet/resource.rb +2 -1
  153. data/lib/puppet/resource/type.rb +10 -1
  154. data/lib/puppet/rest/route.rb +2 -2
  155. data/lib/puppet/runtime.rb +25 -2
  156. data/lib/puppet/settings.rb +43 -6
  157. data/lib/puppet/ssl/ssl_context.rb +2 -2
  158. data/lib/puppet/ssl/ssl_provider.rb +20 -1
  159. data/lib/puppet/ssl/state_machine.rb +33 -8
  160. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  161. data/lib/puppet/ssl/verifier_adapter.rb +9 -1
  162. data/lib/puppet/test/test_helper.rb +19 -14
  163. data/lib/puppet/transaction.rb +2 -2
  164. data/lib/puppet/transaction/persistence.rb +1 -1
  165. data/lib/puppet/transaction/report.rb +12 -8
  166. data/lib/puppet/trusted_external.rb +29 -1
  167. data/lib/puppet/type.rb +15 -7
  168. data/lib/puppet/type/file.rb +40 -15
  169. data/lib/puppet/type/file/checksum.rb +4 -4
  170. data/lib/puppet/type/file/source.rb +33 -13
  171. data/lib/puppet/type/filebucket.rb +1 -1
  172. data/lib/puppet/type/notify.rb +2 -2
  173. data/lib/puppet/type/package.rb +16 -1
  174. data/lib/puppet/type/service.rb +59 -8
  175. data/lib/puppet/type/user.rb +19 -10
  176. data/lib/puppet/util.rb +41 -3
  177. data/lib/puppet/util/autoload.rb +10 -25
  178. data/lib/puppet/util/character_encoding.rb +9 -5
  179. data/lib/puppet/util/checksums.rb +19 -4
  180. data/lib/puppet/util/connection.rb +8 -8
  181. data/lib/puppet/util/execution.rb +2 -2
  182. data/lib/puppet/util/fileparsing.rb +2 -2
  183. data/lib/puppet/util/log/destinations.rb +1 -10
  184. data/lib/puppet/util/package/version/range.rb +4 -1
  185. data/lib/puppet/util/package/version/range/eq.rb +14 -0
  186. data/lib/puppet/util/provider_features.rb +1 -1
  187. data/lib/puppet/util/reference.rb +1 -1
  188. data/lib/puppet/util/run_mode.rb +5 -1
  189. data/lib/puppet/util/windows.rb +1 -0
  190. data/lib/puppet/util/windows/api_types.rb +60 -33
  191. data/lib/puppet/util/windows/eventlog.rb +1 -6
  192. data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
  193. data/lib/puppet/util/windows/principal.rb +8 -6
  194. data/lib/puppet/util/windows/registry.rb +11 -11
  195. data/lib/puppet/util/windows/security.rb +4 -4
  196. data/lib/puppet/util/windows/service.rb +43 -26
  197. data/lib/puppet/util/windows/user.rb +242 -8
  198. data/lib/puppet/version.rb +1 -1
  199. data/locales/puppet.pot +541 -427
  200. data/man/man5/puppet.conf.5 +84 -19
  201. data/man/man8/puppet-agent.8 +7 -4
  202. data/man/man8/puppet-apply.8 +1 -1
  203. data/man/man8/puppet-catalog.8 +1 -1
  204. data/man/man8/puppet-config.8 +6 -6
  205. data/man/man8/puppet-describe.8 +1 -1
  206. data/man/man8/puppet-device.8 +1 -1
  207. data/man/man8/puppet-doc.8 +1 -1
  208. data/man/man8/puppet-epp.8 +1 -1
  209. data/man/man8/puppet-facts.8 +1 -1
  210. data/man/man8/puppet-filebucket.8 +1 -1
  211. data/man/man8/puppet-generate.8 +1 -1
  212. data/man/man8/puppet-help.8 +6 -3
  213. data/man/man8/puppet-key.8 +1 -1
  214. data/man/man8/puppet-lookup.8 +2 -2
  215. data/man/man8/puppet-man.8 +1 -1
  216. data/man/man8/puppet-module.8 +4 -1
  217. data/man/man8/puppet-node.8 +4 -4
  218. data/man/man8/puppet-parser.8 +1 -1
  219. data/man/man8/puppet-plugin.8 +1 -1
  220. data/man/man8/puppet-report.8 +1 -1
  221. data/man/man8/puppet-resource.8 +1 -1
  222. data/man/man8/puppet-script.8 +1 -1
  223. data/man/man8/puppet-ssl.8 +1 -1
  224. data/man/man8/puppet-status.8 +2 -2
  225. data/man/man8/puppet.8 +2 -2
  226. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
  227. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
  228. data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
  229. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  230. data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-enabled.txt → dnf-module-list.txt} +6 -0
  231. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
  232. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
  233. data/spec/integration/application/agent_spec.rb +202 -52
  234. data/spec/integration/application/apply_spec.rb +149 -149
  235. data/spec/integration/application/config_spec.rb +74 -0
  236. data/spec/integration/application/doc_spec.rb +16 -6
  237. data/spec/integration/application/filebucket_spec.rb +70 -21
  238. data/spec/integration/application/help_spec.rb +42 -0
  239. data/spec/integration/application/lookup_spec.rb +13 -0
  240. data/spec/integration/application/module_spec.rb +68 -0
  241. data/spec/integration/application/plugin_spec.rb +75 -2
  242. data/spec/integration/configurer_spec.rb +14 -0
  243. data/spec/integration/data_binding_spec.rb +82 -0
  244. data/spec/integration/defaults_spec.rb +27 -3
  245. data/spec/integration/directory_environments_spec.rb +17 -17
  246. data/spec/integration/http/client_spec.rb +6 -1
  247. data/spec/integration/indirector/facts/facter_spec.rb +8 -6
  248. data/spec/integration/network/http_pool_spec.rb +73 -0
  249. data/spec/integration/node/environment_spec.rb +1 -1
  250. data/spec/integration/parser/compiler_spec.rb +11 -0
  251. data/spec/integration/type/file_spec.rb +1 -1
  252. data/spec/integration/util/execution_spec.rb +22 -0
  253. data/spec/integration/util/windows/adsi_spec.rb +7 -2
  254. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
  255. data/spec/integration/util/windows/process_spec.rb +26 -32
  256. data/spec/integration/util/windows/registry_spec.rb +7 -7
  257. data/spec/integration/util/windows/user_spec.rb +47 -5
  258. data/spec/integration/util_spec.rb +7 -33
  259. data/spec/lib/puppet_spec/https.rb +6 -0
  260. data/spec/lib/puppet_spec/matchers.rb +0 -80
  261. data/spec/lib/puppet_spec/puppetserver.rb +8 -0
  262. data/spec/shared_contexts/types_setup.rb +2 -0
  263. data/spec/unit/agent_spec.rb +47 -1
  264. data/spec/unit/application/agent_spec.rb +7 -8
  265. data/spec/unit/application/doc_spec.rb +2 -2
  266. data/spec/unit/application/face_base_spec.rb +6 -4
  267. data/spec/unit/application/facts_spec.rb +41 -10
  268. data/spec/unit/application/man_spec.rb +52 -0
  269. data/spec/unit/application/resource_spec.rb +3 -1
  270. data/spec/unit/application/ssl_spec.rb +15 -2
  271. data/spec/unit/application_spec.rb +9 -4
  272. data/spec/unit/configurer/downloader_spec.rb +10 -0
  273. data/spec/unit/configurer/fact_handler_spec.rb +4 -4
  274. data/spec/unit/configurer_spec.rb +86 -37
  275. data/spec/unit/confine_spec.rb +2 -1
  276. data/spec/unit/context/trusted_information_spec.rb +25 -2
  277. data/spec/unit/daemon_spec.rb +5 -64
  278. data/spec/unit/environments_spec.rb +99 -32
  279. data/spec/unit/face/config_spec.rb +59 -1
  280. data/spec/unit/face/module/search_spec.rb +17 -0
  281. data/spec/unit/face/node_spec.rb +2 -2
  282. data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
  283. data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
  284. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
  285. data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
  286. data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
  287. data/spec/unit/file_system/uniquefile_spec.rb +29 -0
  288. data/spec/unit/file_system_spec.rb +1 -2
  289. data/spec/unit/http/client_spec.rb +74 -19
  290. data/spec/unit/http/external_client_spec.rb +9 -9
  291. data/spec/unit/http/resolver_spec.rb +24 -5
  292. data/spec/unit/http/response_spec.rb +6 -0
  293. data/spec/unit/http/service/ca_spec.rb +2 -3
  294. data/spec/unit/http/service/compiler_spec.rb +2 -3
  295. data/spec/unit/http/service/file_server_spec.rb +2 -3
  296. data/spec/unit/http/service/puppetserver_spec.rb +82 -0
  297. data/spec/unit/http/service/report_spec.rb +2 -3
  298. data/spec/unit/http/service_spec.rb +0 -1
  299. data/spec/unit/http/session_spec.rb +8 -21
  300. data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
  301. data/spec/unit/indirector/catalog/json_spec.rb +1 -1
  302. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  303. data/spec/unit/indirector/facts/rest_spec.rb +1 -1
  304. data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
  305. data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
  306. data/spec/unit/indirector/json_spec.rb +8 -8
  307. data/spec/unit/indirector/msgpack_spec.rb +8 -8
  308. data/spec/unit/indirector/node/rest_spec.rb +1 -1
  309. data/spec/unit/indirector/request_spec.rb +5 -5
  310. data/spec/unit/indirector/rest_spec.rb +14 -1
  311. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  312. data/spec/unit/indirector/yaml_spec.rb +7 -7
  313. data/spec/unit/interface_spec.rb +3 -3
  314. data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
  315. data/spec/unit/network/format_support_spec.rb +3 -2
  316. data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
  317. data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
  318. data/spec/unit/network/http/connection_spec.rb +552 -190
  319. data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
  320. data/spec/unit/network/http_pool_spec.rb +63 -57
  321. data/spec/unit/network/http_spec.rb +1 -1
  322. data/spec/unit/node/environment_spec.rb +18 -1
  323. data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
  324. data/spec/unit/parser/environment_compiler_spec.rb +7 -0
  325. data/spec/unit/parser/scope_spec.rb +1 -1
  326. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +15 -1
  327. data/spec/unit/pops/loaders/loaders_spec.rb +71 -1
  328. data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
  329. data/spec/unit/pops/types/type_calculator_spec.rb +1 -11
  330. data/spec/unit/provider/exec_spec.rb +4 -3
  331. data/spec/unit/provider/package/aix_spec.rb +29 -0
  332. data/spec/unit/provider/package/apt_spec.rb +77 -0
  333. data/spec/unit/provider/package/aptitude_spec.rb +1 -0
  334. data/spec/unit/provider/package/dnfmodule_spec.rb +25 -5
  335. data/spec/unit/provider/package/dpkg_spec.rb +22 -7
  336. data/spec/unit/provider/package/openbsd_spec.rb +2 -0
  337. data/spec/unit/provider/package/pip2_spec.rb +36 -0
  338. data/spec/unit/provider/package/pip_spec.rb +42 -16
  339. data/spec/unit/provider/package/portage_spec.rb +5 -0
  340. data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
  341. data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
  342. data/spec/unit/provider/package/yum_spec.rb +47 -8
  343. data/spec/unit/provider/package/zypper_spec.rb +98 -0
  344. data/spec/unit/provider/service/base_spec.rb +2 -4
  345. data/spec/unit/provider/service/bsd_spec.rb +5 -1
  346. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  347. data/spec/unit/provider/service/debian_spec.rb +3 -5
  348. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  349. data/spec/unit/provider/service/gentoo_spec.rb +4 -5
  350. data/spec/unit/provider/service/init_spec.rb +46 -5
  351. data/spec/unit/provider/service/launchd_spec.rb +5 -6
  352. data/spec/unit/provider/service/openbsd_spec.rb +9 -0
  353. data/spec/unit/provider/service/openrc_spec.rb +4 -5
  354. data/spec/unit/provider/service/openwrt_spec.rb +2 -1
  355. data/spec/unit/provider/service/redhat_spec.rb +10 -1
  356. data/spec/unit/provider/service/runit_spec.rb +2 -1
  357. data/spec/unit/provider/service/smf_spec.rb +1 -1
  358. data/spec/unit/provider/service/src_spec.rb +3 -5
  359. data/spec/unit/provider/service/systemd_spec.rb +87 -19
  360. data/spec/unit/provider/service/upstart_spec.rb +4 -5
  361. data/spec/unit/provider/service/windows_spec.rb +50 -14
  362. data/spec/unit/provider/user/openbsd_spec.rb +1 -0
  363. data/spec/unit/provider/user/useradd_spec.rb +30 -16
  364. data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
  365. data/spec/unit/puppet_pal_2pec.rb +40 -0
  366. data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
  367. data/spec/unit/puppet_spec.rb +33 -0
  368. data/spec/unit/reports/http_spec.rb +1 -1
  369. data/spec/unit/reports/store_spec.rb +17 -13
  370. data/spec/unit/resource_spec.rb +3 -3
  371. data/spec/unit/rest/route_spec.rb +4 -4
  372. data/spec/unit/settings_spec.rb +182 -22
  373. data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
  374. data/spec/unit/ssl/state_machine_spec.rb +52 -8
  375. data/spec/unit/test/test_helper_spec.rb +17 -0
  376. data/spec/unit/transaction/persistence_spec.rb +15 -0
  377. data/spec/unit/transaction/report_spec.rb +3 -1
  378. data/spec/unit/type/file/source_spec.rb +4 -4
  379. data/spec/unit/type/file_spec.rb +122 -96
  380. data/spec/unit/type/filebucket_spec.rb +1 -1
  381. data/spec/unit/type/service_spec.rb +218 -8
  382. data/spec/unit/type/user_spec.rb +32 -3
  383. data/spec/unit/type_spec.rb +50 -0
  384. data/spec/unit/util/autoload_spec.rb +2 -1
  385. data/spec/unit/util/character_encoding_spec.rb +4 -4
  386. data/spec/unit/util/checksums_spec.rb +16 -0
  387. data/spec/unit/util/command_line_spec.rb +11 -6
  388. data/spec/unit/util/log/destinations_spec.rb +1 -29
  389. data/spec/unit/util/package/version/range_spec.rb +22 -1
  390. data/spec/unit/util/run_mode_spec.rb +6 -6
  391. data/spec/unit/util/windows/api_types_spec.rb +104 -40
  392. data/spec/unit/util/windows/service_spec.rb +4 -4
  393. data/spec/unit/util_spec.rb +3 -3
  394. data/spec/unit/x509/cert_provider_spec.rb +1 -1
  395. data/tasks/manpages.rake +5 -35
  396. metadata +43 -49
  397. data/spec/integration/faces/config_spec.rb +0 -91
  398. data/spec/integration/faces/documentation_spec.rb +0 -57
  399. data/spec/integration/file_bucket/file_spec.rb +0 -50
  400. data/spec/integration/file_serving/content_spec.rb +0 -7
  401. data/spec/integration/file_serving/fileset_spec.rb +0 -12
  402. data/spec/integration/file_serving/metadata_spec.rb +0 -8
  403. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
  404. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  405. data/spec/integration/module_tool/forge_spec.rb +0 -51
  406. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  407. data/spec/integration/provider/service/init_spec.rb +0 -48
  408. data/spec/integration/provider/service/systemd_spec.rb +0 -25
  409. data/spec/integration/provider/service/windows_spec.rb +0 -50
  410. data/spec/integration/reference/providers_spec.rb +0 -21
  411. data/spec/integration/reports_spec.rb +0 -13
  412. data/spec/integration/ssl/certificate_request_spec.rb +0 -44
  413. data/spec/integration/ssl/host_spec.rb +0 -72
  414. data/spec/integration/ssl/key_spec.rb +0 -99
  415. data/spec/integration/test/test_helper_spec.rb +0 -31
  416. data/spec/shared_behaviours/file_serving_model.rb +0 -51
  417. data/spec/unit/face/man_spec.rb +0 -25
  418. data/spec/unit/man_spec.rb +0 -31
@@ -39,4 +39,26 @@ describe Puppet::Network::HTTP::NoCachePool do
39
39
  it 'has a close method' do
40
40
  Puppet::Network::HTTP::NoCachePool.new.close
41
41
  end
42
+
43
+ it 'logs a deprecation warning' do
44
+ http = double('http', start: nil, finish: nil, started?: true)
45
+
46
+ factory = Puppet::Network::HTTP::Factory.new
47
+ allow(factory).to receive(:create_connection).and_return(http)
48
+ Puppet::Network::HTTP::NoCachePool.new(factory)
49
+
50
+ expect(@logs).to include(an_object_having_attributes(level: :warning, message: /Puppet::Network::HTTP::NoCachePool is deprecated/))
51
+ end
52
+
53
+ it 'omits the warning when deprecations are disabled' do
54
+ Puppet[:disable_warnings] = 'deprecations'
55
+
56
+ http = double('http', start: nil, finish: nil, started?: true)
57
+
58
+ factory = Puppet::Network::HTTP::Factory.new
59
+ allow(factory).to receive(:create_connection).and_return(http)
60
+ Puppet::Network::HTTP::NoCachePool.new(factory)
61
+
62
+ expect(@logs).to eq([])
63
+ end
42
64
  end
@@ -1,41 +1,65 @@
1
1
  require 'spec_helper'
2
2
  require 'puppet/network/http_pool'
3
3
 
4
+ class Puppet::Network::HttpPool::FooClient
5
+ def initialize(host, port, options = {})
6
+ @host = host
7
+ @port = port
8
+ end
9
+ attr_reader :host, :port
10
+ end
11
+
4
12
  describe Puppet::Network::HttpPool do
5
- before :each do
6
- Puppet::SSL::Key.indirection.terminus_class = :memory
7
- Puppet::SSL::CertificateRequest.indirection.terminus_class = :memory
13
+ include PuppetSpec::Files
14
+
15
+ describe "when registering an http client class" do
16
+ let(:http_impl) { Puppet::Network::HttpPool::FooClient }
17
+
18
+ around :each do |example|
19
+ orig_class = Puppet::Network::HttpPool.http_client_class
20
+ begin
21
+ example.run
22
+ ensure
23
+ Puppet::Network::HttpPool.http_client_class = orig_class
24
+ end
25
+ end
26
+
27
+ it "returns instances of the http client class" do
28
+ Puppet::Network::HttpPool.http_client_class = http_impl
29
+ http = Puppet::Network::HttpPool.http_instance("me", 54321)
30
+ expect(http).to be_an_instance_of(http_impl)
31
+ expect(http.host).to eq('me')
32
+ expect(http.port).to eq(54321)
33
+ end
34
+
35
+ it "uses the default http client" do
36
+ expect(Puppet.runtime[:http]).to be_an_instance_of(Puppet::HTTP::Client)
37
+ end
38
+
39
+ it "switches to the external client implementation" do
40
+ Puppet::Network::HttpPool.http_client_class = http_impl
41
+
42
+ expect(Puppet.runtime[:http]).to be_an_instance_of(Puppet::HTTP::ExternalClient)
43
+ end
44
+
45
+ it "always uses an explicitly registered http implementation" do
46
+ Puppet::Network::HttpPool.http_client_class = http_impl
47
+
48
+ new_impl = double('new_http_impl')
49
+ Puppet.initialize_settings([], true, true, http: new_impl)
50
+
51
+ expect(Puppet.runtime[:http]).to eq(new_impl)
52
+ end
8
53
  end
9
54
 
10
55
  describe "when managing http instances" do
11
56
  it "should return an http instance created with the passed host and port" do
12
57
  http = Puppet::Network::HttpPool.http_instance("me", 54321)
13
- expect(http).to be_an_instance_of Puppet::Network::HTTP::Connection
58
+ expect(http).to be_a_kind_of Puppet::Network::HTTP::Connection
14
59
  expect(http.address).to eq('me')
15
60
  expect(http.port).to eq(54321)
16
61
  end
17
62
 
18
- it "should support using an alternate http client implementation" do
19
- begin
20
- class FooClient
21
- def initialize(host, port, options = {})
22
- @host = host
23
- @port = port
24
- end
25
- attr_reader :host, :port
26
- end
27
-
28
- orig_class = Puppet::Network::HttpPool.http_client_class
29
- Puppet::Network::HttpPool.http_client_class = FooClient
30
- http = Puppet::Network::HttpPool.http_instance("me", 54321)
31
- expect(http).to be_an_instance_of FooClient
32
- expect(http.host).to eq('me')
33
- expect(http.port).to eq(54321)
34
- ensure
35
- Puppet::Network::HttpPool.http_client_class = orig_class
36
- end
37
- end
38
-
39
63
  it "should enable ssl on the http instance by default" do
40
64
  expect(Puppet::Network::HttpPool.http_instance("me", 54321)).to be_use_ssl
41
65
  end
@@ -82,53 +106,35 @@ describe Puppet::Network::HttpPool do
82
106
  end
83
107
 
84
108
  describe 'peer verification' do
85
- def setup_standard_ssl_configuration
86
- ca_cert_file = File.expand_path('/path/to/ssl/certs/ca_cert.pem')
87
-
88
- Puppet[:ssl_client_ca_auth] = ca_cert_file
89
- allow(Puppet::FileSystem).to receive(:exist?).with(ca_cert_file).and_return(true)
90
- end
91
-
92
- def setup_standard_hostcert
93
- host_cert_file = File.expand_path('/path/to/ssl/certs/host_cert.pem')
94
- allow(Puppet::FileSystem).to receive(:exist?).with(host_cert_file).and_return(true)
95
-
96
- Puppet[:hostcert] = host_cert_file
97
- end
98
-
99
- def setup_standard_ssl_host
100
- cert = double('cert', :content => 'real_cert')
101
- key = double('key', :content => 'real_key')
102
- host = double('host', :certificate => cert, :key => key, :ssl_store => double('store'))
103
109
 
104
- allow(Puppet::SSL::Host).to receive(:localhost).and_return(host)
105
- end
110
+ before(:each) do
111
+ Puppet[:ssldir] = tmpdir('ssl')
112
+ Puppet.settings.use(:main)
106
113
 
107
- before do
108
- setup_standard_ssl_configuration
109
- setup_standard_hostcert
110
- setup_standard_ssl_host
114
+ Puppet[:certname] = 'signed'
115
+ File.write(Puppet[:localcacert], cert_fixture('ca.pem'))
116
+ File.write(Puppet[:hostcrl], crl_fixture('crl.pem'))
117
+ File.write(Puppet[:hostcert], cert_fixture('signed.pem'))
118
+ File.write(Puppet[:hostprivkey], key_fixture('signed-key.pem'))
111
119
  end
112
120
 
113
121
  it 'enables peer verification by default' do
114
- response = Net::HTTPOK.new('1.1', 200, 'body')
122
+ stub_request(:get, "https://me:54321")
123
+
115
124
  conn = Puppet::Network::HttpPool.http_instance("me", 54321, true)
116
- expect(conn).to receive(:execute_request) do |http, _|
125
+ expect_any_instance_of(Net::HTTP).to receive(:start) do |http|
117
126
  expect(http.verify_mode).to eq(OpenSSL::SSL::VERIFY_PEER)
118
-
119
- response
120
127
  end
121
128
 
122
129
  conn.get('/')
123
130
  end
124
131
 
125
132
  it 'can disable peer verification' do
126
- response = Net::HTTPOK.new('1.1', 200, 'body')
133
+ stub_request(:get, "https://me:54321")
134
+
127
135
  conn = Puppet::Network::HttpPool.http_instance("me", 54321, true, false)
128
- expect(conn).to receive(:execute_request) do |http, _|
136
+ expect_any_instance_of(Net::HTTP).to receive(:start) do |http|
129
137
  expect(http.verify_mode).to eq(OpenSSL::SSL::VERIFY_NONE)
130
-
131
- response
132
138
  end
133
139
 
134
140
  conn.get('/')
@@ -4,6 +4,6 @@ require 'puppet/network/http'
4
4
  describe Puppet::Network::HTTP do
5
5
  it 'defines an http_pool context' do
6
6
  pool = Puppet.lookup(:http_pool)
7
- expect(pool).to be_a(Puppet::Network::HTTP::NoCachePool)
7
+ expect(pool).to be_a(Puppet::Network::HTTP::Pool)
8
8
  end
9
9
  end
@@ -426,7 +426,7 @@ describe Puppet::Node::Environment do
426
426
  it "includes the Bolt project in modules if it's defined" do
427
427
  path = tmpdir('project')
428
428
  PuppetSpec::Modules.generate_files('bolt_project', path)
429
- project = Struct.new("Project", :name, :path).new('bolt_project', path)
429
+ project = Struct.new("Project", :name, :path, :load_as_module?).new('bolt_project', path, true)
430
430
 
431
431
  Puppet.override(bolt_project: project) do
432
432
  %w{foo bar}.each do |mod_name|
@@ -438,6 +438,23 @@ describe Puppet::Node::Environment do
438
438
  expect(env.modules.collect{|mod| mod.name}.sort).to eq(%w{bolt_project foo bar bee baz}.sort)
439
439
  end
440
440
  end
441
+
442
+ it "does not include the Bolt project in modules if load_as_module? is false" do
443
+ path = tmpdir('project')
444
+ PuppetSpec::Modules.generate_files('bolt_project', path)
445
+ project = Struct.new("Project", :name, :path, :load_as_module?).new('bolt_project', path, false)
446
+
447
+ Puppet.override(bolt_project: project) do
448
+ %w{foo bar}.each do |mod_name|
449
+ PuppetSpec::Modules.generate_files(mod_name, first_modulepath)
450
+ end
451
+ %w{bee baz}.each do |mod_name|
452
+ PuppetSpec::Modules.generate_files(mod_name, second_modulepath)
453
+ end
454
+ expect(env.modules.collect{|mod| mod.name}.sort).to eq(%w{foo bar bee baz}.sort)
455
+ end
456
+
457
+ end
441
458
  end
442
459
  end
443
460
  end
@@ -12,7 +12,7 @@ describe 'Puppet::Parser::AST::BlockExpression' do
12
12
  NO_SCOPE = nil
13
13
 
14
14
  def depth_probe
15
- StackDepthAST.new({})
15
+ StackDepthAST.new
16
16
  end
17
17
 
18
18
  def sequence_probe(name)
@@ -366,6 +366,13 @@ EOS
366
366
  }.to raise_error(/'Cap\[cap\]' is exported by both 'Prod\[one\]' and 'Prod\[two\]'/)
367
367
  end
368
368
 
369
+ it "issues deprecation warnings" do
370
+ expect {compile_collect_log(MANIFEST_WO_NODE)}.not_to raise_error
371
+ expect(warnings).to include(/Capability Mapping is deprecated/) # there are two of these
372
+ expect(warnings).to include(/Application is deprecated/)
373
+ expect(warnings).to include(/Site Definition is deprecated/)
374
+ end
375
+
369
376
  context "for producing node" do
370
377
  let(:compiled_node) { Puppet::Node.new('first', :environment => env) }
371
378
  let(:compiled_catalog) { compile_to_catalog(MANIFEST, compiled_node)}
@@ -105,7 +105,7 @@ describe Puppet::Parser::Scope do
105
105
 
106
106
  it "should fail if something that isn't a compiler is supplied" do
107
107
  expect {
108
- Puppet::Parser::Scope.new(:compiler => true)
108
+ Puppet::Parser::Scope.new(nil)
109
109
  }.to raise_error(Puppet::DevError, /you must pass a compiler instance/)
110
110
  end
111
111
 
@@ -1578,7 +1578,10 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
1578
1578
  let(:applicator) { double('apply_executor') }
1579
1579
 
1580
1580
  it 'invokes an apply_executor' do
1581
- expect(applicator).to receive(:apply).with(['arg1', 'arg2'], nil, scope).and_return(:result)
1581
+ expect(applicator).to receive(:apply).with(
1582
+ ['arg1', 'arg2'],
1583
+ instance_of(Puppet::Pops::Model::BlockExpression),
1584
+ scope).and_return(:result)
1582
1585
  src = "apply('arg1', 'arg2') { }"
1583
1586
  Puppet.override(apply_executor: applicator) do
1584
1587
  expect(parser.evaluate_string(scope, src)).to eq(:result)
@@ -1595,6 +1598,17 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
1595
1598
  expect(parser.evaluate_string(scope, src)).to eq(:result)
1596
1599
  end
1597
1600
  end
1601
+
1602
+ it 'returns a BlockExpression with an empty apply block' do
1603
+ expect(applicator).to receive(:apply).with(
1604
+ [['arg1']],
1605
+ instance_of(Puppet::Pops::Model::BlockExpression),
1606
+ scope).and_return(:result)
1607
+ src = "apply(['arg1']) { }"
1608
+ Puppet.override(apply_executor: applicator) do
1609
+ expect(parser.evaluate_string(scope, src)).to eq(:result)
1610
+ end
1611
+ end
1598
1612
  end
1599
1613
  end
1600
1614
 
@@ -92,6 +92,35 @@ describe 'loaders' do
92
92
  it 'errors with message about empty file for files that contain no logic' do
93
93
  expect{loader.load(:resource_type_pp, 'empty')}.to raise_error(ArgumentError, /it is empty/)
94
94
  end
95
+
96
+ it 'creates a pcore resource type loader' do
97
+ pcore_loader = env.loaders.runtime3_type_loader.resource_3x_loader
98
+ expect(pcore_loader.loader_name).to eq('pcore_resource_types')
99
+ expect(pcore_loader).to be_a(Puppet::Pops::Loader::ModuleLoaders::FileBased)
100
+ end
101
+
102
+ it 'does not create a pcore resource type loader if requested not to' do
103
+ env.loaders = nil # clear cached loaders
104
+ loaders = Puppet::Pops::Loaders.new(env, false, false)
105
+ expect(loaders.runtime3_type_loader.resource_3x_loader).to be_nil
106
+ end
107
+
108
+ it 'does not create a pcore resource type loader for an empty environment' do
109
+ loaders = Puppet::Pops::Loaders.new(empty_test_env)
110
+ expect(loaders.runtime3_type_loader.resource_3x_loader).to be_nil
111
+ end
112
+ end
113
+
114
+ def expect_loader_hierarchy(loaders, expected_loaders)
115
+ actual_loaders = []
116
+
117
+ loader = loaders.private_environment_loader
118
+ while loader
119
+ actual_loaders << [loader.loader_name, loader]
120
+ loader = loader.parent
121
+ end
122
+
123
+ expect(actual_loaders).to contain_exactly(*expected_loaders)
95
124
  end
96
125
 
97
126
  it 'creates a puppet_system loader' do
@@ -123,6 +152,47 @@ describe 'loaders' do
123
152
  expect(loaders.private_environment_loader().to_s).to eql("(DependencyLoader 'environment private' [])")
124
153
  end
125
154
 
155
+ it 'creates a hierarchy of loaders' do
156
+ expect_loader_hierarchy(
157
+ Puppet::Pops::Loaders.new(empty_test_env),
158
+ [
159
+ [nil, Puppet::Pops::Loader::StaticLoader],
160
+ ['puppet_system', Puppet::Pops::Loader::ModuleLoaders::LibRootedFileBased],
161
+ [empty_test_env.name, Puppet::Pops::Loader::Runtime3TypeLoader],
162
+ ['environment', Puppet::Pops::Loader::SimpleEnvironmentLoader],
163
+ ['environment private', Puppet::Pops::Loader::DependencyLoader],
164
+ ]
165
+ )
166
+ end
167
+
168
+ it 'excludes the Runtime3TypeLoader when tasks are enabled' do
169
+ Puppet[:tasks] = true
170
+
171
+ expect_loader_hierarchy(
172
+ Puppet::Pops::Loaders.new(empty_test_env),
173
+ [
174
+ [nil, Puppet::Pops::Loader::StaticLoader],
175
+ ['puppet_system', Puppet::Pops::Loader::ModuleLoaders::LibRootedFileBased],
176
+ ['environment', Puppet::Pops::Loader::ModuleLoaders::EmptyLoader],
177
+ ['environment private', Puppet::Pops::Loader::DependencyLoader],
178
+ ]
179
+ )
180
+ end
181
+
182
+ it 'includes the agent cache loader when for_agent is true' do
183
+ expect_loader_hierarchy(
184
+ Puppet::Pops::Loaders.new(empty_test_env, true),
185
+ [
186
+ [nil, Puppet::Pops::Loader::StaticLoader],
187
+ ['puppet_system', Puppet::Pops::Loader::ModuleLoaders::LibRootedFileBased],
188
+ ['cached_puppet_lib', Puppet::Pops::Loader::ModuleLoaders::LibRootedFileBased],
189
+ [empty_test_env.name, Puppet::Pops::Loader::Runtime3TypeLoader],
190
+ ['environment', Puppet::Pops::Loader::SimpleEnvironmentLoader],
191
+ ['environment private', Puppet::Pops::Loader::DependencyLoader],
192
+ ],
193
+ )
194
+ end
195
+
126
196
  context 'when loading from a module' do
127
197
  it 'loads a ruby function using a qualified or unqualified name' do
128
198
  loaders = Puppet::Pops::Loaders.new(environment_for(module_with_metadata))
@@ -461,7 +531,7 @@ describe 'loaders' do
461
531
  it "a function with syntax error has helpful error message" do
462
532
  expect {
463
533
  loader.load_typed(typed_name(:function, 'func_with_syntax_error'))
464
- }.to raise_error(/syntax error, unexpected (keyword_)?end/)
534
+ }.to raise_error(/syntax error, unexpected (keyword_|`)?end/)
465
535
  end
466
536
  end
467
537
 
@@ -14,6 +14,7 @@ describe 'The lookup API' do
14
14
  let(:env) { Puppet::Node::Environment.create(env_name.to_sym, [File.join(populated_env_dir, 'modules')]) }
15
15
  let(:node) { Puppet::Node.new('test', :environment => env) }
16
16
  let(:compiler) { Puppet::Parser::Compiler.new(node) }
17
+ let(:pal_compiler) { Puppet::Pal::ScriptCompiler.new(compiler) }
17
18
  let(:scope) { compiler.topscope }
18
19
  let(:invocation) { Invocation.new(scope) }
19
20
 
@@ -345,6 +346,30 @@ describe 'The lookup API' do
345
346
  end
346
347
  end
347
348
  end
349
+
350
+ context 'when using plan_hierarchy' do
351
+ let(:code_dir_content) do
352
+ {
353
+ 'hiera.yaml' => <<-YAML.unindent,
354
+ version: 5
355
+ plan_hierarchy:
356
+ - path: foo.yaml
357
+ name: Common
358
+ YAML
359
+ 'data' => {
360
+ 'foo.yaml' => <<-YAML.unindent
361
+ pop: star
362
+ YAML
363
+ }
364
+ }
365
+ end
366
+
367
+ it 'uses plan_hierarchy when using ScriptCompiler' do
368
+ Puppet.override(pal_compiler: pal_compiler) do
369
+ expect(Lookup.lookup('pop', nil, nil, true, nil, invocation)).to eq('star')
370
+ end
371
+ end
372
+ end
348
373
  end
349
374
  end
350
375
  end
@@ -1334,8 +1334,6 @@ describe 'The type calculator' do
1334
1334
 
1335
1335
  it 'should recognize mapped ruby types' do
1336
1336
  { Integer => PIntegerType::DEFAULT,
1337
- Fixnum => PIntegerType::DEFAULT,
1338
- Bignum => PIntegerType::DEFAULT,
1339
1337
  Float => PFloatType::DEFAULT,
1340
1338
  Numeric => PNumericType::DEFAULT,
1341
1339
  NilClass => PUndefType::DEFAULT,
@@ -2147,14 +2145,6 @@ describe 'The type calculator' do
2147
2145
  end
2148
2146
 
2149
2147
  context 'when converting a ruby class' do
2150
- it 'should yield \'PIntegerType\' for Fixnum' do
2151
- expect(calculator.type(Fixnum).class).to eq(PIntegerType)
2152
- end
2153
-
2154
- it 'should yield \'PIntegerType\' for Bignum' do
2155
- expect(calculator.type(Bignum).class).to eq(PIntegerType)
2156
- end
2157
-
2158
2148
  it 'should yield \'PIntegerType\' for Integer' do
2159
2149
  expect(calculator.type(Integer).class).to eq(PIntegerType)
2160
2150
  end
@@ -2275,7 +2265,7 @@ describe 'The type calculator' do
2275
2265
  it 'should infer PTypeType as the type of ruby classes' do
2276
2266
  class Foo
2277
2267
  end
2278
- [Object, Numeric, Integer, Fixnum, Bignum, Float, String, Regexp, Array, Hash, Foo].each do |c|
2268
+ [Object, Numeric, Integer, Float, String, Regexp, Array, Hash, Foo].each do |c|
2279
2269
  expect(calculator.infer(c).is_a?(PTypeType)).to eq(true)
2280
2270
  end
2281
2271
  end