puppet 5.5.22 → 6.0.0

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 (1407) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +46 -72
  3. data/Gemfile.lock +86 -102
  4. data/MAINTAINERS +47 -0
  5. data/Rakefile +15 -19
  6. data/ext/build_defaults.yaml +0 -1
  7. data/ext/cert_inspector +3 -3
  8. data/ext/debian/copyright +0 -22
  9. data/ext/project_data.yaml +8 -10
  10. data/ext/puppet-test +2 -2
  11. data/ext/redhat/puppet.spec.erb +0 -4
  12. data/ext/regexp_nodes/regexp_nodes.rb +4 -4
  13. data/ext/solaris/smf/puppet.xml +0 -2
  14. data/ext/solaris/smf/svc-puppetd +1 -8
  15. data/ext/solaris/smf/svc-puppetmasterd +1 -8
  16. data/ext/windows/eventlog/Rakefile +32 -0
  17. data/ext/windows/eventlog/puppetres.dll +0 -0
  18. data/ext/windows/eventlog/puppetres.mc +18 -0
  19. data/ext/windows/service/daemon.rb +8 -54
  20. data/install.rb +24 -6
  21. data/lib/hiera/scope.rb +0 -7
  22. data/lib/puppet.rb +10 -21
  23. data/lib/puppet/agent.rb +13 -5
  24. data/lib/puppet/application.rb +10 -8
  25. data/lib/puppet/application/agent.rb +3 -21
  26. data/lib/puppet/application/apply.rb +22 -12
  27. data/lib/puppet/application/cert.rb +25 -180
  28. data/lib/puppet/application/describe.rb +9 -3
  29. data/lib/puppet/application/device.rb +41 -74
  30. data/lib/puppet/application/doc.rb +5 -3
  31. data/lib/puppet/application/filebucket.rb +1 -23
  32. data/lib/puppet/application/lookup.rb +2 -2
  33. data/lib/puppet/application/resource.rb +4 -4
  34. data/lib/puppet/application/script.rb +3 -3
  35. data/lib/puppet/application/ssl.rb +133 -0
  36. data/lib/puppet/application_support.rb +1 -2
  37. data/lib/puppet/configurer.rb +62 -127
  38. data/lib/puppet/configurer/downloader.rb +17 -34
  39. data/lib/puppet/configurer/fact_handler.rb +5 -1
  40. data/lib/puppet/configurer/plugin_handler.rb +2 -3
  41. data/lib/puppet/confine/false.rb +1 -7
  42. data/lib/puppet/confine/true.rb +1 -7
  43. data/lib/puppet/daemon.rb +2 -2
  44. data/lib/puppet/datatypes.rb +1 -1
  45. data/lib/puppet/defaults.rb +126 -286
  46. data/lib/puppet/environments.rb +2 -7
  47. data/lib/puppet/error.rb +14 -10
  48. data/lib/puppet/etc.rb +4 -25
  49. data/lib/puppet/external/dot.rb +23 -17
  50. data/lib/puppet/face/config.rb +50 -12
  51. data/lib/puppet/face/epp.rb +2 -2
  52. data/lib/puppet/face/facts.rb +1 -1
  53. data/lib/puppet/face/help.rb +21 -7
  54. data/lib/puppet/face/help/global.erb +2 -2
  55. data/lib/puppet/face/module/build.rb +4 -59
  56. data/lib/puppet/face/module/generate.rb +5 -247
  57. data/lib/puppet/face/module/install.rb +0 -4
  58. data/lib/puppet/face/module/list.rb +5 -10
  59. data/lib/puppet/face/module/search.rb +2 -2
  60. data/lib/puppet/face/module/uninstall.rb +1 -5
  61. data/lib/puppet/face/module/upgrade.rb +1 -5
  62. data/lib/puppet/face/node/clean.rb +14 -10
  63. data/lib/puppet/face/plugin.rb +2 -9
  64. data/lib/puppet/feature/base.rb +7 -26
  65. data/lib/puppet/feature/eventlog.rb +1 -1
  66. data/lib/puppet/file_bucket/dipper.rb +1 -1
  67. data/lib/puppet/file_serving/base.rb +7 -7
  68. data/lib/puppet/file_serving/fileset.rb +2 -2
  69. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  70. data/lib/puppet/file_serving/metadata.rb +4 -3
  71. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  72. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  73. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  74. data/lib/puppet/file_system.rb +8 -0
  75. data/lib/puppet/file_system/memory_file.rb +1 -1
  76. data/lib/puppet/file_system/posix.rb +2 -3
  77. data/lib/puppet/file_system/uniquefile.rb +0 -4
  78. data/lib/puppet/forge.rb +8 -12
  79. data/lib/puppet/functions.rb +138 -0
  80. data/lib/puppet/functions/abs.rb +61 -0
  81. data/lib/puppet/functions/call.rb +38 -2
  82. data/lib/puppet/functions/camelcase.rb +62 -0
  83. data/lib/puppet/functions/capitalize.rb +61 -0
  84. data/lib/puppet/functions/ceiling.rb +37 -0
  85. data/lib/puppet/functions/chomp.rb +57 -0
  86. data/lib/puppet/functions/chop.rb +67 -0
  87. data/lib/puppet/functions/compare.rb +125 -0
  88. data/lib/puppet/functions/convert_to.rb +3 -2
  89. data/lib/puppet/functions/dig.rb +21 -1
  90. data/lib/puppet/functions/downcase.rb +89 -0
  91. data/lib/puppet/functions/epp.rb +4 -4
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +4 -5
  93. data/lib/puppet/functions/filter.rb +7 -6
  94. data/lib/puppet/functions/floor.rb +37 -0
  95. data/lib/puppet/functions/get.rb +150 -0
  96. data/lib/puppet/functions/getvar.rb +87 -0
  97. data/lib/puppet/functions/inline_epp.rb +5 -5
  98. data/lib/puppet/functions/lstrip.rb +58 -0
  99. data/lib/puppet/functions/max.rb +183 -0
  100. data/lib/puppet/functions/min.rb +182 -0
  101. data/lib/puppet/functions/new.rb +3 -8
  102. data/lib/puppet/functions/reduce.rb +4 -2
  103. data/lib/puppet/functions/reverse_each.rb +1 -1
  104. data/lib/puppet/functions/round.rb +24 -0
  105. data/lib/puppet/functions/rstrip.rb +58 -0
  106. data/lib/puppet/functions/size.rb +15 -0
  107. data/lib/puppet/functions/sort.rb +74 -0
  108. data/lib/puppet/functions/step.rb +1 -1
  109. data/lib/puppet/functions/strip.rb +58 -0
  110. data/lib/puppet/functions/upcase.rb +89 -0
  111. data/lib/puppet/functions/yaml_data.rb +4 -5
  112. data/lib/puppet/gettext/config.rb +1 -1
  113. data/lib/puppet/gettext/module_translations.rb +1 -1
  114. data/lib/puppet/graph.rb +0 -2
  115. data/lib/puppet/graph/rb_tree_map.rb +2 -2
  116. data/lib/puppet/graph/simple_graph.rb +10 -7
  117. data/lib/puppet/indirector/catalog/compiler.rb +0 -8
  118. data/lib/puppet/indirector/catalog/json.rb +14 -3
  119. data/lib/puppet/indirector/catalog/yaml.rb +0 -16
  120. data/lib/puppet/indirector/certificate/file.rb +0 -1
  121. data/lib/puppet/indirector/facts/yaml.rb +4 -2
  122. data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
  123. data/lib/puppet/indirector/hiera.rb +0 -6
  124. data/lib/puppet/indirector/indirection.rb +8 -12
  125. data/lib/puppet/indirector/key/file.rb +1 -6
  126. data/lib/puppet/indirector/node/exec.rb +1 -3
  127. data/lib/puppet/indirector/node/yaml.rb +0 -6
  128. data/lib/puppet/indirector/request.rb +20 -27
  129. data/lib/puppet/indirector/resource/ral.rb +3 -1
  130. data/lib/puppet/indirector/resource/validator.rb +1 -1
  131. data/lib/puppet/indirector/rest.rb +7 -65
  132. data/lib/puppet/indirector/ssl_file.rb +3 -44
  133. data/lib/puppet/indirector/terminus.rb +1 -1
  134. data/lib/puppet/indirector/yaml.rb +4 -4
  135. data/lib/puppet/info_service/task_information_service.rb +7 -3
  136. data/lib/puppet/interface.rb +2 -3
  137. data/lib/puppet/interface/action.rb +2 -5
  138. data/lib/puppet/interface/face_collection.rb +3 -1
  139. data/lib/puppet/loaders.rb +2 -0
  140. data/lib/puppet/metatype/manager.rb +3 -5
  141. data/lib/puppet/module.rb +5 -31
  142. data/lib/puppet/module/task.rb +208 -30
  143. data/lib/puppet/module_tool.rb +2 -5
  144. data/lib/puppet/module_tool/applications.rb +0 -1
  145. data/lib/puppet/module_tool/applications/application.rb +1 -1
  146. data/lib/puppet/module_tool/applications/installer.rb +7 -8
  147. data/lib/puppet/module_tool/applications/uninstaller.rb +4 -5
  148. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  149. data/lib/puppet/module_tool/applications/upgrader.rb +5 -6
  150. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  151. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  152. data/lib/puppet/module_tool/metadata.rb +1 -2
  153. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  154. data/lib/puppet/module_tool/tar/mini.rb +2 -12
  155. data/lib/puppet/network/authconfig.rb +0 -13
  156. data/lib/puppet/network/format_support.rb +13 -8
  157. data/lib/puppet/network/formats.rb +93 -2
  158. data/lib/puppet/network/http.rb +0 -2
  159. data/lib/puppet/network/http/api.rb +1 -10
  160. data/lib/puppet/network/http/api/indirected_routes.rb +22 -16
  161. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -3
  162. data/lib/puppet/network/http/connection.rb +14 -57
  163. data/lib/puppet/network/http/factory.rb +13 -7
  164. data/lib/puppet/network/http/handler.rb +59 -27
  165. data/lib/puppet/network/http/pool.rb +1 -7
  166. data/lib/puppet/network/http/site.rb +1 -1
  167. data/lib/puppet/network/resolver.rb +140 -67
  168. data/lib/puppet/node.rb +1 -2
  169. data/lib/puppet/node/environment.rb +5 -30
  170. data/lib/puppet/node/facts.rb +11 -1
  171. data/lib/puppet/parameter.rb +4 -7
  172. data/lib/puppet/parser/ast.rb +5 -9
  173. data/lib/puppet/parser/ast/branch.rb +3 -3
  174. data/lib/puppet/parser/ast/leaf.rb +5 -0
  175. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  176. data/lib/puppet/parser/catalog_compiler.rb +32 -0
  177. data/lib/puppet/parser/compiler.rb +2 -3
  178. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -2
  179. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -2
  180. data/lib/puppet/parser/environment_compiler.rb +0 -3
  181. data/lib/puppet/parser/functions.rb +48 -18
  182. data/lib/puppet/parser/functions/epp.rb +3 -3
  183. data/lib/puppet/parser/functions/filter.rb +1 -1
  184. data/lib/puppet/parser/functions/generate.rb +1 -1
  185. data/lib/puppet/parser/functions/inline_epp.rb +5 -5
  186. data/lib/puppet/parser/resource.rb +2 -4
  187. data/lib/puppet/parser/resource/param.rb +12 -11
  188. data/lib/puppet/parser/scope.rb +6 -8
  189. data/lib/puppet/parser/script_compiler.rb +7 -2
  190. data/lib/puppet/pops.rb +1 -0
  191. data/lib/puppet/pops/adaptable.rb +13 -7
  192. data/lib/puppet/pops/adapters.rb +18 -8
  193. data/lib/puppet/pops/evaluator/access_operator.rb +2 -2
  194. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +4 -4
  195. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
  196. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
  197. data/lib/puppet/pops/evaluator/compare_operator.rb +3 -1
  198. data/lib/puppet/pops/evaluator/deferred_resolver.rb +127 -0
  199. data/lib/puppet/pops/evaluator/evaluator_impl.rb +17 -2
  200. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -3
  201. data/lib/puppet/pops/evaluator/runtime3_converter.rb +23 -4
  202. data/lib/puppet/pops/evaluator/runtime3_support.rb +7 -8
  203. data/lib/puppet/pops/functions/dispatch.rb +6 -0
  204. data/lib/puppet/pops/issues.rb +9 -10
  205. data/lib/puppet/pops/loader/loader.rb +1 -1
  206. data/lib/puppet/pops/loader/loader_paths.rb +5 -3
  207. data/lib/puppet/pops/loader/module_loaders.rb +47 -21
  208. data/lib/puppet/pops/loader/null_loader.rb +60 -0
  209. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +54 -0
  210. data/lib/puppet/pops/loader/static_loader.rb +0 -36
  211. data/lib/puppet/pops/loader/task_instantiator.rb +72 -44
  212. data/lib/puppet/pops/loaders.rb +21 -33
  213. data/lib/puppet/pops/lookup/hiera_config.rb +1 -2
  214. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  215. data/lib/puppet/pops/merge_strategy.rb +18 -22
  216. data/lib/puppet/pops/model/ast.pp +16 -0
  217. data/lib/puppet/pops/model/ast.rb +94 -0
  218. data/lib/puppet/pops/model/factory.rb +17 -38
  219. data/lib/puppet/pops/model/model_label_provider.rb +8 -1
  220. data/lib/puppet/pops/parser/egrammar.ra +14 -3
  221. data/lib/puppet/pops/parser/eparser.rb +1537 -1492
  222. data/lib/puppet/pops/parser/epp_support.rb +6 -2
  223. data/lib/puppet/pops/parser/heredoc_support.rb +8 -17
  224. data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
  225. data/lib/puppet/pops/parser/lexer2.rb +2 -7
  226. data/lib/puppet/pops/parser/locator.rb +87 -107
  227. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  228. data/lib/puppet/pops/parser/pn_parser.rb +16 -17
  229. data/lib/puppet/pops/pcore.rb +19 -8
  230. data/lib/puppet/pops/puppet_stack.rb +48 -51
  231. data/lib/puppet/pops/resource/resource_type_impl.rb +0 -2
  232. data/lib/puppet/pops/serialization.rb +3 -2
  233. data/lib/puppet/pops/serialization/from_data_converter.rb +4 -3
  234. data/lib/puppet/pops/serialization/to_data_converter.rb +3 -3
  235. data/lib/puppet/pops/serialization/to_stringified_converter.rb +226 -0
  236. data/lib/puppet/pops/types/iterable.rb +8 -34
  237. data/lib/puppet/pops/types/p_binary_type.rb +1 -2
  238. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  239. data/lib/puppet/pops/types/p_object_type.rb +3 -0
  240. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  241. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  242. data/lib/puppet/pops/types/p_type_set_type.rb +0 -4
  243. data/lib/puppet/pops/types/string_converter.rb +12 -21
  244. data/lib/puppet/pops/types/type_calculator.rb +0 -24
  245. data/lib/puppet/pops/types/type_factory.rb +17 -0
  246. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  247. data/lib/puppet/pops/types/types.rb +7 -32
  248. data/lib/puppet/pops/validation/checker4_0.rb +23 -33
  249. data/lib/puppet/pops/validation/tasks_checker.rb +47 -6
  250. data/lib/puppet/pops/validation/validator_factory_4_0.rb +7 -10
  251. data/lib/puppet/property.rb +1 -1
  252. data/lib/puppet/property/ensure.rb +1 -1
  253. data/lib/puppet/provider.rb +14 -2
  254. data/lib/puppet/provider/exec.rb +58 -59
  255. data/lib/puppet/provider/file/posix.rb +0 -5
  256. data/lib/puppet/provider/file/windows.rb +2 -50
  257. data/lib/puppet/provider/group/aix.rb +2 -18
  258. data/lib/puppet/provider/group/groupadd.rb +19 -19
  259. data/lib/puppet/provider/group/windows_adsi.rb +4 -11
  260. data/lib/puppet/provider/nameservice.rb +28 -11
  261. data/lib/puppet/provider/nameservice/directoryservice.rb +1 -1
  262. data/lib/puppet/provider/nameservice/pw.rb +2 -2
  263. data/lib/puppet/provider/package.rb +0 -2
  264. data/lib/puppet/provider/package/aix.rb +2 -17
  265. data/lib/puppet/provider/package/apt.rb +3 -14
  266. data/lib/puppet/provider/package/dnf.rb +3 -3
  267. data/lib/puppet/provider/package/dpkg.rb +7 -18
  268. data/lib/puppet/provider/package/fink.rb +3 -20
  269. data/lib/puppet/provider/package/gem.rb +43 -105
  270. data/lib/puppet/provider/package/openbsd.rb +2 -14
  271. data/lib/puppet/provider/package/pip.rb +108 -160
  272. data/lib/puppet/provider/package/pip3.rb +1 -1
  273. data/lib/puppet/provider/package/pkg.rb +5 -18
  274. data/lib/puppet/provider/package/pkgdmg.rb +1 -1
  275. data/lib/puppet/provider/package/pkgng.rb +4 -16
  276. data/lib/puppet/provider/package/portage.rb +6 -6
  277. data/lib/puppet/provider/package/puppet_gem.rb +2 -7
  278. data/lib/puppet/provider/package/rpm.rb +33 -82
  279. data/lib/puppet/provider/package/windows.rb +2 -6
  280. data/lib/puppet/provider/package/windows/exe_package.rb +10 -16
  281. data/lib/puppet/provider/package/windows/msi_package.rb +0 -8
  282. data/lib/puppet/provider/package/windows/package.rb +2 -10
  283. data/lib/puppet/provider/package/yum.rb +25 -37
  284. data/lib/puppet/provider/package/zypper.rb +0 -1
  285. data/lib/puppet/provider/parsedfile.rb +5 -26
  286. data/lib/puppet/provider/service/base.rb +1 -1
  287. data/lib/puppet/provider/service/daemontools.rb +9 -9
  288. data/lib/puppet/provider/service/debian.rb +1 -0
  289. data/lib/puppet/provider/service/launchd.rb +8 -39
  290. data/lib/puppet/provider/service/openbsd.rb +1 -1
  291. data/lib/puppet/provider/service/rcng.rb +2 -2
  292. data/lib/puppet/provider/service/runit.rb +8 -2
  293. data/lib/puppet/provider/service/smf.rb +0 -54
  294. data/lib/puppet/provider/service/systemd.rb +24 -35
  295. data/lib/puppet/provider/service/upstart.rb +1 -3
  296. data/lib/puppet/provider/service/windows.rb +3 -23
  297. data/lib/puppet/provider/user/aix.rb +2 -48
  298. data/lib/puppet/provider/user/directoryservice.rb +8 -45
  299. data/lib/puppet/provider/user/hpux.rb +1 -1
  300. data/lib/puppet/provider/user/pw.rb +3 -12
  301. data/lib/puppet/provider/user/user_role_add.rb +1 -5
  302. data/lib/puppet/provider/user/useradd.rb +44 -74
  303. data/lib/puppet/provider/user/windows_adsi.rb +0 -7
  304. data/lib/puppet/reference/indirection.rb +2 -2
  305. data/lib/puppet/reference/metaparameter.rb +3 -1
  306. data/lib/puppet/reference/providers.rb +1 -1
  307. data/lib/puppet/reference/type.rb +9 -3
  308. data/lib/puppet/reports.rb +3 -3
  309. data/lib/puppet/resource.rb +22 -22
  310. data/lib/puppet/resource/catalog.rb +8 -14
  311. data/lib/puppet/resource/type.rb +1 -10
  312. data/lib/puppet/rest/client.rb +83 -0
  313. data/lib/puppet/rest/errors.rb +14 -0
  314. data/lib/puppet/rest/response.rb +34 -0
  315. data/lib/puppet/rest/route.rb +84 -0
  316. data/lib/puppet/rest/routes.rb +154 -0
  317. data/lib/puppet/rest/ssl_context.rb +13 -0
  318. data/lib/puppet/settings.rb +9 -54
  319. data/lib/puppet/settings/config_file.rb +1 -2
  320. data/lib/puppet/settings/environment_conf.rb +0 -1
  321. data/lib/puppet/settings/file_setting.rb +1 -1
  322. data/lib/puppet/settings/server_list_setting.rb +0 -9
  323. data/lib/puppet/ssl.rb +0 -1
  324. data/lib/puppet/ssl/base.rb +1 -9
  325. data/lib/puppet/ssl/certificate.rb +7 -4
  326. data/lib/puppet/ssl/certificate_request.rb +6 -14
  327. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  328. data/lib/puppet/ssl/host.rb +400 -174
  329. data/lib/puppet/ssl/key.rb +1 -5
  330. data/lib/puppet/ssl/oids.rb +3 -3
  331. data/lib/puppet/ssl/validator/default_validator.rb +33 -49
  332. data/lib/puppet/test/test_helper.rb +12 -18
  333. data/lib/puppet/transaction.rb +7 -12
  334. data/lib/puppet/transaction/event.rb +37 -14
  335. data/lib/puppet/transaction/event_manager.rb +3 -11
  336. data/lib/puppet/transaction/persistence.rb +1 -1
  337. data/lib/puppet/transaction/report.rb +1 -1
  338. data/lib/puppet/transaction/resource_harness.rb +2 -5
  339. data/lib/puppet/type.rb +7 -10
  340. data/lib/puppet/type/exec.rb +16 -50
  341. data/lib/puppet/type/file.rb +7 -16
  342. data/lib/puppet/type/file/content.rb +2 -3
  343. data/lib/puppet/type/file/data_sync.rb +1 -5
  344. data/lib/puppet/type/file/mode.rb +2 -7
  345. data/lib/puppet/type/file/source.rb +2 -1
  346. data/lib/puppet/type/filebucket.rb +8 -12
  347. data/lib/puppet/type/group.rb +3 -33
  348. data/lib/puppet/type/notify.rb +2 -3
  349. data/lib/puppet/type/package.rb +18 -154
  350. data/lib/puppet/type/resources.rb +2 -12
  351. data/lib/puppet/type/schedule.rb +34 -96
  352. data/lib/puppet/type/service.rb +10 -9
  353. data/lib/puppet/type/tidy.rb +1 -1
  354. data/lib/puppet/type/user.rb +30 -14
  355. data/lib/puppet/util.rb +28 -52
  356. data/lib/puppet/util/autoload.rb +62 -56
  357. data/lib/puppet/util/character_encoding.rb +0 -22
  358. data/lib/puppet/util/classgen.rb +0 -6
  359. data/lib/puppet/util/command_line.rb +4 -7
  360. data/lib/puppet/util/command_line/trollop.rb +1 -1
  361. data/lib/puppet/util/connection.rb +74 -0
  362. data/lib/puppet/util/execution.rb +7 -22
  363. data/lib/puppet/util/feature.rb +63 -41
  364. data/lib/puppet/util/fileparsing.rb +27 -5
  365. data/lib/puppet/util/filetype.rb +8 -56
  366. data/lib/puppet/util/http_proxy.rb +18 -27
  367. data/lib/puppet/util/instance_loader.rb +3 -21
  368. data/lib/puppet/util/json.rb +0 -8
  369. data/lib/puppet/util/ldap/connection.rb +7 -7
  370. data/lib/puppet/util/log.rb +3 -8
  371. data/lib/puppet/util/log/destinations.rb +13 -5
  372. data/lib/puppet/util/logging.rb +19 -31
  373. data/lib/puppet/util/metric.rb +2 -2
  374. data/lib/puppet/util/monkey_patches.rb +1 -1
  375. data/lib/puppet/util/network_device/base.rb +1 -1
  376. data/lib/puppet/util/pidlock.rb +3 -23
  377. data/lib/puppet/util/platform.rb +3 -0
  378. data/lib/puppet/util/plist.rb +0 -6
  379. data/lib/puppet/util/posix.rb +0 -15
  380. data/lib/puppet/util/provider_features.rb +6 -7
  381. data/lib/puppet/util/rdoc.rb +2 -2
  382. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  383. data/lib/puppet/util/reference.rb +8 -7
  384. data/lib/puppet/util/resource_template.rb +1 -1
  385. data/lib/puppet/util/rubygems.rb +1 -13
  386. data/lib/puppet/util/run_mode.rb +1 -1
  387. data/lib/puppet/util/selinux.rb +3 -9
  388. data/lib/puppet/util/ssl.rb +40 -1
  389. data/lib/puppet/util/storage.rb +1 -13
  390. data/lib/puppet/util/suidmanager.rb +7 -5
  391. data/lib/puppet/util/tag_set.rb +1 -1
  392. data/lib/puppet/util/tagging.rb +1 -1
  393. data/lib/puppet/util/windows.rb +15 -0
  394. data/lib/puppet/util/windows/adsi.rb +7 -116
  395. data/lib/puppet/util/windows/api_types.rb +33 -46
  396. data/lib/puppet/util/windows/eventlog.rb +6 -1
  397. data/lib/puppet/util/windows/principal.rb +6 -8
  398. data/lib/puppet/util/windows/process.rb +3 -94
  399. data/lib/puppet/util/windows/registry.rb +14 -46
  400. data/lib/puppet/util/windows/security.rb +2 -40
  401. data/lib/puppet/util/windows/service.rb +72 -431
  402. data/lib/puppet/util/windows/sid.rb +3 -4
  403. data/lib/puppet/util/windows/user.rb +9 -17
  404. data/lib/puppet/util/yaml.rb +41 -5
  405. data/lib/puppet/vendor.rb +1 -1
  406. data/lib/puppet/version.rb +1 -1
  407. data/lib/puppet_pal.rb +246 -23
  408. data/locales/ja/puppet.po +11128 -0
  409. data/locales/puppet.pot +1321 -2527
  410. data/man/man5/puppet.conf.5 +31 -191
  411. data/man/man8/puppet-agent.8 +2 -2
  412. data/man/man8/puppet-apply.8 +1 -1
  413. data/man/man8/puppet-catalog.8 +1 -1
  414. data/man/man8/puppet-config.8 +3 -3
  415. data/man/man8/puppet-describe.8 +1 -1
  416. data/man/man8/puppet-device.8 +19 -23
  417. data/man/man8/puppet-doc.8 +1 -1
  418. data/man/man8/puppet-epp.8 +1 -1
  419. data/man/man8/puppet-facts.8 +1 -1
  420. data/man/man8/puppet-filebucket.8 +2 -21
  421. data/man/man8/puppet-generate.8 +1 -1
  422. data/man/man8/puppet-help.8 +1 -1
  423. data/man/man8/puppet-key.8 +1 -7
  424. data/man/man8/puppet-lookup.8 +1 -1
  425. data/man/man8/puppet-man.8 +1 -1
  426. data/man/man8/puppet-module.8 +10 -100
  427. data/man/man8/puppet-node.8 +4 -7
  428. data/man/man8/puppet-parser.8 +1 -1
  429. data/man/man8/puppet-plugin.8 +1 -1
  430. data/man/man8/puppet-report.8 +1 -1
  431. data/man/man8/puppet-resource.8 +1 -1
  432. data/man/man8/puppet-script.8 +1 -1
  433. data/man/man8/puppet-ssl.8 +28 -0
  434. data/man/man8/puppet-status.8 +1 -1
  435. data/man/man8/puppet.8 +12 -3
  436. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +22 -0
  437. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +18 -0
  438. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +7 -0
  439. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -6
  440. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -1
  441. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -2
  442. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -9
  443. data/spec/integration/agent/logging_spec.rb +9 -7
  444. data/spec/integration/application/apply_spec.rb +31 -26
  445. data/spec/integration/application/doc_spec.rb +2 -1
  446. data/spec/integration/application/lookup_spec.rb +5 -5
  447. data/spec/integration/configurer_spec.rb +8 -76
  448. data/spec/integration/data_binding_spec.rb +1 -1
  449. data/spec/integration/defaults_spec.rb +13 -16
  450. data/spec/integration/directory_environments_spec.rb +1 -1
  451. data/spec/integration/faces/config_spec.rb +4 -3
  452. data/spec/integration/faces/documentation_spec.rb +1 -0
  453. data/spec/integration/faces/plugin_spec.rb +49 -29
  454. data/spec/integration/file_bucket/file_spec.rb +4 -19
  455. data/spec/integration/file_serving/content_spec.rb +1 -0
  456. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  457. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  458. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  459. data/spec/integration/file_system/uniquefile_spec.rb +26 -29
  460. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  461. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  462. data/spec/integration/indirector/facts/facter_spec.rb +8 -22
  463. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  464. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  465. data/spec/integration/network/authconfig_spec.rb +24 -23
  466. data/spec/integration/network/formats_spec.rb +1 -0
  467. data/spec/integration/network/http/api/indirected_routes_spec.rb +6 -34
  468. data/spec/integration/node/environment_spec.rb +2 -1
  469. data/spec/integration/node/facts_spec.rb +10 -9
  470. data/spec/integration/node_spec.rb +7 -10
  471. data/spec/integration/parser/catalog_spec.rb +8 -6
  472. data/spec/integration/parser/collection_spec.rb +9 -4
  473. data/spec/integration/parser/compiler_spec.rb +7 -25
  474. data/spec/integration/parser/scope_spec.rb +1 -1
  475. data/spec/integration/parser/undef_param_spec.rb +1 -1
  476. data/spec/integration/provider/service/init_spec.rb +9 -6
  477. data/spec/integration/provider/service/systemd_spec.rb +14 -11
  478. data/spec/integration/provider/service/windows_spec.rb +11 -8
  479. data/spec/integration/reference/providers_spec.rb +7 -0
  480. data/spec/integration/reports_spec.rb +2 -1
  481. data/spec/integration/resource/catalog_spec.rb +17 -14
  482. data/spec/integration/resource/type_collection_spec.rb +5 -4
  483. data/spec/integration/ssl/certificate_request_spec.rb +1 -2
  484. data/spec/integration/ssl/host_spec.rb +17 -24
  485. data/spec/integration/ssl/key_spec.rb +7 -2
  486. data/spec/integration/test/test_helper_spec.rb +32 -0
  487. data/spec/integration/transaction/report_spec.rb +14 -9
  488. data/spec/integration/type/exec_spec.rb +2 -1
  489. data/spec/integration/type/file_spec.rb +38 -46
  490. data/spec/integration/type/package_spec.rb +25 -21
  491. data/spec/integration/type/tidy_spec.rb +2 -1
  492. data/spec/integration/type_spec.rb +1 -0
  493. data/spec/integration/util/autoload_spec.rb +11 -7
  494. data/spec/integration/util/execution_spec.rb +5 -32
  495. data/spec/integration/util/rdoc/parser_spec.rb +14 -23
  496. data/spec/integration/util/settings_spec.rb +2 -1
  497. data/spec/integration/util/windows/adsi_spec.rb +8 -11
  498. data/spec/integration/util/windows/principal_spec.rb +2 -1
  499. data/spec/integration/util/windows/process_spec.rb +9 -7
  500. data/spec/integration/util/windows/registry_spec.rb +46 -127
  501. data/spec/integration/util/windows/security_spec.rb +15 -16
  502. data/spec/integration/util/windows/user_spec.rb +29 -66
  503. data/spec/integration/util_spec.rb +10 -7
  504. data/spec/lib/matchers/json.rb +12 -18
  505. data/{lib/puppet/ssl → spec/lib/puppet}/certificate_factory.rb +5 -6
  506. data/spec/lib/puppet/test_ca.rb +109 -0
  507. data/spec/lib/puppet_spec/compiler.rb +28 -1
  508. data/spec/lib/puppet_spec/files.rb +29 -23
  509. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  510. data/spec/lib/puppet_spec/modules.rb +11 -1
  511. data/spec/lib/puppet_spec/scope.rb +2 -1
  512. data/spec/lib/puppet_spec/ssl.rb +265 -0
  513. data/spec/lib/puppet_spec/validators.rb +37 -0
  514. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  515. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  516. data/spec/shared_behaviours/file_serving.rb +8 -6
  517. data/spec/shared_behaviours/file_serving_model.rb +5 -22
  518. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  519. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  520. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  521. data/spec/shared_behaviours/path_parameters.rb +1 -1
  522. data/spec/shared_contexts/types_setup.rb +0 -2
  523. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  524. data/spec/spec_helper.rb +1 -15
  525. data/spec/unit/agent/disabler_spec.rb +5 -4
  526. data/spec/unit/agent/locker_spec.rb +13 -12
  527. data/spec/unit/agent_spec.rb +102 -105
  528. data/spec/unit/application/agent_spec.rb +95 -114
  529. data/spec/unit/application/apply_spec.rb +92 -119
  530. data/spec/unit/application/config_spec.rb +1 -0
  531. data/spec/unit/application/describe_spec.rb +7 -6
  532. data/spec/unit/application/device_spec.rb +180 -181
  533. data/spec/unit/application/doc_spec.rb +46 -44
  534. data/spec/unit/application/face_base_spec.rb +62 -61
  535. data/spec/unit/application/facts_spec.rb +4 -3
  536. data/spec/unit/application/filebucket_spec.rb +74 -66
  537. data/spec/unit/application/indirection_base_spec.rb +6 -8
  538. data/spec/unit/application/lookup_spec.rb +44 -37
  539. data/spec/unit/application/resource_spec.rb +48 -42
  540. data/spec/unit/application/ssl_spec.rb +322 -0
  541. data/spec/unit/application_spec.rb +108 -90
  542. data/spec/unit/capability_spec.rb +15 -16
  543. data/spec/unit/{ssl/certificate_factory_spec.rb → certificate_factory_spec.rb} +13 -20
  544. data/spec/unit/configurer/downloader_spec.rb +22 -31
  545. data/spec/unit/configurer/fact_handler_spec.rb +7 -2
  546. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  547. data/spec/unit/configurer_spec.rb +475 -520
  548. data/spec/unit/confine/exists_spec.rb +15 -17
  549. data/spec/unit/confine/false_spec.rb +6 -32
  550. data/spec/unit/confine/feature_spec.rb +5 -7
  551. data/spec/unit/confine/true_spec.rb +6 -32
  552. data/spec/unit/confine/variable_spec.rb +15 -14
  553. data/spec/unit/confine_collection_spec.rb +29 -28
  554. data/spec/unit/confine_spec.rb +14 -13
  555. data/spec/unit/confiner_spec.rb +11 -10
  556. data/spec/unit/context/trusted_information_spec.rb +4 -3
  557. data/spec/unit/daemon_spec.rb +38 -35
  558. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  559. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  560. data/spec/unit/datatypes_spec.rb +4 -3
  561. data/spec/unit/defaults_spec.rb +61 -32
  562. data/spec/unit/environments_spec.rb +7 -7
  563. data/spec/unit/etc_spec.rb +29 -52
  564. data/spec/unit/external/pson_spec.rb +1 -0
  565. data/spec/unit/face/catalog_spec.rb +1 -0
  566. data/spec/unit/face/config_spec.rb +35 -31
  567. data/spec/unit/face/epp_face_spec.rb +4 -3
  568. data/spec/unit/face/facts_spec.rb +6 -14
  569. data/spec/unit/face/generate_spec.rb +5 -4
  570. data/spec/unit/face/help_spec.rb +8 -7
  571. data/spec/unit/face/key_spec.rb +1 -0
  572. data/spec/unit/face/man_spec.rb +2 -1
  573. data/spec/unit/face/module/install_spec.rb +5 -3
  574. data/spec/unit/face/module/list_spec.rb +12 -62
  575. data/spec/unit/face/module/search_spec.rb +9 -11
  576. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  577. data/spec/unit/face/node_spec.rb +30 -52
  578. data/spec/unit/face/parser_spec.rb +3 -3
  579. data/spec/unit/face/plugin_spec.rb +9 -44
  580. data/spec/unit/face/status_spec.rb +1 -0
  581. data/spec/unit/file_bucket/dipper_spec.rb +24 -28
  582. data/spec/unit/file_bucket/file_spec.rb +2 -0
  583. data/spec/unit/file_serving/base_spec.rb +18 -20
  584. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  585. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  586. data/spec/unit/file_serving/content_spec.rb +11 -10
  587. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  588. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  589. data/spec/unit/file_serving/metadata_spec.rb +40 -40
  590. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  591. data/spec/unit/file_serving/mount/locales_spec.rb +26 -25
  592. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  593. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +26 -25
  594. data/spec/unit/file_serving/mount/plugins_spec.rb +26 -25
  595. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  596. data/spec/unit/file_serving/mount_spec.rb +1 -0
  597. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  598. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  599. data/spec/unit/file_system/path_pattern_spec.rb +1 -1
  600. data/spec/unit/file_system/uniquefile_spec.rb +6 -17
  601. data/spec/unit/file_system_spec.rb +9 -6
  602. data/spec/unit/forge/errors_spec.rb +1 -1
  603. data/spec/unit/forge/forge_spec.rb +16 -15
  604. data/spec/unit/forge/module_release_spec.rb +18 -18
  605. data/spec/unit/forge/repository_spec.rb +30 -27
  606. data/spec/unit/forge_spec.rb +11 -15
  607. data/spec/unit/functions/abs_spec.rb +70 -0
  608. data/spec/unit/functions/binary_file_spec.rb +3 -3
  609. data/spec/unit/functions/call_spec.rb +59 -5
  610. data/spec/unit/functions/camelcase_spec.rb +34 -0
  611. data/spec/unit/functions/capitalize_spec.rb +34 -0
  612. data/spec/unit/functions/ceiling_spec.rb +65 -0
  613. data/spec/unit/functions/chomp_spec.rb +46 -0
  614. data/spec/unit/functions/chop_spec.rb +38 -0
  615. data/spec/unit/functions/compare_spec.rb +147 -0
  616. data/spec/unit/functions/contain_spec.rb +2 -0
  617. data/spec/unit/functions/convert_to_spec.rb +3 -0
  618. data/spec/unit/functions/defined_spec.rb +1 -0
  619. data/spec/unit/functions/downcase_spec.rb +34 -0
  620. data/spec/unit/functions/epp_spec.rb +2 -2
  621. data/spec/unit/functions/filter_spec.rb +4 -4
  622. data/spec/unit/functions/find_file_spec.rb +7 -7
  623. data/spec/unit/functions/floor_spec.rb +65 -0
  624. data/spec/unit/functions/get_spec.rb +135 -0
  625. data/spec/unit/functions/getvar_spec.rb +121 -0
  626. data/spec/unit/functions/hiera_spec.rb +14 -48
  627. data/spec/unit/functions/include_spec.rb +4 -0
  628. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  629. data/spec/unit/functions/lookup_spec.rb +37 -62
  630. data/spec/unit/functions/lstrip_spec.rb +30 -0
  631. data/spec/unit/functions/match_spec.rb +3 -4
  632. data/spec/unit/functions/max_spec.rb +129 -0
  633. data/spec/unit/functions/min_spec.rb +129 -0
  634. data/spec/unit/functions/module_directory_spec.rb +12 -12
  635. data/spec/unit/functions/new_spec.rb +0 -15
  636. data/spec/unit/functions/regsubst_spec.rb +3 -4
  637. data/spec/unit/functions/require_spec.rb +3 -0
  638. data/spec/unit/functions/round_spec.rb +41 -0
  639. data/spec/unit/functions/rstrip_spec.rb +30 -0
  640. data/spec/unit/functions/shared.rb +8 -5
  641. data/spec/unit/functions/size_spec.rb +50 -0
  642. data/spec/unit/functions/sort_spec.rb +79 -0
  643. data/spec/unit/functions/split_spec.rb +3 -4
  644. data/spec/unit/functions/strip_spec.rb +30 -0
  645. data/spec/unit/functions/upcase_spec.rb +34 -0
  646. data/spec/unit/functions/versioncmp_spec.rb +4 -4
  647. data/spec/unit/functions4_spec.rb +78 -51
  648. data/spec/unit/gettext/config_spec.rb +4 -4
  649. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  650. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  651. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  652. data/spec/unit/graph/simple_graph_spec.rb +52 -11
  653. data/spec/unit/hiera/scope_spec.rb +0 -7
  654. data/spec/unit/hiera_puppet_spec.rb +20 -20
  655. data/spec/unit/indirector/catalog/compiler_spec.rb +166 -183
  656. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  657. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  658. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  659. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  660. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  661. data/spec/unit/indirector/certificate/file_spec.rb +1 -8
  662. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  663. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  664. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  665. data/spec/unit/indirector/direct_file_server_spec.rb +49 -57
  666. data/spec/unit/indirector/envelope_spec.rb +2 -1
  667. data/spec/unit/indirector/exec_spec.rb +31 -26
  668. data/spec/unit/indirector/face_spec.rb +9 -9
  669. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  670. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  671. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  672. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  673. data/spec/unit/indirector/facts/yaml_spec.rb +90 -77
  674. data/spec/unit/indirector/file_bucket_file/file_spec.rb +13 -9
  675. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  676. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  677. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  678. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  679. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  680. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  681. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  682. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  683. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  684. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  685. data/spec/unit/indirector/file_server_spec.rb +145 -145
  686. data/spec/unit/indirector/indirection_spec.rb +226 -249
  687. data/spec/unit/indirector/json_spec.rb +9 -7
  688. data/spec/unit/indirector/key/file_spec.rb +22 -38
  689. data/spec/unit/indirector/memory_spec.rb +7 -6
  690. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  691. data/spec/unit/indirector/node/exec_spec.rb +43 -22
  692. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  693. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  694. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  695. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  696. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  697. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  698. data/spec/unit/indirector/none_spec.rb +5 -5
  699. data/spec/unit/indirector/plain_spec.rb +8 -7
  700. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  701. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  702. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  703. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  704. data/spec/unit/indirector/request_spec.rb +18 -15
  705. data/spec/unit/indirector/resource/ral_spec.rb +55 -47
  706. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  707. data/spec/unit/indirector/rest_spec.rb +110 -113
  708. data/spec/unit/indirector/ssl_file_spec.rb +100 -119
  709. data/spec/unit/indirector/status/local_spec.rb +1 -0
  710. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  711. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  712. data/spec/unit/indirector/terminus_spec.rb +30 -32
  713. data/spec/unit/indirector/yaml_spec.rb +90 -68
  714. data/spec/unit/indirector_spec.rb +2 -1
  715. data/spec/unit/info_service_spec.rb +144 -10
  716. data/spec/unit/interface/action_builder_spec.rb +1 -0
  717. data/spec/unit/interface/action_manager_spec.rb +1 -0
  718. data/spec/unit/interface/action_spec.rb +3 -2
  719. data/spec/unit/interface/documentation_spec.rb +1 -0
  720. data/spec/unit/interface/face_collection_spec.rb +12 -19
  721. data/spec/unit/interface_spec.rb +3 -3
  722. data/spec/unit/man_spec.rb +4 -3
  723. data/spec/unit/module_spec.rb +52 -102
  724. data/spec/unit/module_tool/applications/installer_spec.rb +13 -12
  725. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  726. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  727. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  728. data/spec/unit/module_tool/applications/upgrader_spec.rb +6 -6
  729. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  730. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  731. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  732. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  733. data/spec/unit/module_tool/tar_spec.rb +13 -12
  734. data/spec/unit/module_tool_spec.rb +12 -29
  735. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  736. data/spec/unit/network/authconfig_spec.rb +18 -17
  737. data/spec/unit/network/authorization_spec.rb +5 -4
  738. data/spec/unit/network/authstore_spec.rb +1 -0
  739. data/spec/unit/network/format_handler_spec.rb +1 -0
  740. data/spec/unit/network/format_spec.rb +10 -9
  741. data/spec/unit/network/format_support_spec.rb +29 -28
  742. data/spec/unit/network/formats_spec.rb +31 -4
  743. data/spec/unit/network/http/api/indirected_routes_spec.rb +41 -51
  744. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +7 -9
  745. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -2
  746. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  747. data/spec/unit/network/http/api_spec.rb +2 -26
  748. data/spec/unit/network/http/compression_spec.rb +28 -24
  749. data/spec/unit/network/http/connection_spec.rb +122 -72
  750. data/spec/unit/network/http/factory_spec.rb +11 -40
  751. data/spec/unit/network/http/handler_spec.rb +18 -9
  752. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  753. data/spec/unit/network/http/pool_spec.rb +29 -60
  754. data/spec/unit/network/http/request_spec.rb +2 -0
  755. data/spec/unit/network/http/response_spec.rb +13 -11
  756. data/spec/unit/network/http/route_spec.rb +1 -0
  757. data/spec/unit/network/http/session_spec.rb +2 -1
  758. data/spec/unit/network/http/site_spec.rb +1 -0
  759. data/spec/unit/network/http_pool_spec.rb +9 -18
  760. data/spec/unit/network/http_spec.rb +1 -0
  761. data/spec/unit/network/resolver_spec.rb +104 -28
  762. data/spec/unit/network/rights_spec.rb +53 -52
  763. data/spec/unit/node/environment_spec.rb +17 -18
  764. data/spec/unit/node/facts_spec.rb +21 -6
  765. data/spec/unit/node_spec.rb +23 -17
  766. data/spec/unit/other/selinux_spec.rb +1 -71
  767. data/spec/unit/parameter/boolean_spec.rb +2 -1
  768. data/spec/unit/parameter/package_options_spec.rb +2 -1
  769. data/spec/unit/parameter/path_spec.rb +1 -0
  770. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  771. data/spec/unit/parameter/value_spec.rb +1 -0
  772. data/spec/unit/parameter_spec.rb +9 -9
  773. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  774. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  775. data/spec/unit/parser/compiler_spec.rb +96 -84
  776. data/spec/unit/parser/environment_compiler_spec.rb +16 -23
  777. data/spec/unit/parser/files_spec.rb +1 -0
  778. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  779. data/spec/unit/parser/functions/digest_spec.rb +1 -4
  780. data/spec/unit/parser/functions/fail_spec.rb +2 -5
  781. data/spec/unit/parser/functions/file_spec.rb +14 -17
  782. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  783. data/spec/unit/parser/functions/generate_spec.rb +37 -38
  784. data/spec/unit/parser/functions/inline_template_spec.rb +1 -4
  785. data/spec/unit/parser/functions/regsubst_spec.rb +1 -4
  786. data/spec/unit/parser/functions/scanf_spec.rb +1 -4
  787. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  788. data/spec/unit/parser/functions/split_spec.rb +1 -4
  789. data/spec/unit/parser/functions/sprintf_spec.rb +1 -4
  790. data/spec/unit/parser/functions/tag_spec.rb +2 -5
  791. data/spec/unit/parser/functions/tagged_spec.rb +3 -6
  792. data/spec/unit/parser/functions/template_spec.rb +13 -17
  793. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -5
  794. data/spec/unit/parser/functions_spec.rb +29 -3
  795. data/spec/unit/parser/relationship_spec.rb +1 -0
  796. data/spec/unit/parser/resource/param_spec.rb +1 -1
  797. data/spec/unit/parser/resource_spec.rb +42 -42
  798. data/spec/unit/parser/scope_spec.rb +35 -39
  799. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  800. data/spec/unit/parser/type_loader_spec.rb +19 -17
  801. data/spec/unit/pops/adaptable_spec.rb +1 -0
  802. data/spec/unit/pops/benchmark_spec.rb +1 -0
  803. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  804. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +11 -0
  805. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  806. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  807. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  808. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  809. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +78 -18
  810. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  811. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +5 -4
  812. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  813. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  814. data/spec/unit/pops/factory_spec.rb +4 -3
  815. data/spec/unit/pops/issues_spec.rb +20 -19
  816. data/spec/unit/pops/loaders/dependency_loader_spec.rb +2 -2
  817. data/spec/unit/pops/loaders/loader_spec.rb +12 -36
  818. data/spec/unit/pops/loaders/loaders_spec.rb +57 -54
  819. data/spec/unit/pops/loaders/module_loaders_spec.rb +35 -3
  820. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -36
  821. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  822. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  823. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  824. data/spec/unit/pops/migration_spec.rb +5 -3
  825. data/spec/unit/pops/model/model_spec.rb +1 -0
  826. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -0
  827. data/spec/unit/pops/parser/lexer2_spec.rb +60 -21
  828. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  829. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  830. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  831. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  832. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  833. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  834. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  835. data/spec/unit/pops/parser/parse_heredoc_spec.rb +12 -124
  836. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  837. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  838. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  839. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  840. data/spec/unit/pops/pn_spec.rb +1 -0
  841. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  842. data/spec/unit/pops/serialization/serialization_spec.rb +7 -5
  843. data/spec/unit/pops/serialization/to_from_hr_spec.rb +29 -4
  844. data/spec/unit/pops/serialization/to_stringified_spec.rb +157 -0
  845. data/spec/unit/pops/types/deferred_spec.rb +87 -0
  846. data/spec/unit/pops/types/p_object_type_spec.rb +20 -0
  847. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -22
  848. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -19
  849. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  850. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  851. data/spec/unit/pops/types/string_converter_spec.rb +11 -22
  852. data/spec/unit/pops/types/task_spec.rb +148 -16
  853. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  854. data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
  855. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  856. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  857. data/spec/unit/pops/types/types_spec.rb +12 -6
  858. data/spec/unit/pops/validator/validator_spec.rb +162 -82
  859. data/spec/unit/pops/visitor_spec.rb +1 -0
  860. data/spec/unit/property/boolean_spec.rb +1 -1
  861. data/spec/unit/property/ensure_spec.rb +1 -0
  862. data/spec/unit/property/keyvalue_spec.rb +34 -32
  863. data/spec/unit/property/list_spec.rb +27 -26
  864. data/spec/unit/property/ordered_list_spec.rb +14 -10
  865. data/spec/unit/property_spec.rb +53 -43
  866. data/spec/unit/provider/aix_object_spec.rb +45 -47
  867. data/spec/unit/provider/command_spec.rb +9 -9
  868. data/spec/unit/provider/exec/posix_spec.rb +9 -8
  869. data/spec/unit/provider/exec/shell_spec.rb +3 -1
  870. data/spec/unit/provider/exec/windows_spec.rb +6 -4
  871. data/spec/unit/provider/exec_spec.rb +1 -209
  872. data/spec/unit/provider/file/posix_spec.rb +24 -22
  873. data/spec/unit/provider/file/windows_spec.rb +19 -17
  874. data/spec/unit/provider/group/aix_spec.rb +7 -22
  875. data/spec/unit/provider/group/groupadd_spec.rb +27 -60
  876. data/spec/unit/provider/group/ldap_spec.rb +36 -33
  877. data/spec/unit/provider/group/pw_spec.rb +18 -15
  878. data/spec/unit/provider/group/windows_adsi_spec.rb +80 -128
  879. data/spec/unit/provider/ldap_spec.rb +62 -61
  880. data/spec/unit/provider/nameservice/directoryservice_spec.rb +109 -102
  881. data/spec/unit/provider/nameservice_spec.rb +41 -39
  882. data/spec/unit/provider/package/aix_spec.rb +22 -48
  883. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  884. data/spec/unit/provider/package/apt_spec.rb +35 -60
  885. data/spec/unit/provider/package/aptitude_spec.rb +7 -7
  886. data/spec/unit/provider/package/aptrpm_spec.rb +13 -8
  887. data/spec/unit/provider/package/base_spec.rb +4 -4
  888. data/spec/unit/provider/package/dnf_spec.rb +23 -34
  889. data/spec/unit/provider/package/dpkg_spec.rb +72 -114
  890. data/spec/unit/provider/package/freebsd_spec.rb +18 -15
  891. data/spec/unit/provider/package/gem_spec.rb +86 -163
  892. data/spec/unit/provider/package/hpux_spec.rb +18 -15
  893. data/spec/unit/provider/package/macports_spec.rb +54 -56
  894. data/spec/unit/provider/package/nim_spec.rb +49 -33
  895. data/spec/unit/provider/package/openbsd_spec.rb +49 -60
  896. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  897. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  898. data/spec/unit/provider/package/pip3_spec.rb +6 -20
  899. data/spec/unit/provider/package/pip_spec.rb +129 -185
  900. data/spec/unit/provider/package/pkg_spec.rb +119 -129
  901. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  902. data/spec/unit/provider/package/pkgin_spec.rb +23 -20
  903. data/spec/unit/provider/package/pkgng_spec.rb +35 -67
  904. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  905. data/spec/unit/provider/package/portage_spec.rb +76 -72
  906. data/spec/unit/provider/package/puppet_gem_spec.rb +21 -45
  907. data/spec/unit/provider/package/rpm_spec.rb +79 -291
  908. data/spec/unit/provider/package/sun_spec.rb +18 -16
  909. data/spec/unit/provider/package/tdnf_spec.rb +12 -9
  910. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  911. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  912. data/spec/unit/provider/package/windows/exe_package_spec.rb +18 -15
  913. data/spec/unit/provider/package/windows/msi_package_spec.rb +23 -20
  914. data/spec/unit/provider/package/windows/package_spec.rb +43 -38
  915. data/spec/unit/provider/package/windows_spec.rb +36 -51
  916. data/spec/unit/provider/package/yum_spec.rb +24 -128
  917. data/spec/unit/provider/package/zypper_spec.rb +106 -117
  918. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  919. data/spec/unit/provider/service/base_spec.rb +6 -5
  920. data/spec/unit/provider/service/bsd_spec.rb +54 -47
  921. data/spec/unit/provider/service/daemontools_spec.rb +53 -70
  922. data/spec/unit/provider/service/debian_spec.rb +58 -46
  923. data/spec/unit/provider/service/freebsd_spec.rb +23 -20
  924. data/spec/unit/provider/service/gentoo_spec.rb +81 -74
  925. data/spec/unit/provider/service/init_spec.rb +66 -65
  926. data/spec/unit/provider/service/launchd_spec.rb +114 -181
  927. data/spec/unit/provider/service/openbsd_spec.rb +94 -87
  928. data/spec/unit/provider/service/openrc_spec.rb +74 -70
  929. data/spec/unit/provider/service/openwrt_spec.rb +38 -30
  930. data/spec/unit/provider/service/rcng_spec.rb +24 -19
  931. data/spec/unit/provider/service/redhat_spec.rb +60 -60
  932. data/spec/unit/provider/service/runit_spec.rb +44 -61
  933. data/spec/unit/provider/service/smf_spec.rb +74 -143
  934. data/spec/unit/provider/service/src_spec.rb +69 -60
  935. data/spec/unit/provider/service/systemd_spec.rb +160 -222
  936. data/spec/unit/provider/service/upstart_spec.rb +99 -83
  937. data/spec/unit/provider/service/windows_spec.rb +42 -84
  938. data/spec/unit/provider/user/aix_spec.rb +24 -65
  939. data/spec/unit/provider/user/directoryservice_spec.rb +114 -187
  940. data/spec/unit/provider/user/hpux_spec.rb +21 -17
  941. data/spec/unit/provider/user/ldap_spec.rb +83 -80
  942. data/spec/unit/provider/user/openbsd_spec.rb +12 -11
  943. data/spec/unit/provider/user/pw_spec.rb +44 -80
  944. data/spec/unit/provider/user/user_role_add_spec.rb +94 -94
  945. data/spec/unit/provider/user/useradd_spec.rb +100 -208
  946. data/spec/unit/provider/user/windows_adsi_spec.rb +63 -62
  947. data/spec/unit/provider_spec.rb +189 -41
  948. data/spec/unit/puppet_pal_2pec.rb +26 -12
  949. data/spec/unit/puppet_pal_catalog_spec.rb +801 -0
  950. data/spec/unit/puppet_pal_spec.rb +2 -8
  951. data/spec/unit/puppet_spec.rb +7 -27
  952. data/spec/unit/relationship_spec.rb +1 -0
  953. data/spec/unit/reports/http_spec.rb +23 -21
  954. data/spec/unit/reports/store_spec.rb +4 -3
  955. data/spec/unit/reports_spec.rb +14 -12
  956. data/spec/unit/resource/capability_finder_spec.rb +26 -29
  957. data/spec/unit/resource/catalog_spec.rb +77 -81
  958. data/spec/unit/resource/status_spec.rb +8 -6
  959. data/spec/unit/resource/type_collection_spec.rb +18 -17
  960. data/spec/unit/resource/type_spec.rb +35 -34
  961. data/spec/unit/resource_spec.rb +79 -67
  962. data/spec/unit/rest/client_spec.rb +135 -0
  963. data/spec/unit/rest/route_spec.rb +132 -0
  964. data/spec/unit/scheduler/job_spec.rb +1 -0
  965. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  966. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  967. data/spec/unit/settings/array_setting_spec.rb +1 -1
  968. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  969. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  970. data/spec/unit/settings/config_file_spec.rb +10 -0
  971. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  972. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  973. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  974. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  975. data/spec/unit/settings/file_setting_spec.rb +50 -46
  976. data/spec/unit/settings/ini_file_spec.rb +2 -4
  977. data/spec/unit/settings/path_setting_spec.rb +3 -2
  978. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  979. data/spec/unit/settings/string_setting_spec.rb +15 -14
  980. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  981. data/spec/unit/settings/value_translator_spec.rb +1 -0
  982. data/spec/unit/settings_spec.rb +226 -253
  983. data/spec/unit/ssl/base_spec.rb +15 -14
  984. data/spec/unit/ssl/certificate_request_attributes_spec.rb +22 -8
  985. data/spec/unit/ssl/certificate_request_spec.rb +63 -92
  986. data/spec/unit/ssl/certificate_spec.rb +29 -37
  987. data/spec/unit/ssl/digest_spec.rb +1 -0
  988. data/spec/unit/ssl/host_spec.rb +305 -685
  989. data/spec/unit/ssl/key_spec.rb +34 -46
  990. data/spec/unit/ssl/validator_spec.rb +70 -203
  991. data/spec/unit/task_spec.rb +172 -26
  992. data/spec/unit/transaction/additional_resource_generator_spec.rb +68 -67
  993. data/spec/unit/transaction/event_manager_spec.rb +84 -95
  994. data/spec/unit/transaction/event_spec.rb +15 -16
  995. data/spec/unit/transaction/persistence_spec.rb +18 -17
  996. data/spec/unit/transaction/report_spec.rb +24 -18
  997. data/spec/unit/transaction/resource_harness_spec.rb +33 -72
  998. data/spec/unit/transaction_spec.rb +106 -176
  999. data/spec/unit/type/component_spec.rb +1 -0
  1000. data/spec/unit/type/exec_spec.rb +66 -120
  1001. data/spec/unit/type/file/checksum_spec.rb +11 -10
  1002. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  1003. data/spec/unit/type/file/content_spec.rb +62 -65
  1004. data/spec/unit/type/file/ctime_spec.rb +1 -0
  1005. data/spec/unit/type/file/ensure_spec.rb +13 -12
  1006. data/spec/unit/type/file/group_spec.rb +7 -5
  1007. data/spec/unit/type/file/mode_spec.rb +6 -4
  1008. data/spec/unit/type/file/mtime_spec.rb +1 -0
  1009. data/spec/unit/type/file/owner_spec.rb +8 -6
  1010. data/spec/unit/type/file/selinux_spec.rb +19 -17
  1011. data/spec/unit/type/file/source_spec.rb +110 -113
  1012. data/spec/unit/type/file/type_spec.rb +1 -0
  1013. data/spec/unit/type/file_spec.rb +190 -204
  1014. data/spec/unit/type/filebucket_spec.rb +10 -11
  1015. data/spec/unit/type/group_spec.rb +9 -15
  1016. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  1017. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  1018. data/spec/unit/type/package_spec.rb +64 -61
  1019. data/spec/unit/type/resources_spec.rb +101 -103
  1020. data/spec/unit/type/schedule_spec.rb +28 -28
  1021. data/spec/unit/type/service_spec.rb +85 -76
  1022. data/spec/unit/type/stage_spec.rb +1 -0
  1023. data/spec/unit/type/tidy_spec.rb +63 -62
  1024. data/spec/unit/type/user_spec.rb +26 -147
  1025. data/spec/unit/type/whit_spec.rb +1 -0
  1026. data/spec/unit/type_spec.rb +164 -125
  1027. data/spec/unit/util/at_fork_spec.rb +19 -18
  1028. data/spec/unit/util/autoload_spec.rb +122 -93
  1029. data/spec/unit/util/backups_spec.rb +35 -34
  1030. data/spec/unit/util/character_encoding_spec.rb +5 -48
  1031. data/spec/unit/util/checksums_spec.rb +39 -38
  1032. data/spec/unit/util/colors_spec.rb +2 -1
  1033. data/spec/unit/util/command_line_spec.rb +20 -40
  1034. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  1035. data/spec/unit/util/diff_spec.rb +8 -7
  1036. data/spec/unit/util/errors_spec.rb +1 -0
  1037. data/spec/unit/util/execution_spec.rb +167 -285
  1038. data/spec/unit/util/execution_stub_spec.rb +3 -2
  1039. data/spec/unit/util/feature_spec.rb +46 -28
  1040. data/spec/unit/util/filetype_spec.rb +53 -61
  1041. data/spec/unit/util/http_proxy_spec.rb +13 -133
  1042. data/spec/unit/util/inifile_spec.rb +31 -26
  1043. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  1044. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  1045. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  1046. data/spec/unit/util/ldap/manager_spec.rb +102 -118
  1047. data/spec/unit/util/lockfile_spec.rb +2 -1
  1048. data/spec/unit/util/log/destinations_spec.rb +40 -23
  1049. data/spec/unit/util/log_spec.rb +146 -48
  1050. data/spec/unit/util/logging_spec.rb +114 -252
  1051. data/spec/unit/util/metric_spec.rb +1 -0
  1052. data/spec/unit/util/monkey_patches_spec.rb +12 -24
  1053. data/spec/unit/util/multi_match_spec.rb +1 -0
  1054. data/spec/unit/util/network_device/config_spec.rb +1 -0
  1055. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  1056. data/spec/unit/util/network_device_spec.rb +9 -7
  1057. data/spec/unit/util/package_spec.rb +1 -0
  1058. data/spec/unit/util/pidlock_spec.rb +14 -86
  1059. data/spec/unit/util/plist_spec.rb +33 -60
  1060. data/spec/unit/util/posix_spec.rb +47 -78
  1061. data/spec/unit/util/profiler/object_counts_spec.rb +2 -1
  1062. data/spec/unit/util/rdoc_spec.rb +10 -9
  1063. data/spec/unit/util/reference_spec.rb +1 -0
  1064. data/spec/unit/util/resource_template_spec.rb +20 -20
  1065. data/spec/unit/util/retry_action_spec.rb +8 -7
  1066. data/spec/unit/util/rubygems_spec.rb +7 -41
  1067. data/spec/unit/util/run_mode_spec.rb +11 -10
  1068. data/spec/unit/util/selinux_spec.rb +73 -84
  1069. data/spec/unit/util/splayer_spec.rb +9 -8
  1070. data/spec/unit/util/ssl_spec.rb +1 -0
  1071. data/spec/unit/util/storage_spec.rb +17 -111
  1072. data/spec/unit/util/suidmanager_spec.rb +58 -47
  1073. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  1074. data/spec/unit/util/tag_set_spec.rb +9 -1
  1075. data/spec/unit/util/tagging_spec.rb +12 -0
  1076. data/spec/unit/util/terminal_spec.rb +10 -9
  1077. data/spec/unit/util/user_attr_spec.rb +2 -1
  1078. data/spec/unit/util/warnings_spec.rb +4 -3
  1079. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  1080. data/spec/unit/util/watcher_spec.rb +21 -51
  1081. data/spec/unit/util/windows/access_control_entry_spec.rb +2 -1
  1082. data/spec/unit/util/windows/access_control_list_spec.rb +2 -1
  1083. data/spec/unit/util/windows/adsi_spec.rb +134 -278
  1084. data/spec/unit/util/windows/api_types_spec.rb +42 -105
  1085. data/spec/unit/util/windows/eventlog_spec.rb +13 -10
  1086. data/spec/unit/util/windows/file_spec.rb +1 -0
  1087. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  1088. data/spec/unit/util/windows/security_descriptor_spec.rb +3 -1
  1089. data/spec/unit/util/windows/service_spec.rb +180 -432
  1090. data/spec/unit/util/windows/sid_spec.rb +17 -15
  1091. data/spec/unit/util/windows/string_spec.rb +2 -1
  1092. data/spec/unit/util/yaml_spec.rb +162 -28
  1093. data/spec/unit/util_spec.rb +74 -119
  1094. data/spec/unit/version_spec.rb +6 -6
  1095. data/tasks/benchmark.rake +5 -1
  1096. data/tasks/ci.rake +0 -5
  1097. data/tasks/manpages.rake +9 -2
  1098. data/tasks/parser.rake +11 -3
  1099. metadata +156 -473
  1100. data/CODEOWNERS +0 -30
  1101. data/ext/rack/config.ru +0 -44
  1102. data/ext/rack/example-passenger-vhost.conf +0 -57
  1103. data/lib/puppet/application/ca.rb +0 -11
  1104. data/lib/puppet/application/certificate.rb +0 -17
  1105. data/lib/puppet/application/certificate_request.rb +0 -7
  1106. data/lib/puppet/application/certificate_revocation_list.rb +0 -7
  1107. data/lib/puppet/application/master.rb +0 -319
  1108. data/lib/puppet/confine/boolean.rb +0 -45
  1109. data/lib/puppet/external/nagios.rb +0 -46
  1110. data/lib/puppet/external/nagios/base.rb +0 -472
  1111. data/lib/puppet/external/nagios/grammar.ry +0 -248
  1112. data/lib/puppet/external/nagios/makefile +0 -9
  1113. data/lib/puppet/external/nagios/parser.rb +0 -400
  1114. data/lib/puppet/face/ca.rb +0 -266
  1115. data/lib/puppet/face/certificate.rb +0 -167
  1116. data/lib/puppet/face/certificate_request.rb +0 -56
  1117. data/lib/puppet/face/certificate_revocation_list.rb +0 -56
  1118. data/lib/puppet/feature/rack.rb +0 -19
  1119. data/lib/puppet/graph/random_prioritizer.rb +0 -16
  1120. data/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
  1121. data/lib/puppet/indirector/certificate/ca.rb +0 -9
  1122. data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  1123. data/lib/puppet/indirector/certificate_request/ca.rb +0 -22
  1124. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  1125. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
  1126. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  1127. data/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
  1128. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -22
  1129. data/lib/puppet/indirector/certificate_status.rb +0 -4
  1130. data/lib/puppet/indirector/certificate_status/file.rb +0 -91
  1131. data/lib/puppet/indirector/certificate_status/rest.rb +0 -11
  1132. data/lib/puppet/indirector/key/ca.rb +0 -16
  1133. data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  1134. data/lib/puppet/indirector/ldap.rb +0 -86
  1135. data/lib/puppet/indirector/node/ldap.rb +0 -275
  1136. data/lib/puppet/indirector/node/write_only_yaml.rb +0 -39
  1137. data/lib/puppet/module_tool/applications/builder.rb +0 -152
  1138. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +0 -18
  1139. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +0 -89
  1140. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -32
  1141. data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +0 -12
  1142. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +0 -48
  1143. data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +0 -1
  1144. data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -6
  1145. data/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
  1146. data/lib/puppet/network/http/api/ca.rb +0 -2
  1147. data/lib/puppet/network/http/api/ca/v1.rb +0 -11
  1148. data/lib/puppet/network/http/rack.rb +0 -33
  1149. data/lib/puppet/network/http/rack/rest.rb +0 -162
  1150. data/lib/puppet/network/http/webrick.rb +0 -124
  1151. data/lib/puppet/network/http/webrick/rest.rb +0 -114
  1152. data/lib/puppet/network/server.rb +0 -39
  1153. data/lib/puppet/provider/augeas/augeas.rb +0 -767
  1154. data/lib/puppet/provider/cisco.rb +0 -9
  1155. data/lib/puppet/provider/computer/computer.rb +0 -20
  1156. data/lib/puppet/provider/cron/crontab.rb +0 -297
  1157. data/lib/puppet/provider/host/parsed.rb +0 -46
  1158. data/lib/puppet/provider/interface/cisco.rb +0 -27
  1159. data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
  1160. data/lib/puppet/provider/mailalias/aliases.rb +0 -50
  1161. data/lib/puppet/provider/maillist/mailman.rb +0 -108
  1162. data/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
  1163. data/lib/puppet/provider/mount.rb +0 -76
  1164. data/lib/puppet/provider/mount/parsed.rb +0 -285
  1165. data/lib/puppet/provider/naginator.rb +0 -63
  1166. data/lib/puppet/provider/package/dnfmodule.rb +0 -141
  1167. data/lib/puppet/provider/package_targetable.rb +0 -69
  1168. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
  1169. data/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
  1170. data/lib/puppet/provider/selmodule/semodule.rb +0 -157
  1171. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
  1172. data/lib/puppet/provider/sshkey/parsed.rb +0 -50
  1173. data/lib/puppet/provider/vlan/cisco.rb +0 -28
  1174. data/lib/puppet/provider/yumrepo/inifile.rb +0 -315
  1175. data/lib/puppet/provider/zfs/zfs.rb +0 -108
  1176. data/lib/puppet/provider/zone/solaris.rb +0 -364
  1177. data/lib/puppet/provider/zpool/zpool.rb +0 -125
  1178. data/lib/puppet/ssl/certificate_authority.rb +0 -554
  1179. data/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
  1180. data/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
  1181. data/lib/puppet/ssl/certificate_revocation_list.rb +0 -111
  1182. data/lib/puppet/ssl/configuration.rb +0 -61
  1183. data/lib/puppet/ssl/inventory.rb +0 -55
  1184. data/lib/puppet/type/augeas.rb +0 -211
  1185. data/lib/puppet/type/computer.rb +0 -66
  1186. data/lib/puppet/type/cron.rb +0 -480
  1187. data/lib/puppet/type/host.rb +0 -95
  1188. data/lib/puppet/type/interface.rb +0 -121
  1189. data/lib/puppet/type/k5login.rb +0 -165
  1190. data/lib/puppet/type/macauthorization.rb +0 -167
  1191. data/lib/puppet/type/mailalias.rb +0 -46
  1192. data/lib/puppet/type/maillist.rb +0 -62
  1193. data/lib/puppet/type/mcx.rb +0 -98
  1194. data/lib/puppet/type/mount.rb +0 -314
  1195. data/lib/puppet/type/nagios_command.rb +0 -3
  1196. data/lib/puppet/type/nagios_contact.rb +0 -3
  1197. data/lib/puppet/type/nagios_contactgroup.rb +0 -3
  1198. data/lib/puppet/type/nagios_host.rb +0 -3
  1199. data/lib/puppet/type/nagios_hostdependency.rb +0 -3
  1200. data/lib/puppet/type/nagios_hostescalation.rb +0 -3
  1201. data/lib/puppet/type/nagios_hostextinfo.rb +0 -3
  1202. data/lib/puppet/type/nagios_hostgroup.rb +0 -3
  1203. data/lib/puppet/type/nagios_service.rb +0 -3
  1204. data/lib/puppet/type/nagios_servicedependency.rb +0 -3
  1205. data/lib/puppet/type/nagios_serviceescalation.rb +0 -3
  1206. data/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
  1207. data/lib/puppet/type/nagios_servicegroup.rb +0 -3
  1208. data/lib/puppet/type/nagios_timeperiod.rb +0 -3
  1209. data/lib/puppet/type/router.rb +0 -17
  1210. data/lib/puppet/type/scheduled_task.rb +0 -183
  1211. data/lib/puppet/type/selboolean.rb +0 -40
  1212. data/lib/puppet/type/selmodule.rb +0 -58
  1213. data/lib/puppet/type/ssh_authorized_key.rb +0 -143
  1214. data/lib/puppet/type/sshkey.rb +0 -83
  1215. data/lib/puppet/type/vlan.rb +0 -26
  1216. data/lib/puppet/type/yumrepo.rb +0 -430
  1217. data/lib/puppet/type/zfs.rb +0 -154
  1218. data/lib/puppet/type/zone.rb +0 -382
  1219. data/lib/puppet/type/zpool.rb +0 -91
  1220. data/lib/puppet/util/methodhelper.rb +0 -32
  1221. data/lib/puppet/util/nagios_maker.rb +0 -85
  1222. data/lib/puppet/util/network_device/cisco.rb +0 -4
  1223. data/lib/puppet/util/network_device/cisco/device.rb +0 -285
  1224. data/lib/puppet/util/network_device/cisco/facts.rb +0 -72
  1225. data/lib/puppet/util/network_device/cisco/interface.rb +0 -94
  1226. data/lib/puppet/util/network_device/ipcalc.rb +0 -68
  1227. data/lib/puppet/util/network_device/transport/ssh.rb +0 -126
  1228. data/lib/puppet/util/network_device/transport/telnet.rb +0 -47
  1229. data/lib/puppet/util/windows/taskscheduler.rb +0 -1267
  1230. data/lib/puppet/vendor/load_semantic.rb +0 -1
  1231. data/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
  1232. data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
  1233. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -11
  1234. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
  1235. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
  1236. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
  1237. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
  1238. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
  1239. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
  1240. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
  1241. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
  1242. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
  1243. data/lib/puppet/vendor/semantic_puppet/locales/config.yaml +0 -21
  1244. data/man/man8/puppet-ca.8 +0 -196
  1245. data/man/man8/puppet-cert.8 +0 -118
  1246. data/man/man8/puppet-certificate.8 +0 -240
  1247. data/man/man8/puppet-certificate_request.8 +0 -161
  1248. data/man/man8/puppet-certificate_revocation_list.8 +0 -139
  1249. data/man/man8/puppet-master.8 +0 -85
  1250. data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +0 -19
  1251. data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +0 -18
  1252. data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +0 -15
  1253. data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +0 -4
  1254. data/spec/fixtures/integration/provider/cron/crontab/modify_entry +0 -13
  1255. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +0 -15
  1256. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +0 -6
  1257. data/spec/fixtures/integration/provider/cron/crontab/purged +0 -8
  1258. data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +0 -12
  1259. data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +0 -14
  1260. data/spec/fixtures/integration/provider/cron/crontab/unspecialized +0 -15
  1261. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +0 -32
  1262. data/spec/fixtures/integration/provider/sshkey/sample +0 -21
  1263. data/spec/fixtures/unit/provider/augeas/augeas/augeas/lenses/test.aug +0 -13
  1264. data/spec/fixtures/unit/provider/augeas/augeas/etc/fstab +0 -10
  1265. data/spec/fixtures/unit/provider/augeas/augeas/etc/hosts +0 -6
  1266. data/spec/fixtures/unit/provider/augeas/augeas/etc/test +0 -3
  1267. data/spec/fixtures/unit/provider/augeas/augeas/test.aug +0 -13
  1268. data/spec/fixtures/unit/provider/host/parsed/valid_hosts +0 -19
  1269. data/spec/fixtures/unit/provider/mount/mount-output.aix.txt +0 -7
  1270. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +0 -152
  1271. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +0 -11
  1272. data/spec/fixtures/unit/provider/mount/parsed/darwin.mount +0 -6
  1273. data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +0 -9
  1274. data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +0 -4
  1275. data/spec/fixtures/unit/provider/mount/parsed/hpux.mount +0 -17
  1276. data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +0 -12
  1277. data/spec/fixtures/unit/provider/mount/parsed/linux.mount +0 -6
  1278. data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +0 -10
  1279. data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +0 -9
  1280. data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +0 -5
  1281. data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +0 -5
  1282. data/spec/fixtures/unit/provider/mount/parsed/solaris.fstab +0 -11
  1283. data/spec/fixtures/unit/provider/mount/parsed/solaris.mount +0 -6
  1284. data/spec/fixtures/unit/provider/naginator/define_empty_param +0 -6
  1285. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1286. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1287. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1288. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1289. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys +0 -7
  1290. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 +0 -3
  1291. data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 +0 -1
  1292. data/spec/fixtures/unit/provider/sshkey/parsed/sample +0 -21
  1293. data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +0 -8
  1294. data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +0 -2
  1295. data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +0 -2
  1296. data/spec/integration/faces/ca_spec.rb +0 -353
  1297. data/spec/integration/indirector/node/ldap_spec.rb +0 -13
  1298. data/spec/integration/network/http_pool_spec.rb +0 -120
  1299. data/spec/integration/provider/cron/crontab_spec.rb +0 -240
  1300. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1301. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -9
  1302. data/spec/integration/provider/mount_spec.rb +0 -163
  1303. data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -217
  1304. data/spec/integration/provider/sshkey_spec.rb +0 -153
  1305. data/spec/integration/provider/yumrepo_spec.rb +0 -126
  1306. data/spec/integration/ssl/autosign_spec.rb +0 -145
  1307. data/spec/integration/ssl/certificate_authority_spec.rb +0 -161
  1308. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -33
  1309. data/spec/integration/transaction_spec.rb +0 -553
  1310. data/spec/integration/type/nagios_spec.rb +0 -69
  1311. data/spec/integration/type/notify_spec.rb +0 -46
  1312. data/spec/integration/type/user_spec.rb +0 -63
  1313. data/spec/lib/puppet_spec/https.rb +0 -166
  1314. data/spec/unit/application/cert_spec.rb +0 -272
  1315. data/spec/unit/application/certificate_spec.rb +0 -21
  1316. data/spec/unit/application/master_spec.rb +0 -414
  1317. data/spec/unit/face/ca_spec.rb +0 -9
  1318. data/spec/unit/face/certificate_request_spec.rb +0 -9
  1319. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -9
  1320. data/spec/unit/face/certificate_spec.rb +0 -228
  1321. data/spec/unit/face/module/build_spec.rb +0 -69
  1322. data/spec/unit/graph/title_hash_prioritizer_spec.rb +0 -50
  1323. data/spec/unit/indirector/certificate/ca_spec.rb +0 -21
  1324. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -32
  1325. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -56
  1326. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -32
  1327. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -15
  1328. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -32
  1329. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -16
  1330. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -33
  1331. data/spec/unit/indirector/certificate_status/file_spec.rb +0 -190
  1332. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -17
  1333. data/spec/unit/indirector/code_spec.rb +0 -30
  1334. data/spec/unit/indirector/key/ca_spec.rb +0 -22
  1335. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -32
  1336. data/spec/unit/indirector/ldap_spec.rb +0 -151
  1337. data/spec/unit/indirector/node/ldap_spec.rb +0 -463
  1338. data/spec/unit/indirector/node/write_only_yaml_spec.rb +0 -11
  1339. data/spec/unit/module_tool/applications/builder_spec.rb +0 -439
  1340. data/spec/unit/network/http/api/ca/v1_spec.rb +0 -26
  1341. data/spec/unit/network/http/rack/rest_spec.rb +0 -322
  1342. data/spec/unit/network/http/rack_spec.rb +0 -42
  1343. data/spec/unit/network/http/webrick/rest_spec.rb +0 -230
  1344. data/spec/unit/network/http/webrick_spec.rb +0 -277
  1345. data/spec/unit/network/server_spec.rb +0 -94
  1346. data/spec/unit/provider/augeas/augeas_spec.rb +0 -1096
  1347. data/spec/unit/provider/cisco_spec.rb +0 -14
  1348. data/spec/unit/provider/cron/crontab_spec.rb +0 -206
  1349. data/spec/unit/provider/cron/parsed_spec.rb +0 -355
  1350. data/spec/unit/provider/host/parsed_spec.rb +0 -219
  1351. data/spec/unit/provider/interface/cisco_spec.rb +0 -53
  1352. data/spec/unit/provider/macauthorization_spec.rb +0 -134
  1353. data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -190
  1354. data/spec/unit/provider/mount/parsed_spec.rb +0 -318
  1355. data/spec/unit/provider/mount_spec.rb +0 -169
  1356. data/spec/unit/provider/naginator_spec.rb +0 -78
  1357. data/spec/unit/provider/network_device_spec.rb +0 -152
  1358. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -247
  1359. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1360. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +0 -2050
  1361. data/spec/unit/provider/selboolean_spec.rb +0 -34
  1362. data/spec/unit/provider/selmodule-example.pp +0 -0
  1363. data/spec/unit/provider/selmodule_spec.rb +0 -154
  1364. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -259
  1365. data/spec/unit/provider/sshkey/parsed_spec.rb +0 -92
  1366. data/spec/unit/provider/vlan/cisco_spec.rb +0 -53
  1367. data/spec/unit/provider/yumrepo/inifile_spec.rb +0 -413
  1368. data/spec/unit/provider/zfs/zfs_spec.rb +0 -171
  1369. data/spec/unit/provider/zone/solaris_spec.rb +0 -261
  1370. data/spec/unit/provider/zpool/zpool_spec.rb +0 -250
  1371. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1372. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +0 -29
  1373. data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -563
  1374. data/spec/unit/ssl/certificate_authority_spec.rb +0 -1165
  1375. data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -196
  1376. data/spec/unit/ssl/configuration_spec.rb +0 -138
  1377. data/spec/unit/ssl/inventory_spec.rb +0 -155
  1378. data/spec/unit/test/test_helper_spec.rb +0 -17
  1379. data/spec/unit/type/augeas_spec.rb +0 -120
  1380. data/spec/unit/type/computer_spec.rb +0 -77
  1381. data/spec/unit/type/cron_spec.rb +0 -539
  1382. data/spec/unit/type/host_spec.rb +0 -680
  1383. data/spec/unit/type/interface_spec.rb +0 -128
  1384. data/spec/unit/type/k5login_spec.rb +0 -204
  1385. data/spec/unit/type/macauthorization_spec.rb +0 -111
  1386. data/spec/unit/type/mailalias_spec.rb +0 -48
  1387. data/spec/unit/type/maillist_spec.rb +0 -38
  1388. data/spec/unit/type/mcx_spec.rb +0 -75
  1389. data/spec/unit/type/mount_spec.rb +0 -622
  1390. data/spec/unit/type/nagios_spec.rb +0 -312
  1391. data/spec/unit/type/scheduled_task_spec.rb +0 -117
  1392. data/spec/unit/type/selboolean_spec.rb +0 -41
  1393. data/spec/unit/type/selmodule_spec.rb +0 -16
  1394. data/spec/unit/type/ssh_authorized_key_spec.rb +0 -228
  1395. data/spec/unit/type/sshkey_spec.rb +0 -75
  1396. data/spec/unit/type/vlan_spec.rb +0 -42
  1397. data/spec/unit/type/yumrepo_spec.rb +0 -476
  1398. data/spec/unit/type/zfs_spec.rb +0 -45
  1399. data/spec/unit/type/zone_spec.rb +0 -182
  1400. data/spec/unit/type/zpool_spec.rb +0 -108
  1401. data/spec/unit/util/nagios_maker_spec.rb +0 -121
  1402. data/spec/unit/util/network_device/cisco/device_spec.rb +0 -491
  1403. data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -63
  1404. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -97
  1405. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -61
  1406. data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -252
  1407. data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -90
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/indirector/indirection'
@@ -6,23 +7,23 @@ shared_examples_for "Indirection Delegator" do
6
7
  it "should create a request object with the appropriate method name and all of the passed arguments" do
7
8
  request = Puppet::Indirector::Request.new(:indirection, :find, "me", nil)
8
9
 
9
- expect(@indirection).to receive(:request).with(@method, "mystuff", nil, :one => :two).and_return(request)
10
+ @indirection.expects(:request).with(@method, "mystuff", nil, :one => :two).returns request
10
11
 
11
- allow(@terminus).to receive(@method)
12
+ @terminus.stubs(@method)
12
13
 
13
14
  @indirection.send(@method, "mystuff", :one => :two)
14
15
  end
15
16
 
16
17
  it "should choose the terminus returned by the :terminus_class" do
17
- expect(@indirection).to receive(:terminus_class).and_return(:test_terminus)
18
+ @indirection.expects(:terminus_class).returns :test_terminus
18
19
 
19
- expect(@terminus).to receive(@method)
20
+ @terminus.expects(@method)
20
21
 
21
22
  @indirection.send(@method, "me")
22
23
  end
23
24
 
24
25
  it "should let the appropriate terminus perform the lookup" do
25
- expect(@terminus).to receive(@method).with(be_a(Puppet::Indirector::Request))
26
+ @terminus.expects(@method).with { |r| r.is_a?(Puppet::Indirector::Request) }
26
27
  @indirection.send(@method, "me")
27
28
  end
28
29
  end
@@ -37,38 +38,38 @@ shared_examples_for "Delegation Authorizer" do
37
38
  end
38
39
 
39
40
  it "should not check authorization if a node name is not provided" do
40
- expect(@terminus).not_to receive(:authorized?)
41
- allow(@terminus).to receive(@method)
41
+ @terminus.expects(:authorized?).never
42
+ @terminus.stubs(@method)
42
43
 
43
- # The parenthesis are necessary here, else it looks like a block.
44
- allow(@request).to receive(:options).and_return({})
44
+ # The quotes are necessary here, else it looks like a block.
45
+ @request.stubs(:options).returns({})
45
46
  @indirection.send(@method, "/my/key")
46
47
  end
47
48
 
48
49
  it "should pass the request to the terminus's authorization method" do
49
- expect(@terminus).to receive(:authorized?).with(be_a(Puppet::Indirector::Request)).and_return(true)
50
- allow(@terminus).to receive(@method)
50
+ @terminus.expects(:authorized?).with { |r| r.is_a?(Puppet::Indirector::Request) }.returns(true)
51
+ @terminus.stubs(@method)
51
52
 
52
53
  @indirection.send(@method, "/my/key", :node => "mynode")
53
54
  end
54
55
 
55
56
  it "should fail if authorization returns false" do
56
- expect(@terminus).to receive(:authorized?).and_return(false)
57
- allow(@terminus).to receive(@method)
57
+ @terminus.expects(:authorized?).returns(false)
58
+ @terminus.stubs(@method)
58
59
  expect { @indirection.send(@method, "/my/key", :node => "mynode") }.to raise_error(ArgumentError)
59
60
  end
60
61
 
61
62
  it "should continue if authorization returns true" do
62
- expect(@terminus).to receive(:authorized?).and_return(true)
63
- allow(@terminus).to receive(@method)
63
+ @terminus.expects(:authorized?).returns(true)
64
+ @terminus.stubs(@method)
64
65
  @indirection.send(@method, "/my/key", :node => "mynode")
65
66
  end
66
67
  end
67
68
 
68
69
  shared_examples_for "Request validator" do
69
70
  it "asks the terminus to validate the request" do
70
- expect(@terminus).to receive(:validate).and_raise(Puppet::Indirector::ValidationError, "Invalid")
71
- expect(@terminus).not_to receive(@method)
71
+ @terminus.expects(:validate).raises(Puppet::Indirector::ValidationError, "Invalid")
72
+ @terminus.expects(@method).never
72
73
  expect {
73
74
  @indirection.send(@method, "key")
74
75
  }.to raise_error Puppet::Indirector::ValidationError
@@ -77,32 +78,25 @@ end
77
78
 
78
79
  describe Puppet::Indirector::Indirection do
79
80
  describe "when initializing" do
80
- # (LAK) I've no idea how to test this, really.
81
- it "should store a reference to itself before it consumes its options" do
82
- expect { @indirection = Puppet::Indirector::Indirection.new(Object.new, :testingness, :not_valid_option) }.to raise_error(NoMethodError, /undefined method/)
83
- expect(Puppet::Indirector::Indirection.instance(:testingness)).to be_instance_of(Puppet::Indirector::Indirection)
84
- Puppet::Indirector::Indirection.instance(:testingness).delete
85
- end
86
-
87
81
  it "should keep a reference to the indirecting model" do
88
- model = double('model')
82
+ model = mock 'model'
89
83
  @indirection = Puppet::Indirector::Indirection.new(model, :myind)
90
84
  expect(@indirection.model).to equal(model)
91
85
  end
92
86
 
93
87
  it "should set the name" do
94
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :myind)
88
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :myind)
95
89
  expect(@indirection.name).to eq(:myind)
96
90
  end
97
91
 
98
92
  it "should require indirections to have unique names" do
99
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
93
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
100
94
  expect { Puppet::Indirector::Indirection.new(:test) }.to raise_error(ArgumentError)
101
95
  end
102
96
 
103
97
  it "should extend itself with any specified module" do
104
98
  mod = Module.new
105
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test, :extend => mod)
99
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test, :extend => mod)
106
100
  expect(@indirection.singleton_class.included_modules).to include(mod)
107
101
  end
108
102
 
@@ -113,22 +107,23 @@ describe Puppet::Indirector::Indirection do
113
107
 
114
108
  describe "when an instance" do
115
109
  before :each do
116
- @terminus_class = double('terminus_class')
117
- @terminus = double('terminus')
118
- allow(@terminus).to receive(:validate)
119
- allow(@terminus_class).to receive(:new).and_return(@terminus)
120
- @cache = double('cache', :name => "mycache")
121
- @cache_class = double('cache_class')
122
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
123
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
124
-
125
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
110
+ @terminus_class = mock 'terminus_class'
111
+ @terminus = mock 'terminus'
112
+ @terminus.stubs(:validate)
113
+ @terminus_class.stubs(:new).returns(@terminus)
114
+ @cache = stub 'cache', :name => "mycache"
115
+ @cache_class = mock 'cache_class'
116
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :cache_terminus).returns(@cache_class)
117
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :test_terminus).returns(@terminus_class)
118
+
119
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
126
120
  @indirection.terminus_class = :test_terminus
127
121
 
128
- @instance = double('instance', :expiration => nil, :expiration= => nil, :name => "whatever")
122
+ @instance = stub 'instance', :expiration => nil, :expiration= => nil, :name => "whatever"
129
123
  @name = :mything
130
124
 
131
- @request = double('instance')
125
+ #@request = stub 'instance', :key => "/my/key", :instance => @instance, :options => {}
126
+ @request = mock 'instance'
132
127
  end
133
128
 
134
129
  it "should allow setting the ttl" do
@@ -142,9 +137,9 @@ describe Puppet::Indirector::Indirection do
142
137
  end
143
138
 
144
139
  it "should calculate the current expiration by adding the TTL to the current time" do
145
- allow(@indirection).to receive(:ttl).and_return(100)
140
+ @indirection.stubs(:ttl).returns(100)
146
141
  now = Time.now
147
- allow(Time).to receive(:now).and_return(now)
142
+ Time.stubs(:now).returns now
148
143
  expect(@indirection.expiration).to eq(Time.now + 100)
149
144
  end
150
145
 
@@ -154,28 +149,28 @@ describe Puppet::Indirector::Indirection do
154
149
 
155
150
  describe "creates a request" do
156
151
  it "should create it with its name as the request's indirection name" do
157
- expect(Puppet::Indirector::Request).to receive(:new).with(@indirection.name, anything, anything)
152
+ Puppet::Indirector::Request.expects(:new).with { |name, *other| @indirection.name == name }
158
153
  @indirection.request(:funtest, "yayness")
159
154
  end
160
155
 
161
156
  it "should require a method and key" do
162
- expect(Puppet::Indirector::Request).to receive(:new).with(anything, :funtest, "yayness")
157
+ Puppet::Indirector::Request.expects(:new).with { |name, method, key, *other| method == :funtest and key == "yayness" }
163
158
  @indirection.request(:funtest, "yayness")
164
159
  end
165
160
 
166
161
  it "should support optional arguments" do
167
- expect(Puppet::Indirector::Request).to receive(:new).with(anything, anything, anything, {:one => :two})
162
+ Puppet::Indirector::Request.expects(:new).with { |name, method, key, other| other == {:one => :two} }
168
163
  @indirection.request(:funtest, "yayness", :one => :two)
169
164
  end
170
165
 
171
166
  it "should not pass options if none are supplied" do
172
- expect(Puppet::Indirector::Request).to receive(:new).with(anything, anything, anything)
167
+ Puppet::Indirector::Request.expects(:new).with { |*args| args.length < 4 }
173
168
  @indirection.request(:funtest, "yayness")
174
169
  end
175
170
 
176
171
  it "should return the request" do
177
- request = double('request')
178
- expect(Puppet::Indirector::Request).to receive(:new).and_return(request)
172
+ request = mock 'request'
173
+ Puppet::Indirector::Request.expects(:new).returns request
179
174
  expect(@indirection.request(:funtest, "yayness")).to equal(request)
180
175
  end
181
176
  end
@@ -188,204 +183,190 @@ describe Puppet::Indirector::Indirection do
188
183
  it_should_behave_like "Request validator"
189
184
 
190
185
  it "should return the results of the delegation" do
191
- expect(@terminus).to receive(:find).and_return(@instance)
186
+ @terminus.expects(:find).returns(@instance)
192
187
  expect(@indirection.find("me")).to equal(@instance)
193
188
  end
194
189
 
195
190
  it "should return false if the instance is false" do
196
- expect(@terminus).to receive(:find).and_return(false)
191
+ @terminus.expects(:find).returns(false)
197
192
  expect(@indirection.find("me")).to equal(false)
198
193
  end
199
194
 
200
195
  it "should set the expiration date on any instances without one set" do
201
- allow(@terminus).to receive(:find).and_return(@instance)
196
+ @terminus.stubs(:find).returns(@instance)
202
197
 
203
- expect(@indirection).to receive(:expiration).and_return(:yay)
198
+ @indirection.expects(:expiration).returns :yay
204
199
 
205
- expect(@instance).to receive(:expiration).and_return(nil)
206
- expect(@instance).to receive(:expiration=).with(:yay)
200
+ @instance.expects(:expiration).returns(nil)
201
+ @instance.expects(:expiration=).with(:yay)
207
202
 
208
203
  @indirection.find("/my/key")
209
204
  end
210
205
 
211
206
  it "should not override an already-set expiration date on returned instances" do
212
- allow(@terminus).to receive(:find).and_return(@instance)
207
+ @terminus.stubs(:find).returns(@instance)
213
208
 
214
- expect(@indirection).not_to receive(:expiration)
209
+ @indirection.expects(:expiration).never
215
210
 
216
- expect(@instance).to receive(:expiration).and_return(:yay)
217
- expect(@instance).not_to receive(:expiration=)
211
+ @instance.expects(:expiration).returns(:yay)
212
+ @instance.expects(:expiration=).never
218
213
 
219
214
  @indirection.find("/my/key")
220
215
  end
221
216
 
222
217
  it "should filter the result instance if the terminus supports it" do
223
- allow(@terminus).to receive(:find).and_return(@instance)
224
- allow(@terminus).to receive(:respond_to?).with(:filter).and_return(true)
218
+ @terminus.stubs(:find).returns(@instance)
219
+ @terminus.stubs(:respond_to?).with(:filter).returns(true)
225
220
 
226
- expect(@terminus).to receive(:filter).with(@instance)
221
+ @terminus.expects(:filter).with(@instance)
227
222
 
228
223
  @indirection.find("/my/key")
229
224
  end
230
-
231
225
  describe "when caching is enabled" do
232
226
  before do
233
227
  @indirection.cache_class = :cache_terminus
234
- allow(@cache_class).to receive(:new).and_return(@cache)
228
+ @cache_class.stubs(:new).returns(@cache)
235
229
 
236
- allow(@instance).to receive(:expired?).and_return(false)
230
+ @instance.stubs(:expired?).returns false
237
231
  end
238
232
 
239
233
  it "should first look in the cache for an instance" do
240
- expect(@terminus).not_to receive(:find)
241
- expect(@cache).to receive(:find).and_return(@instance)
234
+ @terminus.stubs(:find).never
235
+ @cache.expects(:find).returns @instance
242
236
 
243
237
  @indirection.find("/my/key")
244
238
  end
245
239
 
246
240
  it "should not look in the cache if the request specifies not to use the cache" do
247
- expect(@terminus).to receive(:find).and_return(@instance)
248
- expect(@cache).not_to receive(:find)
249
- allow(@cache).to receive(:save)
241
+ @terminus.expects(:find).returns @instance
242
+ @cache.expects(:find).never
243
+ @cache.stubs(:save)
250
244
 
251
245
  @indirection.find("/my/key", :ignore_cache => true)
252
246
  end
253
247
 
254
248
  it "should still save to the cache even if the cache is being ignored during readin" do
255
- expect(@terminus).to receive(:find).and_return(@instance)
256
- expect(@cache).to receive(:save)
249
+ @terminus.expects(:find).returns @instance
250
+ @cache.expects(:save)
257
251
 
258
252
  @indirection.find("/my/key", :ignore_cache => true)
259
253
  end
260
254
 
261
255
  it "should not save to the cache if told to skip updating the cache" do
262
- expect(@terminus).to receive(:find).and_return(@instance)
263
- expect(@cache).to receive(:find).and_return(nil)
264
- expect(@cache).not_to receive(:save)
256
+ @terminus.expects(:find).returns @instance
257
+ @cache.expects(:find).returns nil
258
+ @cache.expects(:save).never
265
259
 
266
260
  @indirection.find("/my/key", :ignore_cache_save => true)
267
261
  end
268
262
 
269
263
  it "should only look in the cache if the request specifies not to use the terminus" do
270
- expect(@terminus).not_to receive(:find)
271
- expect(@cache).to receive(:find)
264
+ @terminus.expects(:find).never
265
+ @cache.expects(:find)
272
266
 
273
267
  @indirection.find("/my/key", :ignore_terminus => true)
274
268
  end
275
269
 
276
270
  it "should use a request to look in the cache for cached objects" do
277
- expect(@cache).to receive(:find) do |r|
278
- expect(r.method).to eq(:find)
279
- expect(r.key).to eq("/my/key")
271
+ @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns @instance
280
272
 
281
- @instance
282
- end
283
-
284
- allow(@cache).to receive(:save)
273
+ @cache.stubs(:save)
285
274
 
286
275
  @indirection.find("/my/key")
287
276
  end
288
277
 
289
278
  it "should return the cached object if it is not expired" do
290
- allow(@instance).to receive(:expired?).and_return(false)
279
+ @instance.stubs(:expired?).returns false
291
280
 
292
- allow(@cache).to receive(:find).and_return(@instance)
281
+ @cache.stubs(:find).returns @instance
293
282
  expect(@indirection.find("/my/key")).to equal(@instance)
294
283
  end
295
284
 
296
285
  it "should not fail if the cache fails" do
297
- allow(@terminus).to receive(:find).and_return(@instance)
286
+ @terminus.stubs(:find).returns @instance
298
287
 
299
- expect(@cache).to receive(:find).and_raise(ArgumentError)
300
- allow(@cache).to receive(:save)
288
+ @cache.expects(:find).raises ArgumentError
289
+ @cache.stubs(:save)
301
290
  expect { @indirection.find("/my/key") }.not_to raise_error
302
291
  end
303
292
 
304
293
  it "should look in the main terminus if the cache fails" do
305
- expect(@terminus).to receive(:find).and_return(@instance)
306
- expect(@cache).to receive(:find).and_raise(ArgumentError)
307
- allow(@cache).to receive(:save)
294
+ @terminus.expects(:find).returns @instance
295
+ @cache.expects(:find).raises ArgumentError
296
+ @cache.stubs(:save)
308
297
  expect(@indirection.find("/my/key")).to equal(@instance)
309
298
  end
310
299
 
311
300
  it "should send a debug log if it is using the cached object" do
312
- expect(Puppet).to receive(:debug)
313
- allow(@cache).to receive(:find).and_return(@instance)
301
+ Puppet.expects(:debug)
302
+ @cache.stubs(:find).returns @instance
314
303
 
315
304
  @indirection.find("/my/key")
316
305
  end
317
306
 
318
307
  it "should not return the cached object if it is expired" do
319
- allow(@instance).to receive(:expired?).and_return(true)
308
+ @instance.stubs(:expired?).returns true
320
309
 
321
- allow(@cache).to receive(:find).and_return(@instance)
322
- allow(@terminus).to receive(:find).and_return(nil)
310
+ @cache.stubs(:find).returns @instance
311
+ @terminus.stubs(:find).returns nil
323
312
  expect(@indirection.find("/my/key")).to be_nil
324
313
  end
325
314
 
326
315
  it "should send an info log if it is using the cached object" do
327
- expect(Puppet).to receive(:info)
328
- allow(@instance).to receive(:expired?).and_return(true)
316
+ Puppet.expects(:info)
317
+ @instance.stubs(:expired?).returns true
329
318
 
330
- allow(@cache).to receive(:find).and_return(@instance)
331
- allow(@terminus).to receive(:find).and_return(nil)
319
+ @cache.stubs(:find).returns @instance
320
+ @terminus.stubs(:find).returns nil
332
321
  @indirection.find("/my/key")
333
322
  end
334
323
 
335
324
  it "should cache any objects not retrieved from the cache" do
336
- expect(@cache).to receive(:find).and_return(nil)
325
+ @cache.expects(:find).returns nil
337
326
 
338
- expect(@terminus).to receive(:find).and_return(@instance)
339
- expect(@cache).to receive(:save)
327
+ @terminus.expects(:find).returns(@instance)
328
+ @cache.expects(:save)
340
329
 
341
330
  @indirection.find("/my/key")
342
331
  end
343
332
 
344
333
  it "should use a request to look in the cache for cached objects" do
345
- expect(@cache).to receive(:find) do |r|
346
- expect(r.method).to eq(:find)
347
- expect(r.key).to eq("/my/key")
348
-
349
- nil
350
- end
334
+ @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns nil
351
335
 
352
- allow(@terminus).to receive(:find).and_return(@instance)
353
- allow(@cache).to receive(:save)
336
+ @terminus.stubs(:find).returns(@instance)
337
+ @cache.stubs(:save)
354
338
 
355
339
  @indirection.find("/my/key")
356
340
  end
357
341
 
358
342
  it "should cache the instance using a request with the instance set to the cached object" do
359
- allow(@cache).to receive(:find).and_return(nil)
343
+ @cache.stubs(:find).returns nil
360
344
 
361
- allow(@terminus).to receive(:find).and_return(@instance)
345
+ @terminus.stubs(:find).returns(@instance)
362
346
 
363
- expect(@cache).to receive(:save) do |r|
364
- expect(r.method).to eq(:save)
365
- expect(r.instance).to eq(@instance)
366
- end
347
+ @cache.expects(:save).with { |r| r.method == :save and r.instance == @instance }
367
348
 
368
349
  @indirection.find("/my/key")
369
350
  end
370
351
 
371
352
  it "should send an info log that the object is being cached" do
372
- allow(@cache).to receive(:find).and_return(nil)
353
+ @cache.stubs(:find).returns nil
373
354
 
374
- allow(@terminus).to receive(:find).and_return(@instance)
375
- allow(@cache).to receive(:save)
355
+ @terminus.stubs(:find).returns(@instance)
356
+ @cache.stubs(:save)
376
357
 
377
- expect(Puppet).to receive(:info)
358
+ Puppet.expects(:info)
378
359
 
379
360
  @indirection.find("/my/key")
380
361
  end
381
362
 
382
363
  it "should fail if saving to the cache fails but log the exception" do
383
- allow(@cache).to receive(:find).and_return(nil)
364
+ @cache.stubs(:find).returns nil
384
365
 
385
- allow(@terminus).to receive(:find).and_return(@instance)
386
- allow(@cache).to receive(:save).and_raise(RuntimeError)
366
+ @terminus.stubs(:find).returns(@instance)
367
+ @cache.stubs(:save).raises RuntimeError
387
368
 
388
- expect(Puppet).to receive(:log_exception)
369
+ Puppet.expects(:log_exception)
389
370
 
390
371
  expect { @indirection.find("/my/key") }.to raise_error RuntimeError
391
372
  end
@@ -400,63 +381,63 @@ describe Puppet::Indirector::Indirection do
400
381
  it_should_behave_like "Request validator"
401
382
 
402
383
  it "should return true if the head method returned true" do
403
- expect(@terminus).to receive(:head).and_return(true)
384
+ @terminus.expects(:head).returns(true)
404
385
  expect(@indirection.head("me")).to eq(true)
405
386
  end
406
387
 
407
388
  it "should return false if the head method returned false" do
408
- expect(@terminus).to receive(:head).and_return(false)
389
+ @terminus.expects(:head).returns(false)
409
390
  expect(@indirection.head("me")).to eq(false)
410
391
  end
411
392
 
412
393
  describe "when caching is enabled" do
413
394
  before do
414
395
  @indirection.cache_class = :cache_terminus
415
- allow(@cache_class).to receive(:new).and_return(@cache)
396
+ @cache_class.stubs(:new).returns(@cache)
416
397
 
417
- allow(@instance).to receive(:expired?).and_return(false)
398
+ @instance.stubs(:expired?).returns false
418
399
  end
419
400
 
420
401
  it "should first look in the cache for an instance" do
421
- expect(@terminus).not_to receive(:find)
422
- expect(@terminus).not_to receive(:head)
423
- expect(@cache).to receive(:find).and_return(@instance)
402
+ @terminus.stubs(:find).never
403
+ @terminus.stubs(:head).never
404
+ @cache.expects(:find).returns @instance
424
405
 
425
406
  expect(@indirection.head("/my/key")).to eq(true)
426
407
  end
427
408
 
428
409
  it "should not save to the cache" do
429
- expect(@cache).to receive(:find).and_return(nil)
430
- expect(@cache).not_to receive(:save)
431
- expect(@terminus).to receive(:head).and_return(true)
410
+ @cache.expects(:find).returns nil
411
+ @cache.expects(:save).never
412
+ @terminus.expects(:head).returns true
432
413
  expect(@indirection.head("/my/key")).to eq(true)
433
414
  end
434
415
 
435
416
  it "should not fail if the cache fails" do
436
- allow(@terminus).to receive(:head).and_return(true)
417
+ @terminus.stubs(:head).returns true
437
418
 
438
- expect(@cache).to receive(:find).and_raise(ArgumentError)
419
+ @cache.expects(:find).raises ArgumentError
439
420
  expect { @indirection.head("/my/key") }.not_to raise_error
440
421
  end
441
422
 
442
423
  it "should look in the main terminus if the cache fails" do
443
- expect(@terminus).to receive(:head).and_return(true)
444
- expect(@cache).to receive(:find).and_raise(ArgumentError)
424
+ @terminus.expects(:head).returns true
425
+ @cache.expects(:find).raises ArgumentError
445
426
  expect(@indirection.head("/my/key")).to eq(true)
446
427
  end
447
428
 
448
429
  it "should send a debug log if it is using the cached object" do
449
- expect(Puppet).to receive(:debug)
450
- allow(@cache).to receive(:find).and_return(@instance)
430
+ Puppet.expects(:debug)
431
+ @cache.stubs(:find).returns @instance
451
432
 
452
433
  @indirection.head("/my/key")
453
434
  end
454
435
 
455
436
  it "should not accept the cached object if it is expired" do
456
- allow(@instance).to receive(:expired?).and_return(true)
437
+ @instance.stubs(:expired?).returns true
457
438
 
458
- allow(@cache).to receive(:find).and_return(@instance)
459
- allow(@terminus).to receive(:head).and_return(false)
439
+ @cache.stubs(:find).returns @instance
440
+ @terminus.stubs(:head).returns false
460
441
  expect(@indirection.head("/my/key")).to eq(false)
461
442
  end
462
443
  end
@@ -466,51 +447,51 @@ describe Puppet::Indirector::Indirection do
466
447
  before { @method = :save }
467
448
 
468
449
  it "should return the result of the save" do
469
- allow(@terminus).to receive(:save).and_return("foo")
450
+ @terminus.stubs(:save).returns "foo"
470
451
  expect(@indirection.save(@instance)).to eq("foo")
471
452
  end
472
453
 
473
454
  describe "when caching is enabled" do
474
455
  before do
475
456
  @indirection.cache_class = :cache_terminus
476
- allow(@cache_class).to receive(:new).and_return(@cache)
457
+ @cache_class.stubs(:new).returns(@cache)
477
458
 
478
- allow(@instance).to receive(:expired?).and_return(false)
459
+ @instance.stubs(:expired?).returns false
479
460
  end
480
461
 
481
462
  it "should return the result of saving to the terminus" do
482
- request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
463
+ request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
483
464
 
484
- expect(@indirection).to receive(:request).and_return(request)
465
+ @indirection.expects(:request).returns request
485
466
 
486
- allow(@cache).to receive(:save)
487
- allow(@terminus).to receive(:save).and_return(@instance)
467
+ @cache.stubs(:save)
468
+ @terminus.stubs(:save).returns @instance
488
469
  expect(@indirection.save(@instance)).to equal(@instance)
489
470
  end
490
471
 
491
472
  it "should use a request to save the object to the cache" do
492
- request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
473
+ request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
493
474
 
494
- expect(@indirection).to receive(:request).and_return(request)
475
+ @indirection.expects(:request).returns request
495
476
 
496
- expect(@cache).to receive(:save).with(request)
497
- allow(@terminus).to receive(:save)
477
+ @cache.expects(:save).with(request)
478
+ @terminus.stubs(:save)
498
479
  @indirection.save(@instance)
499
480
  end
500
481
 
501
482
  it "should not save to the cache if the normal save fails" do
502
- request = double('request', :instance => @instance, :node => nil)
483
+ request = stub 'request', :instance => @instance, :node => nil
503
484
 
504
- expect(@indirection).to receive(:request).and_return(request)
485
+ @indirection.expects(:request).returns request
505
486
 
506
- expect(@cache).not_to receive(:save)
507
- expect(@terminus).to receive(:save).and_raise("eh")
487
+ @cache.expects(:save).never
488
+ @terminus.expects(:save).raises "eh"
508
489
  expect { @indirection.save(@instance) }.to raise_error(RuntimeError, /eh/)
509
490
  end
510
491
 
511
492
  it "should not save to the cache if told to ignore saving to the cache" do
512
- expect(@terminus).to receive(:save)
513
- expect(@cache).not_to receive(:save)
493
+ @terminus.expects(:save)
494
+ @cache.expects(:save).never
514
495
 
515
496
  @indirection.save(@instance, '/my/key', :ignore_cache_save => true)
516
497
  end
@@ -525,31 +506,31 @@ describe Puppet::Indirector::Indirection do
525
506
  it_should_behave_like "Request validator"
526
507
 
527
508
  it "should return the result of removing the instance" do
528
- allow(@terminus).to receive(:destroy).and_return("yayness")
509
+ @terminus.stubs(:destroy).returns "yayness"
529
510
  expect(@indirection.destroy("/my/key")).to eq("yayness")
530
511
  end
531
512
 
532
513
  describe "when caching is enabled" do
533
514
  before do
534
515
  @indirection.cache_class = :cache_terminus
535
- expect(@cache_class).to receive(:new).and_return(@cache)
516
+ @cache_class.expects(:new).returns(@cache)
536
517
 
537
- allow(@instance).to receive(:expired?).and_return(false)
518
+ @instance.stubs(:expired?).returns false
538
519
  end
539
520
 
540
521
  it "should use a request instance to search in and remove objects from the cache" do
541
- destroy = double('destroy_request', :key => "/my/key", :node => nil)
542
- find = double('destroy_request', :key => "/my/key", :node => nil)
522
+ destroy = stub 'destroy_request', :key => "/my/key", :node => nil
523
+ find = stub 'destroy_request', :key => "/my/key", :node => nil
543
524
 
544
- expect(@indirection).to receive(:request).with(:destroy, "/my/key", nil, be_a(Hash).or(be_nil)).and_return(destroy)
545
- expect(@indirection).to receive(:request).with(:find, "/my/key", nil, be_a(Hash).or(be_nil)).and_return(find)
525
+ @indirection.expects(:request).with(:destroy, "/my/key", nil, optionally(instance_of(Hash))).returns destroy
526
+ @indirection.expects(:request).with(:find, "/my/key", nil, optionally(instance_of(Hash))).returns find
546
527
 
547
- cached = double('cache')
528
+ cached = mock 'cache'
548
529
 
549
- expect(@cache).to receive(:find).with(find).and_return(cached)
550
- expect(@cache).to receive(:destroy).with(destroy)
530
+ @cache.expects(:find).with(find).returns cached
531
+ @cache.expects(:destroy).with(destroy)
551
532
 
552
- allow(@terminus).to receive(:destroy)
533
+ @terminus.stubs(:destroy)
553
534
 
554
535
  @indirection.destroy("/my/key")
555
536
  end
@@ -564,29 +545,29 @@ describe Puppet::Indirector::Indirection do
564
545
  it_should_behave_like "Request validator"
565
546
 
566
547
  it "should set the expiration date on any instances without one set" do
567
- allow(@terminus).to receive(:search).and_return([@instance])
548
+ @terminus.stubs(:search).returns([@instance])
568
549
 
569
- expect(@indirection).to receive(:expiration).and_return(:yay)
550
+ @indirection.expects(:expiration).returns :yay
570
551
 
571
- expect(@instance).to receive(:expiration).and_return(nil)
572
- expect(@instance).to receive(:expiration=).with(:yay)
552
+ @instance.expects(:expiration).returns(nil)
553
+ @instance.expects(:expiration=).with(:yay)
573
554
 
574
555
  @indirection.search("/my/key")
575
556
  end
576
557
 
577
558
  it "should not override an already-set expiration date on returned instances" do
578
- allow(@terminus).to receive(:search).and_return([@instance])
559
+ @terminus.stubs(:search).returns([@instance])
579
560
 
580
- expect(@indirection).not_to receive(:expiration)
561
+ @indirection.expects(:expiration).never
581
562
 
582
- expect(@instance).to receive(:expiration).and_return(:yay)
583
- expect(@instance).not_to receive(:expiration=)
563
+ @instance.expects(:expiration).returns(:yay)
564
+ @instance.expects(:expiration=).never
584
565
 
585
566
  @indirection.search("/my/key")
586
567
  end
587
568
 
588
569
  it "should return the results of searching in the terminus" do
589
- expect(@terminus).to receive(:search).and_return([@instance])
570
+ @terminus.expects(:search).returns([@instance])
590
571
  expect(@indirection.search("/my/key")).to eq([@instance])
591
572
  end
592
573
  end
@@ -594,7 +575,7 @@ describe Puppet::Indirector::Indirection do
594
575
  describe "and expiring a model instance" do
595
576
  describe "when caching is not enabled" do
596
577
  it "should do nothing" do
597
- expect(@cache_class).not_to receive(:new)
578
+ @cache_class.expects(:new).never
598
579
 
599
580
  @indirection.expire("/my/key")
600
581
  end
@@ -603,75 +584,65 @@ describe Puppet::Indirector::Indirection do
603
584
  describe "when caching is enabled" do
604
585
  before do
605
586
  @indirection.cache_class = :cache_terminus
606
- expect(@cache_class).to receive(:new).and_return(@cache)
587
+ @cache_class.expects(:new).returns(@cache)
607
588
 
608
- allow(@instance).to receive(:expired?).and_return(false)
589
+ @instance.stubs(:expired?).returns false
609
590
 
610
- @cached = double('cached', :expiration= => nil, :name => "/my/key")
591
+ @cached = stub 'cached', :expiration= => nil, :name => "/my/key"
611
592
  end
612
593
 
613
594
  it "should use a request to find within the cache" do
614
- expect(@cache).to receive(:find) do |r|
615
- expect(r).to be_a(Puppet::Indirector::Request)
616
- expect(r.method).to eq(:find)
617
- nil
618
- end
595
+ @cache.expects(:find).with { |r| r.is_a?(Puppet::Indirector::Request) and r.method == :find }
619
596
  @indirection.expire("/my/key")
620
597
  end
621
598
 
622
599
  it "should do nothing if no such instance is cached" do
623
- expect(@cache).to receive(:find).and_return(nil)
600
+ @cache.expects(:find).returns nil
624
601
 
625
602
  @indirection.expire("/my/key")
626
603
  end
627
604
 
628
605
  it "should log when expiring a found instance" do
629
- expect(@cache).to receive(:find).and_return(@cached)
630
- allow(@cache).to receive(:save)
606
+ @cache.expects(:find).returns @cached
607
+ @cache.stubs(:save)
631
608
 
632
- expect(Puppet).to receive(:info)
609
+ Puppet.expects(:info)
633
610
 
634
611
  @indirection.expire("/my/key")
635
612
  end
636
613
 
637
614
  it "should set the cached instance's expiration to a time in the past" do
638
- expect(@cache).to receive(:find).and_return(@cached)
639
- allow(@cache).to receive(:save)
615
+ @cache.expects(:find).returns @cached
616
+ @cache.stubs(:save)
640
617
 
641
- expect(@cached).to receive(:expiration=).with(be < Time.now)
618
+ @cached.expects(:expiration=).with { |t| t < Time.now }
642
619
 
643
620
  @indirection.expire("/my/key")
644
621
  end
645
622
 
646
623
  it "should save the now expired instance back into the cache" do
647
- expect(@cache).to receive(:find).and_return(@cached)
624
+ @cache.expects(:find).returns @cached
648
625
 
649
- expect(@cached).to receive(:expiration=).with(be < Time.now)
626
+ @cached.expects(:expiration=).with { |t| t < Time.now }
650
627
 
651
- expect(@cache).to receive(:save)
628
+ @cache.expects(:save)
652
629
 
653
630
  @indirection.expire("/my/key")
654
631
  end
655
632
 
656
633
  it "does not expire an instance if told to skip cache saving" do
657
- expect(@indirection.cache).not_to receive(:find)
658
- expect(@indirection.cache).not_to receive(:save)
634
+ @indirection.cache.expects(:find).never
635
+ @indirection.cache.expects(:save).never
659
636
 
660
637
  @indirection.expire("/my/key", :ignore_cache_save => true)
661
638
  end
662
639
 
663
640
  it "should use a request to save the expired resource to the cache" do
664
- expect(@cache).to receive(:find).and_return(@cached)
641
+ @cache.expects(:find).returns @cached
665
642
 
666
- expect(@cached).to receive(:expiration=).with(be < Time.now)
643
+ @cached.expects(:expiration=).with { |t| t < Time.now }
667
644
 
668
- expect(@cache).to receive(:save) do |r|
669
- expect(r).to be_a(Puppet::Indirector::Request)
670
- expect(r.instance).to eq(@cached)
671
- expect(r.method).to eq(:save)
672
-
673
- @cached
674
- end
645
+ @cache.expects(:save).with { |r| r.is_a?(Puppet::Indirector::Request) and r.instance == @cached and r.method == :save }.returns(@cached)
675
646
 
676
647
  @indirection.expire("/my/key")
677
648
  end
@@ -686,7 +657,7 @@ describe Puppet::Indirector::Indirection do
686
657
 
687
658
  describe "when managing indirection instances" do
688
659
  it "should allow an indirection to be retrieved by name" do
689
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
660
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
690
661
  expect(Puppet::Indirector::Indirection.instance(:test)).to equal(@indirection)
691
662
  end
692
663
 
@@ -695,7 +666,7 @@ describe Puppet::Indirector::Indirection do
695
666
  end
696
667
 
697
668
  it "should allow an indirection's model to be retrieved by name" do
698
- mock_model = double('model')
669
+ mock_model = mock('model')
699
670
  @indirection = Puppet::Indirector::Indirection.new(mock_model, :test)
700
671
  expect(Puppet::Indirector::Indirection.model(:test)).to equal(mock_model)
701
672
  end
@@ -711,10 +682,10 @@ describe Puppet::Indirector::Indirection do
711
682
 
712
683
  describe "when routing to the correct the terminus class" do
713
684
  before do
714
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
715
- @terminus = double('terminus')
716
- @terminus_class = double('terminus class', :new => @terminus)
717
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :default).and_return(@terminus_class)
685
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
686
+ @terminus = mock 'terminus'
687
+ @terminus_class = stub 'terminus class', :new => @terminus
688
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :default).returns(@terminus_class)
718
689
  end
719
690
 
720
691
  it "should fail if no terminus class can be picked" do
@@ -727,14 +698,14 @@ describe Puppet::Indirector::Indirection do
727
698
  end
728
699
 
729
700
  it "should use the provided Puppet setting if told to do so" do
730
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :my_terminus).and_return(double("terminus_class2"))
701
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :my_terminus).returns(mock("terminus_class2"))
731
702
  Puppet[:node_terminus] = :my_terminus
732
703
  @indirection.terminus_setting = :node_terminus
733
704
  expect(@indirection.terminus_class).to equal(:my_terminus)
734
705
  end
735
706
 
736
707
  it "should fail if the provided terminus class is not valid" do
737
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :nosuchclass).and_return(nil)
708
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :nosuchclass).returns(nil)
738
709
  expect { @indirection.terminus_class = :nosuchclass }.to raise_error(ArgumentError)
739
710
  end
740
711
 
@@ -745,10 +716,10 @@ describe Puppet::Indirector::Indirection do
745
716
 
746
717
  describe "when specifying the terminus class to use" do
747
718
  before do
748
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
749
- @terminus = double('terminus')
750
- allow(@terminus).to receive(:validate)
751
- @terminus_class = double('terminus class', :new => @terminus)
719
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
720
+ @terminus = mock 'terminus'
721
+ @terminus.stubs(:validate)
722
+ @terminus_class = stub 'terminus class', :new => @terminus
752
723
  end
753
724
 
754
725
  it "should allow specification of a terminus type" do
@@ -768,17 +739,17 @@ describe Puppet::Indirector::Indirection do
768
739
  end
769
740
 
770
741
  it "should fail when the specified terminus class cannot be found" do
771
- expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(nil)
742
+ Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(nil)
772
743
  expect { @indirection.terminus_class = :foo }.to raise_error(ArgumentError)
773
744
  end
774
745
 
775
746
  it "should select the specified terminus class if a terminus class name is provided" do
776
- expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
747
+ Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(@terminus_class)
777
748
  expect(@indirection.terminus(:foo)).to equal(@terminus)
778
749
  end
779
750
 
780
751
  it "should use the configured terminus class if no terminus name is specified" do
781
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
752
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
782
753
  @indirection.terminus_class = :foo
783
754
  expect(@indirection.terminus).to equal(@terminus)
784
755
  end
@@ -790,27 +761,27 @@ describe Puppet::Indirector::Indirection do
790
761
 
791
762
  describe "when managing terminus instances" do
792
763
  before do
793
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
794
- @terminus = double('terminus')
795
- @terminus_class = double('terminus class')
796
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
764
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
765
+ @terminus = mock 'terminus'
766
+ @terminus_class = mock 'terminus class'
767
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
797
768
  end
798
769
 
799
770
  it "should create an instance of the chosen terminus class" do
800
- allow(@terminus_class).to receive(:new).and_return(@terminus)
771
+ @terminus_class.stubs(:new).returns(@terminus)
801
772
  expect(@indirection.terminus(:foo)).to equal(@terminus)
802
773
  end
803
774
 
804
775
  # Make sure it caches the terminus.
805
776
  it "should return the same terminus instance each time for a given name" do
806
- allow(@terminus_class).to receive(:new).and_return(@terminus)
777
+ @terminus_class.stubs(:new).returns(@terminus)
807
778
  expect(@indirection.terminus(:foo)).to equal(@terminus)
808
779
  expect(@indirection.terminus(:foo)).to equal(@terminus)
809
780
  end
810
781
 
811
782
  it "should not create a terminus instance until one is actually needed" do
812
- expect(Puppet::Indirector).not_to receive(:terminus)
813
- Puppet::Indirector::Indirection.new(double('model'), :lazytest)
783
+ Puppet::Indirector.expects(:terminus).never
784
+ Puppet::Indirector::Indirection.new(mock('model'), :lazytest)
814
785
  end
815
786
 
816
787
  after do
@@ -820,11 +791,11 @@ describe Puppet::Indirector::Indirection do
820
791
 
821
792
  describe "when deciding whether to cache" do
822
793
  before do
823
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
824
- @terminus = double('terminus')
825
- @terminus_class = double('terminus class')
826
- allow(@terminus_class).to receive(:new).and_return(@terminus)
827
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(@terminus_class)
794
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
795
+ @terminus = mock 'terminus'
796
+ @terminus_class = mock 'terminus class'
797
+ @terminus_class.stubs(:new).returns(@terminus)
798
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :foo).returns(@terminus_class)
828
799
  @indirection.terminus_class = :foo
829
800
  end
830
801
 
@@ -846,7 +817,7 @@ describe Puppet::Indirector::Indirection do
846
817
  end
847
818
 
848
819
  it "should fail to set the cache class when the specified cache class cannot be found" do
849
- expect(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :foo).and_return(nil)
820
+ Puppet::Indirector::Terminus.expects(:terminus_class).with(:test, :foo).returns(nil)
850
821
  expect { @indirection.cache_class = :foo }.to raise_error(ArgumentError)
851
822
  end
852
823
 
@@ -857,14 +828,14 @@ describe Puppet::Indirector::Indirection do
857
828
 
858
829
  describe "when using a cache" do
859
830
  before :each do
860
- @terminus_class = double('terminus_class')
861
- @terminus = double('terminus')
862
- allow(@terminus_class).to receive(:new).and_return(@terminus)
863
- @cache = double('cache')
864
- @cache_class = double('cache_class')
865
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
866
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
867
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
831
+ @terminus_class = mock 'terminus_class'
832
+ @terminus = mock 'terminus'
833
+ @terminus_class.stubs(:new).returns(@terminus)
834
+ @cache = mock 'cache'
835
+ @cache_class = mock 'cache_class'
836
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :cache_terminus).returns(@cache_class)
837
+ Puppet::Indirector::Terminus.stubs(:terminus_class).with(:test, :test_terminus).returns(@terminus_class)
838
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
868
839
  @indirection.terminus_class = :test_terminus
869
840
  end
870
841
 
@@ -875,13 +846,19 @@ describe Puppet::Indirector::Indirection do
875
846
  end
876
847
 
877
848
  it "should reuse the cache terminus" do
878
- expect(@cache_class).to receive(:new).and_return(@cache)
849
+ @cache_class.expects(:new).returns(@cache)
879
850
  @indirection.cache_class = :cache_terminus
880
851
  expect(@indirection.cache).to equal(@cache)
881
852
  expect(@indirection.cache).to equal(@cache)
882
853
  end
883
854
  end
884
855
 
856
+ describe "and saving" do
857
+ end
858
+
859
+ describe "and finding" do
860
+ end
861
+
885
862
  after :each do
886
863
  @indirection.delete
887
864
  end