puppet 5.4.0-universal-darwin → 5.5.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 (441) hide show
  1. data/Gemfile +3 -3
  2. data/MAINTAINERS +0 -19
  3. data/README.md +5 -5
  4. data/Rakefile +26 -0
  5. data/conf/auth.conf +5 -0
  6. data/ext/project_data.yaml +1 -0
  7. data/ext/regexp_nodes/regexp_nodes.rb +3 -4
  8. data/lib/puppet/application/apply.rb +1 -1
  9. data/lib/puppet/application/cert.rb +3 -1
  10. data/lib/puppet/application/device.rb +100 -13
  11. data/lib/puppet/application/facts.rb +5 -0
  12. data/lib/puppet/application/lookup.rb +12 -2
  13. data/lib/puppet/configurer.rb +37 -17
  14. data/lib/puppet/confine.rb +4 -1
  15. data/lib/puppet/datatypes.rb +1 -1
  16. data/lib/puppet/environments.rb +1 -1
  17. data/lib/puppet/error.rb +6 -3
  18. data/lib/puppet/external/dot.rb +0 -7
  19. data/lib/puppet/external/nagios/parser.rb +1 -1
  20. data/lib/puppet/face/config.rb +92 -10
  21. data/lib/puppet/face/epp.rb +31 -6
  22. data/lib/puppet/face/facts.rb +49 -0
  23. data/lib/puppet/face/help.rb +33 -35
  24. data/lib/puppet/face/help/action.erb +1 -1
  25. data/lib/puppet/face/help/face.erb +1 -1
  26. data/lib/puppet/face/man.rb +55 -12
  27. data/lib/puppet/face/parser.rb +30 -3
  28. data/lib/puppet/file_bucket/file.rb +0 -2
  29. data/lib/puppet/file_serving/base.rb +10 -10
  30. data/lib/puppet/forge.rb +3 -3
  31. data/lib/puppet/forge/errors.rb +3 -3
  32. data/lib/puppet/functions.rb +1 -3
  33. data/lib/puppet/functions/alert.rb +1 -1
  34. data/lib/puppet/functions/all.rb +6 -6
  35. data/lib/puppet/functions/annotate.rb +10 -10
  36. data/lib/puppet/functions/any.rb +6 -6
  37. data/lib/puppet/functions/assert_type.rb +4 -4
  38. data/lib/puppet/functions/binary_file.rb +14 -2
  39. data/lib/puppet/functions/break.rb +31 -2
  40. data/lib/puppet/functions/call.rb +4 -4
  41. data/lib/puppet/functions/contain.rb +19 -3
  42. data/lib/puppet/functions/convert_to.rb +6 -5
  43. data/lib/puppet/functions/crit.rb +1 -1
  44. data/lib/puppet/functions/debug.rb +1 -1
  45. data/lib/puppet/functions/defined.rb +11 -9
  46. data/lib/puppet/functions/dig.rb +26 -2
  47. data/lib/puppet/functions/each.rb +8 -8
  48. data/lib/puppet/functions/emerg.rb +1 -1
  49. data/lib/puppet/functions/empty.rb +79 -0
  50. data/lib/puppet/functions/err.rb +1 -1
  51. data/lib/puppet/functions/eyaml_lookup_key.rb +3 -1
  52. data/lib/puppet/functions/filter.rb +7 -7
  53. data/lib/puppet/functions/find_file.rb +15 -1
  54. data/lib/puppet/functions/flatten.rb +64 -0
  55. data/lib/puppet/functions/hiera.rb +6 -6
  56. data/lib/puppet/functions/hiera_array.rb +6 -6
  57. data/lib/puppet/functions/hiera_hash.rb +6 -6
  58. data/lib/puppet/functions/hiera_include.rb +8 -8
  59. data/lib/puppet/functions/include.rb +28 -2
  60. data/lib/puppet/functions/info.rb +1 -1
  61. data/lib/puppet/functions/inline_epp.rb +2 -2
  62. data/lib/puppet/functions/join.rb +56 -0
  63. data/lib/puppet/functions/json_data.rb +2 -2
  64. data/lib/puppet/functions/keys.rb +25 -0
  65. data/lib/puppet/functions/length.rb +44 -0
  66. data/lib/puppet/functions/lest.rb +39 -1
  67. data/lib/puppet/functions/lookup.rb +2 -1
  68. data/lib/puppet/functions/map.rb +10 -9
  69. data/lib/puppet/functions/match.rb +6 -6
  70. data/lib/puppet/functions/new.rb +995 -2
  71. data/lib/puppet/functions/next.rb +1 -1
  72. data/lib/puppet/functions/notice.rb +1 -1
  73. data/lib/puppet/functions/reduce.rb +6 -6
  74. data/lib/puppet/functions/regsubst.rb +9 -3
  75. data/lib/puppet/functions/require.rb +36 -2
  76. data/lib/puppet/functions/return.rb +1 -1
  77. data/lib/puppet/functions/reverse_each.rb +71 -2
  78. data/lib/puppet/functions/slice.rb +23 -9
  79. data/lib/puppet/functions/split.rb +12 -10
  80. data/lib/puppet/functions/step.rb +73 -1
  81. data/lib/puppet/functions/strftime.rb +176 -2
  82. data/lib/puppet/functions/then.rb +65 -2
  83. data/lib/puppet/functions/tree_each.rb +19 -19
  84. data/lib/puppet/functions/type.rb +42 -1
  85. data/lib/puppet/functions/unique.rb +13 -13
  86. data/lib/puppet/functions/unwrap.rb +8 -4
  87. data/lib/puppet/functions/values.rb +25 -0
  88. data/lib/puppet/functions/versioncmp.rb +1 -1
  89. data/lib/puppet/functions/warning.rb +1 -1
  90. data/lib/puppet/functions/with.rb +6 -4
  91. data/lib/puppet/functions/yaml_data.rb +3 -1
  92. data/lib/puppet/indirector/certificate_status/file.rb +1 -1
  93. data/lib/puppet/indirector/facts/facter.rb +1 -3
  94. data/lib/puppet/indirector/facts/rest.rb +21 -0
  95. data/lib/puppet/indirector/facts/yaml.rb +0 -4
  96. data/lib/puppet/indirector/rest.rb +2 -2
  97. data/lib/puppet/module.rb +3 -3
  98. data/lib/puppet/module/task.rb +2 -3
  99. data/lib/puppet/module_tool/applications/application.rb +4 -4
  100. data/lib/puppet/module_tool/applications/builder.rb +2 -2
  101. data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
  102. data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
  103. data/lib/puppet/module_tool/metadata.rb +3 -3
  104. data/lib/puppet/network/authconfig.rb +1 -1
  105. data/lib/puppet/network/format_support.rb +1 -1
  106. data/lib/puppet/network/formats.rb +5 -7
  107. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  108. data/lib/puppet/network/http/api/master/v3/environment.rb +2 -2
  109. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
  110. data/lib/puppet/network/http/error.rb +3 -3
  111. data/lib/puppet/network/resolver.rb +1 -2
  112. data/lib/puppet/parser/compiler.rb +12 -5
  113. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
  114. data/lib/puppet/parser/functions/fqdn_rand.rb +15 -4
  115. data/lib/puppet/parser/functions/new.rb +31 -46
  116. data/lib/puppet/parser/parser_factory.rb +1 -1
  117. data/lib/puppet/parser/resource.rb +1 -1
  118. data/lib/puppet/parser/type_loader.rb +11 -11
  119. data/lib/puppet/pops/evaluator/closure.rb +1 -1
  120. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -1
  121. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  122. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -2
  123. data/lib/puppet/pops/evaluator/runtime3_support.rb +5 -2
  124. data/lib/puppet/pops/functions/dispatch.rb +1 -1
  125. data/lib/puppet/pops/issue_reporter.rb +18 -1
  126. data/lib/puppet/pops/issues.rb +6 -3
  127. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -2
  128. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
  129. data/lib/puppet/pops/loader/task_instantiator.rb +5 -5
  130. data/lib/puppet/pops/loader/type_definition_instantiator.rb +4 -1
  131. data/lib/puppet/pops/loaders.rb +18 -7
  132. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  133. data/lib/puppet/pops/lookup/lookup_adapter.rb +55 -6
  134. data/lib/puppet/pops/model/factory.rb +6 -3
  135. data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
  136. data/lib/puppet/pops/model/pn_transformer.rb +400 -0
  137. data/lib/puppet/pops/parser/egrammar.ra +1 -1
  138. data/lib/puppet/pops/parser/eparser.rb +1 -1
  139. data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
  140. data/lib/puppet/pops/parser/lexer_support.rb +3 -2
  141. data/lib/puppet/pops/parser/locator.rb +0 -2
  142. data/lib/puppet/pops/parser/pn_parser.rb +316 -0
  143. data/lib/puppet/pops/pcore.rb +17 -17
  144. data/lib/puppet/pops/pn.rb +236 -0
  145. data/lib/puppet/pops/serialization/json.rb +7 -7
  146. data/lib/puppet/pops/types/class_loader.rb +6 -3
  147. data/lib/puppet/pops/types/implementation_registry.rb +28 -35
  148. data/lib/puppet/pops/types/p_object_type.rb +3 -3
  149. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  150. data/lib/puppet/pops/types/p_type_set_type.rb +24 -1
  151. data/lib/puppet/pops/types/ruby_generator.rb +3 -4
  152. data/lib/puppet/pops/types/type_calculator.rb +1 -1
  153. data/lib/puppet/pops/types/type_factory.rb +0 -4
  154. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  155. data/lib/puppet/pops/types/type_parser.rb +14 -7
  156. data/lib/puppet/pops/types/types.rb +1 -1
  157. data/lib/puppet/pops/utils.rb +2 -2
  158. data/lib/puppet/pops/validation/checker4_0.rb +6 -2
  159. data/lib/puppet/provider/group/groupadd.rb +3 -1
  160. data/lib/puppet/provider/group/windows_adsi.rb +4 -7
  161. data/lib/puppet/provider/nameservice.rb +3 -3
  162. data/lib/puppet/provider/package/pacman.rb +4 -4
  163. data/lib/puppet/provider/package/pip.rb +3 -3
  164. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  165. data/lib/puppet/provider/package/pkgutil.rb +2 -2
  166. data/lib/puppet/provider/package/portage.rb +9 -9
  167. data/lib/puppet/provider/package/zypper.rb +2 -2
  168. data/lib/puppet/provider/service/base.rb +1 -1
  169. data/lib/puppet/provider/service/smf.rb +3 -2
  170. data/lib/puppet/provider/service/systemd.rb +1 -1
  171. data/lib/puppet/provider/user/useradd.rb +6 -2
  172. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  173. data/lib/puppet/provider/yumrepo/inifile.rb +20 -9
  174. data/lib/puppet/provider/zfs/zfs.rb +1 -1
  175. data/lib/puppet/reference/configuration.rb +2 -0
  176. data/lib/puppet/reference/type.rb +11 -11
  177. data/lib/puppet/resource.rb +1 -1
  178. data/lib/puppet/resource/capability_finder.rb +5 -5
  179. data/lib/puppet/resource/catalog.rb +6 -3
  180. data/lib/puppet/resource/status.rb +9 -2
  181. data/lib/puppet/resource/type.rb +1 -1
  182. data/lib/puppet/settings.rb +31 -19
  183. data/lib/puppet/settings/base_setting.rb +5 -0
  184. data/lib/puppet/settings/config_file.rb +1 -1
  185. data/lib/puppet/settings/ttl_setting.rb +5 -0
  186. data/lib/puppet/ssl/certificate_factory.rb +2 -2
  187. data/lib/puppet/ssl/certificate_request.rb +0 -2
  188. data/lib/puppet/syntax_checkers/json.rb +1 -1
  189. data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
  190. data/lib/puppet/transaction/event.rb +1 -1
  191. data/lib/puppet/transaction/report.rb +18 -12
  192. data/lib/puppet/type.rb +9 -13
  193. data/lib/puppet/type/augeas.rb +2 -2
  194. data/lib/puppet/type/cron.rb +11 -6
  195. data/lib/puppet/type/exec.rb +1 -1
  196. data/lib/puppet/type/file.rb +4 -5
  197. data/lib/puppet/type/host.rb +1 -1
  198. data/lib/puppet/type/k5login.rb +30 -54
  199. data/lib/puppet/type/package.rb +3 -3
  200. data/lib/puppet/type/schedule.rb +12 -12
  201. data/lib/puppet/type/scheduled_task.rb +2 -2
  202. data/lib/puppet/type/ssh_authorized_key.rb +5 -5
  203. data/lib/puppet/type/sshkey.rb +2 -2
  204. data/lib/puppet/type/tidy.rb +1 -1
  205. data/lib/puppet/type/user.rb +1 -1
  206. data/lib/puppet/type/yumrepo.rb +26 -5
  207. data/lib/puppet/util.rb +0 -4
  208. data/lib/puppet/util/backups.rb +1 -1
  209. data/lib/puppet/util/inifile.rb +3 -4
  210. data/lib/puppet/util/json.rb +68 -0
  211. data/lib/puppet/util/json_lockfile.rb +3 -3
  212. data/lib/puppet/util/log.rb +2 -5
  213. data/lib/puppet/util/log/destinations.rb +2 -2
  214. data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
  215. data/lib/puppet/util/plist.rb +1 -1
  216. data/lib/puppet/util/reference.rb +1 -8
  217. data/lib/puppet/util/tagging.rb +1 -1
  218. data/lib/puppet/util/warnings.rb +0 -2
  219. data/lib/puppet/util/windows/adsi.rb +15 -18
  220. data/lib/puppet/util/windows/com.rb +2 -1
  221. data/lib/puppet/util/windows/file.rb +2 -2
  222. data/lib/puppet/util/windows/principal.rb +7 -6
  223. data/lib/puppet/util/windows/sid.rb +60 -7
  224. data/lib/puppet/util/windows/taskscheduler.rb +0 -9
  225. data/lib/puppet/version.rb +1 -1
  226. data/lib/puppet_pal.rb +53 -48
  227. data/locales/ja/puppet.po +1357 -912
  228. data/locales/puppet.pot +549 -466
  229. data/man/man5/puppet.conf.5 +103 -20
  230. data/man/man8/puppet-agent.8 +6 -2
  231. data/man/man8/puppet-apply.8 +2 -2
  232. data/man/man8/puppet-ca.8 +1 -1
  233. data/man/man8/puppet-catalog.8 +1 -1
  234. data/man/man8/puppet-cert.8 +1 -1
  235. data/man/man8/puppet-certificate.8 +1 -1
  236. data/man/man8/puppet-certificate_request.8 +1 -1
  237. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  238. data/man/man8/puppet-config.8 +35 -1
  239. data/man/man8/puppet-describe.8 +1 -1
  240. data/man/man8/puppet-device.8 +33 -11
  241. data/man/man8/puppet-doc.8 +1 -1
  242. data/man/man8/puppet-epp.8 +34 -12
  243. data/man/man8/puppet-facts.8 +50 -1
  244. data/man/man8/puppet-filebucket.8 +38 -11
  245. data/man/man8/puppet-generate.8 +1 -1
  246. data/man/man8/puppet-help.8 +1 -1
  247. data/man/man8/puppet-key.8 +1 -1
  248. data/man/man8/puppet-lookup.8 +1 -1
  249. data/man/man8/puppet-man.8 +10 -4
  250. data/man/man8/puppet-master.8 +1 -1
  251. data/man/man8/puppet-module.8 +15 -6
  252. data/man/man8/puppet-node.8 +1 -1
  253. data/man/man8/puppet-parser.8 +31 -8
  254. data/man/man8/puppet-plugin.8 +1 -1
  255. data/man/man8/puppet-report.8 +1 -1
  256. data/man/man8/puppet-resource.8 +1 -1
  257. data/man/man8/puppet-script.8 +67 -0
  258. data/man/man8/puppet-status.8 +1 -1
  259. data/man/man8/puppet.8 +3 -3
  260. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
  261. data/spec/integration/application/apply_spec.rb +15 -15
  262. data/spec/integration/application/lookup_spec.rb +21 -0
  263. data/spec/integration/faces/config_spec.rb +16 -4
  264. data/spec/integration/network/http/api/indirected_routes_spec.rb +5 -5
  265. data/spec/integration/parser/catalog_spec.rb +1 -1
  266. data/spec/integration/parser/collection_spec.rb +2 -2
  267. data/spec/integration/parser/compiler_spec.rb +17 -18
  268. data/spec/integration/parser/pcore_resource_spec.rb +2 -2
  269. data/spec/integration/parser/scope_spec.rb +2 -2
  270. data/spec/integration/ssl/certificate_authority_spec.rb +7 -7
  271. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
  272. data/spec/integration/ssl/key_spec.rb +1 -1
  273. data/spec/integration/transaction/report_spec.rb +3 -3
  274. data/spec/integration/transaction_spec.rb +0 -1
  275. data/spec/integration/type/file_spec.rb +10 -11
  276. data/spec/integration/type_spec.rb +1 -2
  277. data/spec/integration/util/windows/adsi_spec.rb +86 -1
  278. data/spec/integration/util/windows/principal_spec.rb +11 -2
  279. data/spec/integration/util/windows/security_spec.rb +2 -2
  280. data/spec/lib/matchers/json.rb +4 -4
  281. data/spec/lib/puppet_spec/language.rb +34 -35
  282. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
  283. data/spec/shared_behaviours/file_server_terminus.rb +0 -2
  284. data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
  285. data/spec/spec_helper.rb +1 -1
  286. data/spec/unit/application/cert_spec.rb +21 -9
  287. data/spec/unit/application/device_spec.rb +96 -2
  288. data/spec/unit/application/face_base_spec.rb +2 -2
  289. data/spec/unit/application/lookup_spec.rb +0 -1
  290. data/spec/unit/configurer_spec.rb +14 -0
  291. data/spec/unit/confine_spec.rb +16 -0
  292. data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
  293. data/spec/unit/datatypes_spec.rb +49 -0
  294. data/spec/unit/environments_spec.rb +7 -0
  295. data/spec/unit/face/config_spec.rb +116 -12
  296. data/spec/unit/face/epp_face_spec.rb +53 -2
  297. data/spec/unit/face/facts_spec.rb +53 -0
  298. data/spec/unit/face/help_spec.rb +62 -69
  299. data/spec/unit/face/man_spec.rb +26 -0
  300. data/spec/unit/face/module/list_spec.rb +0 -1
  301. data/spec/unit/face/parser_spec.rb +78 -0
  302. data/spec/unit/file_bucket/dipper_spec.rb +0 -4
  303. data/spec/unit/file_serving/content_spec.rb +0 -1
  304. data/spec/unit/file_serving/fileset_spec.rb +0 -1
  305. data/spec/unit/file_serving/metadata_spec.rb +0 -1
  306. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
  307. data/spec/unit/forge_spec.rb +1 -2
  308. data/spec/unit/functions/assert_type_spec.rb +1 -1
  309. data/spec/unit/functions/empty_spec.rb +77 -0
  310. data/spec/unit/functions/epp_spec.rb +1 -1
  311. data/spec/unit/functions/flatten_spec.rb +31 -0
  312. data/spec/unit/functions/include_spec.rb +2 -2
  313. data/spec/unit/functions/inline_epp_spec.rb +1 -1
  314. data/spec/unit/functions/join_spec.rb +33 -0
  315. data/spec/unit/functions/keys_spec.rb +31 -0
  316. data/spec/unit/functions/length_spec.rb +50 -0
  317. data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
  318. data/spec/unit/functions/lookup_spec.rb +52 -0
  319. data/spec/unit/functions/shared.rb +1 -1
  320. data/spec/unit/functions/values_spec.rb +30 -0
  321. data/spec/unit/functions/versioncmp_spec.rb +1 -1
  322. data/spec/unit/functions4_spec.rb +30 -32
  323. data/spec/unit/graph/title_hash_prioritizer_spec.rb +2 -1
  324. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -15
  325. data/spec/unit/indirector/facts/rest_spec.rb +45 -0
  326. data/spec/unit/indirector/facts/yaml_spec.rb +6 -0
  327. data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
  328. data/spec/unit/indirector/indirection_spec.rb +1 -1
  329. data/spec/unit/indirector/node/ldap_spec.rb +2 -2
  330. data/spec/unit/indirector/request_spec.rb +0 -2
  331. data/spec/unit/indirector/rest_spec.rb +2 -2
  332. data/spec/unit/indirector_spec.rb +0 -1
  333. data/spec/unit/info_service_spec.rb +1 -1
  334. data/spec/unit/interface/action_manager_spec.rb +1 -1
  335. data/spec/unit/interface/action_spec.rb +1 -1
  336. data/spec/unit/module_spec.rb +0 -5
  337. data/spec/unit/module_tool/applications/builder_spec.rb +1 -1
  338. data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
  339. data/spec/unit/network/formats_spec.rb +5 -13
  340. data/spec/unit/network/http/api/indirected_routes_spec.rb +6 -2
  341. data/spec/unit/network/http/connection_spec.rb +1 -1
  342. data/spec/unit/network/http/handler_spec.rb +3 -2
  343. data/spec/unit/node/environment_spec.rb +1 -1
  344. data/spec/unit/node_spec.rb +3 -3
  345. data/spec/unit/parser/compiler_spec.rb +9 -2
  346. data/spec/unit/parser/environment_compiler_spec.rb +8 -8
  347. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  348. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
  350. data/spec/unit/parser/functions/realize_spec.rb +1 -1
  351. data/spec/unit/parser/resource_spec.rb +0 -1
  352. data/spec/unit/parser/scope_spec.rb +3 -3
  353. data/spec/unit/parser/type_loader_spec.rb +1 -1
  354. data/spec/unit/pops/adaptable_spec.rb +0 -1
  355. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -3
  356. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -4
  357. data/spec/unit/pops/factory_rspec_helper.rb +1 -1
  358. data/spec/unit/pops/factory_spec.rb +5 -5
  359. data/spec/unit/pops/issues_spec.rb +23 -8
  360. data/spec/unit/pops/loaders/loaders_spec.rb +24 -2
  361. data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
  362. data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
  363. data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
  364. data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
  365. data/spec/unit/pops/parser/lexer2_spec.rb +14 -5
  366. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +9 -9
  367. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -1
  368. data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
  369. data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
  370. data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
  371. data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
  372. data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
  373. data/spec/unit/pops/pn_spec.rb +148 -0
  374. data/spec/unit/pops/types/iterable_spec.rb +1 -1
  375. data/spec/unit/pops/types/p_object_type_spec.rb +5 -5
  376. data/spec/unit/pops/types/p_timespan_type_spec.rb +11 -4
  377. data/spec/unit/pops/types/p_timestamp_type_spec.rb +9 -2
  378. data/spec/unit/pops/types/p_type_set_type_spec.rb +106 -2
  379. data/spec/unit/pops/types/ruby_generator_spec.rb +3 -8
  380. data/spec/unit/pops/types/string_converter_spec.rb +3 -3
  381. data/spec/unit/pops/types/type_calculator_spec.rb +1 -1
  382. data/spec/unit/pops/validator/validator_spec.rb +3 -1
  383. data/spec/unit/property_spec.rb +2 -2
  384. data/spec/unit/provider/aixobject_spec.rb +1 -1
  385. data/spec/unit/provider/cron/crontab_spec.rb +3 -3
  386. data/spec/unit/provider/exec/posix_spec.rb +6 -6
  387. data/spec/unit/provider/group/groupadd_spec.rb +4 -4
  388. data/spec/unit/provider/group/windows_adsi_spec.rb +79 -22
  389. data/spec/unit/provider/ldap_spec.rb +0 -1
  390. data/spec/unit/provider/nameservice_spec.rb +5 -5
  391. data/spec/unit/provider/package/rpm_spec.rb +3 -4
  392. data/spec/unit/provider/package/yum_spec.rb +6 -2
  393. data/spec/unit/provider/parsedfile_spec.rb +1 -1
  394. data/spec/unit/provider/service/base_spec.rb +2 -4
  395. data/spec/unit/provider/service/init_spec.rb +2 -2
  396. data/spec/unit/provider/service/openrc_spec.rb +2 -2
  397. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  398. data/spec/unit/provider/service/smf_spec.rb +2 -0
  399. data/spec/unit/provider/service/systemd_spec.rb +3 -3
  400. data/spec/unit/provider/service/upstart_spec.rb +7 -7
  401. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -4
  402. data/spec/unit/provider/sshkey/parsed_spec.rb +0 -2
  403. data/spec/unit/provider/user/useradd_spec.rb +15 -9
  404. data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
  405. data/spec/unit/provider/yumrepo/inifile_spec.rb +76 -0
  406. data/spec/unit/puppet_pal_2pec.rb +4 -5
  407. data/spec/unit/resource/catalog_spec.rb +8 -3
  408. data/spec/unit/resource/status_spec.rb +15 -4
  409. data/spec/unit/resource/type_spec.rb +2 -3
  410. data/spec/unit/settings_spec.rb +9 -4
  411. data/spec/unit/ssl/certificate_authority_spec.rb +1 -9
  412. data/spec/unit/ssl/certificate_request_spec.rb +1 -2
  413. data/spec/unit/transaction/report_spec.rb +41 -0
  414. data/spec/unit/transaction_spec.rb +1 -1
  415. data/spec/unit/type/exec_spec.rb +7 -9
  416. data/spec/unit/type/file/selinux_spec.rb +0 -1
  417. data/spec/unit/type/file_spec.rb +4 -3
  418. data/spec/unit/type/k5login_spec.rb +79 -10
  419. data/spec/unit/type/mount_spec.rb +1 -1
  420. data/spec/unit/type/nagios_spec.rb +6 -6
  421. data/spec/unit/type/user_spec.rb +1 -1
  422. data/spec/unit/type/yumrepo_spec.rb +18 -0
  423. data/spec/unit/type/zfs_spec.rb +1 -1
  424. data/spec/unit/type_spec.rb +14 -15
  425. data/spec/unit/util/docs_spec.rb +1 -1
  426. data/spec/unit/util/execution_spec.rb +0 -1
  427. data/spec/unit/util/inifile_spec.rb +35 -4
  428. data/spec/unit/util/log/destinations_spec.rb +2 -2
  429. data/spec/unit/util/log_spec.rb +6 -5
  430. data/spec/unit/util/network_device/cisco/device_spec.rb +2 -2
  431. data/spec/unit/util/plist_spec.rb +3 -3
  432. data/spec/unit/util/selinux_spec.rb +2 -2
  433. data/spec/unit/util/tagging_spec.rb +1 -7
  434. data/spec/unit/util/windows/adsi_spec.rb +31 -27
  435. data/spec/unit/util/windows/sid_spec.rb +86 -15
  436. data/spec/unit/util_spec.rb +2 -2
  437. data/spec/watchr.rb +0 -1
  438. data/tasks/benchmark.rake +37 -0
  439. data/tasks/manpages.rake +1 -1
  440. metadata +73 -11
  441. checksums.yaml +0 -7
@@ -1,6 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
2
  require 'spec_helper'
3
- require 'json'
3
+ require 'puppet/util/json'
4
4
  require 'puppet/indirector'
5
5
  require 'puppet/indirector/errors'
6
6
  require 'puppet/indirector/rest'
@@ -52,7 +52,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
52
52
  describe "when the response code is #{code}" do
53
53
  let(:message) { 'error messaged!!!' }
54
54
  let(:body) do
55
- JSON.generate({
55
+ Puppet::Util::Json.dump({
56
56
  :issue_kind => 'server-error',
57
57
  :message => message
58
58
  })
@@ -113,7 +113,6 @@ describe Puppet::Indirector, "when registering an indirection" do
113
113
  end
114
114
 
115
115
  it "should pass any provided options to the indirection during initialization" do
116
- klass = mock 'terminus class'
117
116
  Puppet::Indirector::Indirection.expects(:new).with(@thingie, :first, {:some => :options, :indirected_class => 'Thingie'})
118
117
  @indirection = @thingie.indirects :first, :some => :options
119
118
  end
@@ -20,7 +20,7 @@ describe "Puppet::InfoService" do
20
20
  context 'tasks_per_environment method' do
21
21
  it "returns task data for the tasks in an environment" do
22
22
  Puppet.override(:environments => env_loader) do
23
- mod = PuppetSpec::Modules.create(mod_name, modpath, {:environment => env, :tasks => [['thingtask']]})
23
+ PuppetSpec::Modules.create(mod_name, modpath, {:environment => env, :tasks => [['thingtask']]})
24
24
  expect(Puppet::InfoService.tasks_per_environment(env_name)).to eq([{:name => task_name, :module => {:name => mod_name}}])
25
25
  end
26
26
  end
@@ -232,7 +232,7 @@ describe Puppet::Interface::ActionManager do
232
232
  when_invoked do |options| true end
233
233
  default
234
234
  }
235
- }.to raise_error /cannot both be default/
235
+ }.to raise_error(/cannot both be default/)
236
236
  end
237
237
  end
238
238
 
@@ -246,7 +246,7 @@ describe Puppet::Interface::Action do
246
246
  face = Puppet::Interface.new(:with_options, '0.0.1') do
247
247
  action(:foo) do
248
248
  when_invoked do |options| true end
249
- self.instance_eval &block
249
+ self.instance_eval(&block)
250
250
  end
251
251
  end
252
252
  face.get_action(:foo)
@@ -169,7 +169,6 @@ describe Puppet::Module do
169
169
  end
170
170
 
171
171
  it "should list modules that are missing" do
172
- metadata_file = "#{@modpath}/needy/metadata.json"
173
172
  mod = PuppetSpec::Modules.create(
174
173
  'needy',
175
174
  @modpath,
@@ -194,7 +193,6 @@ describe Puppet::Module do
194
193
  end
195
194
 
196
195
  it "should list modules that are missing and have invalid names" do
197
- metadata_file = "#{@modpath}/needy/metadata.json"
198
196
  mod = PuppetSpec::Modules.create(
199
197
  'needy',
200
198
  @modpath,
@@ -224,8 +222,6 @@ describe Puppet::Module do
224
222
  ['test_gte_req', 'test_specific_req', 'foobar'].each do |mod_name|
225
223
  mod_dir = "#{@modpath}/#{mod_name}"
226
224
  metadata_file = "#{mod_dir}/metadata.json"
227
- tasks_dir = "#{mod_dir}/tasks"
228
- locale_dir = "#{mod_dir}/locales"
229
225
  Puppet::FileSystem.stubs(:exist?).with(metadata_file).returns true
230
226
  end
231
227
  mod = PuppetSpec::Modules.create(
@@ -305,7 +301,6 @@ describe Puppet::Module do
305
301
  it "should consider a dependency without a semantic version to be unmet" do
306
302
  env = Puppet::Node::Environment.create(:testing, [@modpath])
307
303
 
308
- metadata_file = "#{@modpath}/foobar/metadata.json"
309
304
  mod = PuppetSpec::Modules.create(
310
305
  'foobar',
311
306
  @modpath,
@@ -27,7 +27,7 @@ describe Puppet::ModuleTool::Applications::Builder do
27
27
  builder.run
28
28
  end
29
29
 
30
- def create_regular_files
30
+ def create_regular_files
31
31
  Puppet::FileSystem.touch(File.join(path, '.dotfile'))
32
32
  Puppet::FileSystem.touch(File.join(path, 'file.foo'))
33
33
  Puppet::FileSystem.touch(File.join(path, 'REVISION'))
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
- require 'json'
2
+ require 'puppet/util/json'
3
3
 
4
4
  require 'puppet/module_tool/applications'
5
5
  require 'puppet/file_system'
@@ -23,7 +23,7 @@ describe Puppet::ModuleTool::Applications::Unpacker do
23
23
  untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
24
24
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
25
25
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
26
- file.puts JSON.generate('name' => module_name, 'version' => '1.0.0')
26
+ file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
27
27
  end
28
28
  true
29
29
  end
@@ -39,7 +39,7 @@ describe Puppet::ModuleTool::Applications::Unpacker do
39
39
  untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
40
40
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
41
41
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
42
- file.puts JSON.generate('name' => module_name, 'version' => '1.0.0')
42
+ file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
43
43
  end
44
44
  FileUtils.touch(File.join(dest, 'extractedmodule/tempfile'))
45
45
  Puppet::FileSystem.symlink(File.join(dest, 'extractedmodule/tempfile'), File.join(dest, 'extractedmodule/tempfile2'))
@@ -58,7 +58,7 @@ describe Puppet::ModuleTool::Applications::Unpacker do
58
58
  untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
59
59
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
60
60
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
61
- file.puts JSON.generate('name' => module_name, 'version' => '1.0.0')
61
+ file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
62
62
  end
63
63
  FileUtils.mkdir(File.join(dest, 'extractedmodule/manifests'))
64
64
  FileUtils.touch(File.join(dest, 'extractedmodule/manifests/tempfile'))
@@ -333,14 +333,6 @@ describe "Puppet Network Format" do
333
333
  expect(json.weight).to eq(15)
334
334
  end
335
335
 
336
- it "should use a native parser implementation" do
337
- expect(JSON.parser.name).to eq("JSON::Ext::Parser")
338
- end
339
-
340
- it "should use a native generator implementation" do
341
- expect(JSON.generator.name).to eq("JSON::Ext::Generator")
342
- end
343
-
344
336
  it "should render an instance as JSON" do
345
337
  instance = FormatsTest.new("foo")
346
338
  expect(json.render(instance)).to eq({"string" => "foo"}.to_json)
@@ -352,20 +344,20 @@ describe "Puppet Network Format" do
352
344
  end
353
345
 
354
346
  it "should intern an instance from a JSON hash" do
355
- text = JSON.dump({"string" => "parsed_json"})
347
+ text = Puppet::Util::Json.dump({"string" => "parsed_json"})
356
348
  instance = json.intern(FormatsTest, text)
357
349
  expect(instance.string).to eq("parsed_json")
358
350
  end
359
351
 
360
352
  it "should skip data_to_hash if data is already an instance of the specified class" do
361
353
  # The rest terminus for the report indirected type relies on this behavior
362
- data = JSON.dump([1, 2])
354
+ data = Puppet::Util::Json.dump([1, 2])
363
355
  instance = json.intern(Array, data)
364
356
  expect(instance).to eq([1, 2])
365
357
  end
366
358
 
367
359
  it "should intern multiple instances from a JSON array of hashes" do
368
- text = JSON.dump(
360
+ text = Puppet::Util::Json.dump(
369
361
  [
370
362
  {
371
363
  "string" => "BAR"
@@ -379,7 +371,7 @@ describe "Puppet Network Format" do
379
371
  end
380
372
 
381
373
  it "should reject wrapped data from legacy clients as they've never supported JSON" do
382
- text = JSON.dump(
374
+ text = Puppet::Util::Json.dump(
383
375
  {
384
376
  "type" => "FormatsTest",
385
377
  "data" => {
@@ -394,7 +386,7 @@ describe "Puppet Network Format" do
394
386
  it "fails intelligibly when given invalid data" do
395
387
  expect do
396
388
  json.intern(Puppet::Node, '')
397
- end.to raise_error(JSON::ParserError, /A JSON text must at least contain two octets|unexpected token at ''/)
389
+ end.to raise_error(Puppet::Util::Json::ParseError)
398
390
  end
399
391
  end
400
392
 
@@ -106,6 +106,10 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
106
106
  expect(handler.uri2indirection("GET", "#{master_url_prefix}/nodes/bar", params)[1]).to eq(:search)
107
107
  end
108
108
 
109
+ it "should choose 'save' as the indirection method if the http method is a PUT and the indirection name is facts" do
110
+ expect(handler.uri2indirection("PUT", "#{master_url_prefix}/facts/puppet.node.test", params)[0].name).to eq(:facts)
111
+ end
112
+
109
113
  it "should change indirection name to 'status' if the http method is a GET and the indirection name is statuses" do
110
114
  expect(handler.uri2indirection("GET", "#{master_url_prefix}/statuses/bar", params)[0].name).to eq(:status)
111
115
  end
@@ -128,7 +132,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
128
132
 
129
133
  it "should not URI unescape the indirection key" do
130
134
  escaped = Puppet::Util.uri_encode("foo bar")
131
- indirection, _, key, _ = handler.uri2indirection("GET", "#{master_url_prefix}/node/#{escaped}", params)
135
+ _, _, key, _ = handler.uri2indirection("GET", "#{master_url_prefix}/node/#{escaped}", params)
132
136
  expect(key).to eq(escaped)
133
137
  end
134
138
 
@@ -136,7 +140,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
136
140
  key_escaped = Puppet::Util.uri_encode("foo bar")
137
141
  uri_escaped = "#{master_url_prefix}/node/#{key_escaped}"
138
142
  handler.expects(:check_authorization).with(anything, uri_escaped, anything)
139
- indirection, _, _, _ = handler.uri2indirection("GET", uri_escaped, params)
143
+ _, _, _, _ = handler.uri2indirection("GET", uri_escaped, params)
140
144
  end
141
145
 
142
146
  it "should not pass through an environment to check_authorization and fail if the environment is unknown" do
@@ -344,7 +344,7 @@ describe Puppet::Network::HTTP::Connection do
344
344
 
345
345
  ::Kernel.expects(:sleep).with(30)
346
346
 
347
- result = subject.get('/foo')
347
+ subject.get('/foo')
348
348
  end
349
349
  end
350
350
 
@@ -52,9 +52,10 @@ describe Puppet::Network::HTTP::Handler do
52
52
 
53
53
  it "raises an error if multiple routes with the same path regex are registered" do
54
54
  expect do
55
- handler = PuppetSpec::Handler.new(
55
+ PuppetSpec::Handler.new(
56
56
  Puppet::Network::HTTP::Route.path(%r{^/foo}).get(respond("ignored")),
57
- Puppet::Network::HTTP::Route.path(%r{^/foo}).post(respond("also ignored")))
57
+ Puppet::Network::HTTP::Route.path(%r{^/foo}).post(respond("also ignored"))
58
+ )
58
59
  end.to raise_error(ArgumentError)
59
60
  end
60
61
 
@@ -353,7 +353,7 @@ describe Puppet::Node::Environment do
353
353
  end
354
354
 
355
355
  it "does not find modules with same name by the wrong author" do
356
- mod = PuppetSpec::Modules.create(
356
+ PuppetSpec::Modules.create(
357
357
  'baz',
358
358
  first_modulepath,
359
359
  :metadata => {:author => 'sneakylabs'},
@@ -58,7 +58,7 @@ describe Puppet::Node do
58
58
  end
59
59
 
60
60
  it "can round-trip through json" do
61
- facts = Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
61
+ Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
62
62
  node = Puppet::Node.new("hello",
63
63
  :environment => 'bar',
64
64
  :classes => ['erth', 'aiu'],
@@ -72,7 +72,7 @@ describe Puppet::Node do
72
72
  end
73
73
 
74
74
  it "validates against the node json schema", :unless => Puppet.features.microsoft_windows? do
75
- facts = Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
75
+ Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
76
76
  node = Puppet::Node.new("hello",
77
77
  :environment => 'bar',
78
78
  :classes => ['erth', 'aiu'],
@@ -82,7 +82,7 @@ describe Puppet::Node do
82
82
  end
83
83
 
84
84
  it "when missing optional parameters validates against the node json schema", :unless => Puppet.features.microsoft_windows? do
85
- facts = Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
85
+ Puppet::Node::Facts.new("hello", "one" => "c", "two" => "b")
86
86
  node = Puppet::Node.new("hello",
87
87
  :environment => 'bar'
88
88
  )
@@ -235,7 +235,6 @@ describe Puppet::Parser::Compiler do
235
235
  end
236
236
 
237
237
  it "should set the parent scope of the new scope to its topscope if the parent passed in is nil" do
238
- scope = mock 'scope'
239
238
  newscope = @compiler.newscope(nil)
240
239
 
241
240
  expect(newscope.parent).to equal(@compiler.topscope)
@@ -279,6 +278,14 @@ describe Puppet::Parser::Compiler do
279
278
  expect(@compiler.topscope['wat']).to eq('this is how the sausage is made')
280
279
  end
281
280
 
281
+ it "sets the environment based on node.environment instead of the parameters" do
282
+ compile_stub(:set_node_parameters)
283
+ @node.parameters['environment'] = "Not actually #{@node.environment.name}"
284
+
285
+ @compiler.compile
286
+ expect(@compiler.topscope['environment']).to eq('testing')
287
+ end
288
+
282
289
  it "should set the client and server versions on the catalog" do
283
290
  params = {"clientversion" => "2", "serverversion" => "3"}
284
291
  @node.stubs(:parameters).returns(params)
@@ -725,7 +732,7 @@ describe Puppet::Parser::Compiler do
725
732
  end
726
733
 
727
734
  it "should ensure class is in catalog without params" do
728
- @node.classes = klasses = {'foo'=>nil}
735
+ @node.classes = {'foo'=>nil}
729
736
  foo = Puppet::Resource::Type.new(:hostclass, 'foo')
730
737
  @compiler.environment.known_resource_types.add foo
731
738
  catalog = @compiler.compile
@@ -490,19 +490,19 @@ EOS
490
490
  describe "in the environment catalog" do
491
491
  it "does not fail if there is no site expression" do
492
492
  expect {
493
- catalog = compile_to_env_catalog(<<-EOC).to_resource
494
- notify { 'ignore me':}
495
- EOC
493
+ compile_to_env_catalog(<<-EOC).to_resource
494
+ notify { 'ignore me':}
495
+ EOC
496
496
  }.to_not raise_error()
497
497
  end
498
498
 
499
499
  it "ignores usage of hiera_include() at topscope for classification" do
500
- Puppet.expects(:debug).with(regexp_matches /Ignoring hiera_include/)
500
+ Puppet.expects(:debug).with(regexp_matches(/Ignoring hiera_include/))
501
501
 
502
502
  expect {
503
- catalog = compile_to_env_catalog(<<-EOC).to_resource
504
- hiera_include('classes')
505
- site { }
503
+ compile_to_env_catalog(<<-EOC).to_resource
504
+ hiera_include('classes')
505
+ site { }
506
506
  EOC
507
507
  }.to_not raise_error()
508
508
 
@@ -598,7 +598,7 @@ EOS
598
598
 
599
599
  it "fails if there are non component resources in the site" do
600
600
  expect {
601
- catalog = compile_to_env_catalog(MANIFEST_WITH_ILLEGAL_RESOURCE).to_resource
601
+ compile_to_env_catalog(MANIFEST_WITH_ILLEGAL_RESOURCE).to_resource
602
602
  }.to raise_error(/Only application components can appear inside a site - Notify\[fail me\] is not allowed \(line: 20\)/)
603
603
  end
604
604
  end
@@ -328,7 +328,7 @@ describe 'function for dynamically creating resources' do
328
328
  it 'is not available when --tasks is on' do
329
329
  Puppet[:tasks] = true
330
330
  expect do
331
- catalog = compile_to_catalog(<<-MANIFEST)
331
+ compile_to_catalog(<<-MANIFEST)
332
332
  create_resources('class', {'bar'=>{}}, {'one' => 'two'})
333
333
  MANIFEST
334
334
  end.to raise_error(Puppet::ParseError, /is only available when compiling a catalog/)
@@ -23,6 +23,6 @@ describe "the 'fail' parser function" do
23
23
  end
24
24
 
25
25
  it "should join arguments into a string in the error" do
26
- expect { scope.function_fail(["hello", "world"]) }.to raise_error /hello world/
26
+ expect { scope.function_fail(["hello", "world"]) }.to raise_error(/hello world/)
27
27
  end
28
28
  end
@@ -38,6 +38,30 @@ describe "the fqdn_rand function" do
38
38
  expect(val1).not_to eql(val2)
39
39
  end
40
40
 
41
+ it "should return a specific value with given set of inputs on non-fips enabled host" do
42
+ Puppet::Util::Platform.stubs(:fips_enabled?).returns false
43
+
44
+ expect(fqdn_rand(3000, :host => 'dummy.fqdn.net')).to eql(338)
45
+ end
46
+
47
+ it "should return a specific value with given set of inputs on fips enabled host" do
48
+ Puppet::Util::Platform.stubs(:fips_enabled?).returns true
49
+
50
+ expect(fqdn_rand(3000, :host => 'dummy.fqdn.net')).to eql(278)
51
+ end
52
+
53
+ it "should return a specific value with given seed on a non-fips enabled host" do
54
+ Puppet::Util::Platform.stubs(:fips_enabled?).returns false
55
+
56
+ expect(fqdn_rand(5000, :extra_identifier => ['expensive job 33'])).to eql(3374)
57
+ end
58
+
59
+ it "should return a specific value with given seed on a fips enabled host" do
60
+ Puppet::Util::Platform.stubs(:fips_enabled?).returns true
61
+
62
+ expect(fqdn_rand(5000, :extra_identifier => ['expensive job 33'])).to eql(2389)
63
+ end
64
+
41
65
  def fqdn_rand(max, args = {})
42
66
  host = args[:host] || '127.0.0.1'
43
67
  extra = args[:extra_identifier] || []
@@ -62,7 +62,7 @@ describe "the realize function" do
62
62
  it 'is not available when --tasks is on' do
63
63
  Puppet[:tasks] = true
64
64
  expect do
65
- catalog = compile_to_catalog(<<-MANIFEST)
65
+ compile_to_catalog(<<-MANIFEST)
66
66
  realize([])
67
67
  MANIFEST
68
68
  end.to raise_error(Puppet::ParseError, /is only available when compiling a catalog/)
@@ -177,7 +177,6 @@ describe Puppet::Parser::Resource do
177
177
  end
178
178
 
179
179
  it "should add edges from the class resources to the parent's stage if no stage is specified" do
180
- main = @compiler.catalog.resource(:stage, :main)
181
180
  foo_stage = Puppet::Parser::Resource.new(:stage, :foo_stage, :scope => @scope, :catalog => @catalog)
182
181
  @compiler.add_resource(@scope, foo_stage)
183
182
  @compiler.environment.known_resource_types.add Puppet::Resource::Type.new(:hostclass, "foo", {})
@@ -294,13 +294,13 @@ describe Puppet::Parser::Scope do
294
294
  end
295
295
 
296
296
  it "should return nil for qualified variables that cannot be found in other classes" do
297
- other_scope = create_class_scope("other::deep::klass")
297
+ create_class_scope("other::deep::klass")
298
298
 
299
299
  expect(@scope["other::deep::klass::var"]).to be_nil
300
300
  end
301
301
 
302
302
  it "should warn and return nil for qualified variables whose classes have not been evaluated" do
303
- klass = newclass("other::deep::klass")
303
+ newclass("other::deep::klass")
304
304
  Puppet.expects(:warn_once)
305
305
  expect(@scope["other::deep::klass::var"]).to be_nil
306
306
  end
@@ -316,7 +316,7 @@ describe Puppet::Parser::Scope do
316
316
 
317
317
  it "should return nil when asked for a non-string qualified variable from a class that has not been evaluated" do
318
318
  @scope.stubs(:warning)
319
- klass = newclass("other::deep::klass")
319
+ newclass("other::deep::klass")
320
320
  expect(@scope["other::deep::klass::var"]).to be_nil
321
321
  end
322
322
  end
@@ -161,7 +161,7 @@ describe Puppet::Parser::TypeLoader do
161
161
  end
162
162
 
163
163
  it "should skip modules that don't have manifests" do
164
- module1 = mk_module(modulebase1, "one")
164
+ mk_module(modulebase1, "one")
165
165
  module2 = mk_module(modulebase2, "two")
166
166
  mk_manifests(modulebase2, module2, %w{c d})
167
167