puppet 6.0.10-universal-darwin → 6.1.0-universal-darwin

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -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
@@ -78,24 +79,24 @@ end
78
79
  describe Puppet::Indirector::Indirection do
79
80
  describe "when initializing" do
80
81
  it "should keep a reference to the indirecting model" do
81
- model = double('model')
82
+ model = mock 'model'
82
83
  @indirection = Puppet::Indirector::Indirection.new(model, :myind)
83
84
  expect(@indirection.model).to equal(model)
84
85
  end
85
86
 
86
87
  it "should set the name" do
87
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :myind)
88
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :myind)
88
89
  expect(@indirection.name).to eq(:myind)
89
90
  end
90
91
 
91
92
  it "should require indirections to have unique names" do
92
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
93
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
93
94
  expect { Puppet::Indirector::Indirection.new(:test) }.to raise_error(ArgumentError)
94
95
  end
95
96
 
96
97
  it "should extend itself with any specified module" do
97
98
  mod = Module.new
98
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test, :extend => mod)
99
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test, :extend => mod)
99
100
  expect(@indirection.singleton_class.included_modules).to include(mod)
100
101
  end
101
102
 
@@ -106,22 +107,23 @@ describe Puppet::Indirector::Indirection do
106
107
 
107
108
  describe "when an instance" do
108
109
  before :each do
109
- @terminus_class = double('terminus_class')
110
- @terminus = double('terminus')
111
- allow(@terminus).to receive(:validate)
112
- allow(@terminus_class).to receive(:new).and_return(@terminus)
113
- @cache = double('cache', :name => "mycache")
114
- @cache_class = double('cache_class')
115
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
116
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
117
-
118
- @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)
119
120
  @indirection.terminus_class = :test_terminus
120
121
 
121
- @instance = double('instance', :expiration => nil, :expiration= => nil, :name => "whatever")
122
+ @instance = stub 'instance', :expiration => nil, :expiration= => nil, :name => "whatever"
122
123
  @name = :mything
123
124
 
124
- @request = double('instance')
125
+ #@request = stub 'instance', :key => "/my/key", :instance => @instance, :options => {}
126
+ @request = mock 'instance'
125
127
  end
126
128
 
127
129
  it "should allow setting the ttl" do
@@ -135,9 +137,9 @@ describe Puppet::Indirector::Indirection do
135
137
  end
136
138
 
137
139
  it "should calculate the current expiration by adding the TTL to the current time" do
138
- allow(@indirection).to receive(:ttl).and_return(100)
140
+ @indirection.stubs(:ttl).returns(100)
139
141
  now = Time.now
140
- allow(Time).to receive(:now).and_return(now)
142
+ Time.stubs(:now).returns now
141
143
  expect(@indirection.expiration).to eq(Time.now + 100)
142
144
  end
143
145
 
@@ -147,28 +149,28 @@ describe Puppet::Indirector::Indirection do
147
149
 
148
150
  describe "creates a request" do
149
151
  it "should create it with its name as the request's indirection name" do
150
- expect(Puppet::Indirector::Request).to receive(:new).with(@indirection.name, anything, anything)
152
+ Puppet::Indirector::Request.expects(:new).with { |name, *other| @indirection.name == name }
151
153
  @indirection.request(:funtest, "yayness")
152
154
  end
153
155
 
154
156
  it "should require a method and key" do
155
- 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" }
156
158
  @indirection.request(:funtest, "yayness")
157
159
  end
158
160
 
159
161
  it "should support optional arguments" do
160
- 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} }
161
163
  @indirection.request(:funtest, "yayness", :one => :two)
162
164
  end
163
165
 
164
166
  it "should not pass options if none are supplied" do
165
- expect(Puppet::Indirector::Request).to receive(:new).with(anything, anything, anything)
167
+ Puppet::Indirector::Request.expects(:new).with { |*args| args.length < 4 }
166
168
  @indirection.request(:funtest, "yayness")
167
169
  end
168
170
 
169
171
  it "should return the request" do
170
- request = double('request')
171
- expect(Puppet::Indirector::Request).to receive(:new).and_return(request)
172
+ request = mock 'request'
173
+ Puppet::Indirector::Request.expects(:new).returns request
172
174
  expect(@indirection.request(:funtest, "yayness")).to equal(request)
173
175
  end
174
176
  end
@@ -181,204 +183,190 @@ describe Puppet::Indirector::Indirection do
181
183
  it_should_behave_like "Request validator"
182
184
 
183
185
  it "should return the results of the delegation" do
184
- expect(@terminus).to receive(:find).and_return(@instance)
186
+ @terminus.expects(:find).returns(@instance)
185
187
  expect(@indirection.find("me")).to equal(@instance)
186
188
  end
187
189
 
188
190
  it "should return false if the instance is false" do
189
- expect(@terminus).to receive(:find).and_return(false)
191
+ @terminus.expects(:find).returns(false)
190
192
  expect(@indirection.find("me")).to equal(false)
191
193
  end
192
194
 
193
195
  it "should set the expiration date on any instances without one set" do
194
- allow(@terminus).to receive(:find).and_return(@instance)
196
+ @terminus.stubs(:find).returns(@instance)
195
197
 
196
- expect(@indirection).to receive(:expiration).and_return(:yay)
198
+ @indirection.expects(:expiration).returns :yay
197
199
 
198
- expect(@instance).to receive(:expiration).and_return(nil)
199
- expect(@instance).to receive(:expiration=).with(:yay)
200
+ @instance.expects(:expiration).returns(nil)
201
+ @instance.expects(:expiration=).with(:yay)
200
202
 
201
203
  @indirection.find("/my/key")
202
204
  end
203
205
 
204
206
  it "should not override an already-set expiration date on returned instances" do
205
- allow(@terminus).to receive(:find).and_return(@instance)
207
+ @terminus.stubs(:find).returns(@instance)
206
208
 
207
- expect(@indirection).not_to receive(:expiration)
209
+ @indirection.expects(:expiration).never
208
210
 
209
- expect(@instance).to receive(:expiration).and_return(:yay)
210
- expect(@instance).not_to receive(:expiration=)
211
+ @instance.expects(:expiration).returns(:yay)
212
+ @instance.expects(:expiration=).never
211
213
 
212
214
  @indirection.find("/my/key")
213
215
  end
214
216
 
215
217
  it "should filter the result instance if the terminus supports it" do
216
- allow(@terminus).to receive(:find).and_return(@instance)
217
- 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)
218
220
 
219
- expect(@terminus).to receive(:filter).with(@instance)
221
+ @terminus.expects(:filter).with(@instance)
220
222
 
221
223
  @indirection.find("/my/key")
222
224
  end
223
-
224
225
  describe "when caching is enabled" do
225
226
  before do
226
227
  @indirection.cache_class = :cache_terminus
227
- allow(@cache_class).to receive(:new).and_return(@cache)
228
+ @cache_class.stubs(:new).returns(@cache)
228
229
 
229
- allow(@instance).to receive(:expired?).and_return(false)
230
+ @instance.stubs(:expired?).returns false
230
231
  end
231
232
 
232
233
  it "should first look in the cache for an instance" do
233
- expect(@terminus).not_to receive(:find)
234
- expect(@cache).to receive(:find).and_return(@instance)
234
+ @terminus.stubs(:find).never
235
+ @cache.expects(:find).returns @instance
235
236
 
236
237
  @indirection.find("/my/key")
237
238
  end
238
239
 
239
240
  it "should not look in the cache if the request specifies not to use the cache" do
240
- expect(@terminus).to receive(:find).and_return(@instance)
241
- expect(@cache).not_to receive(:find)
242
- allow(@cache).to receive(:save)
241
+ @terminus.expects(:find).returns @instance
242
+ @cache.expects(:find).never
243
+ @cache.stubs(:save)
243
244
 
244
245
  @indirection.find("/my/key", :ignore_cache => true)
245
246
  end
246
247
 
247
248
  it "should still save to the cache even if the cache is being ignored during readin" do
248
- expect(@terminus).to receive(:find).and_return(@instance)
249
- expect(@cache).to receive(:save)
249
+ @terminus.expects(:find).returns @instance
250
+ @cache.expects(:save)
250
251
 
251
252
  @indirection.find("/my/key", :ignore_cache => true)
252
253
  end
253
254
 
254
255
  it "should not save to the cache if told to skip updating the cache" do
255
- expect(@terminus).to receive(:find).and_return(@instance)
256
- expect(@cache).to receive(:find).and_return(nil)
257
- expect(@cache).not_to receive(:save)
256
+ @terminus.expects(:find).returns @instance
257
+ @cache.expects(:find).returns nil
258
+ @cache.expects(:save).never
258
259
 
259
260
  @indirection.find("/my/key", :ignore_cache_save => true)
260
261
  end
261
262
 
262
263
  it "should only look in the cache if the request specifies not to use the terminus" do
263
- expect(@terminus).not_to receive(:find)
264
- expect(@cache).to receive(:find)
264
+ @terminus.expects(:find).never
265
+ @cache.expects(:find)
265
266
 
266
267
  @indirection.find("/my/key", :ignore_terminus => true)
267
268
  end
268
269
 
269
270
  it "should use a request to look in the cache for cached objects" do
270
- expect(@cache).to receive(:find) do |r|
271
- expect(r.method).to eq(:find)
272
- expect(r.key).to eq("/my/key")
273
-
274
- @instance
275
- end
271
+ @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns @instance
276
272
 
277
- allow(@cache).to receive(:save)
273
+ @cache.stubs(:save)
278
274
 
279
275
  @indirection.find("/my/key")
280
276
  end
281
277
 
282
278
  it "should return the cached object if it is not expired" do
283
- allow(@instance).to receive(:expired?).and_return(false)
279
+ @instance.stubs(:expired?).returns false
284
280
 
285
- allow(@cache).to receive(:find).and_return(@instance)
281
+ @cache.stubs(:find).returns @instance
286
282
  expect(@indirection.find("/my/key")).to equal(@instance)
287
283
  end
288
284
 
289
285
  it "should not fail if the cache fails" do
290
- allow(@terminus).to receive(:find).and_return(@instance)
286
+ @terminus.stubs(:find).returns @instance
291
287
 
292
- expect(@cache).to receive(:find).and_raise(ArgumentError)
293
- allow(@cache).to receive(:save)
288
+ @cache.expects(:find).raises ArgumentError
289
+ @cache.stubs(:save)
294
290
  expect { @indirection.find("/my/key") }.not_to raise_error
295
291
  end
296
292
 
297
293
  it "should look in the main terminus if the cache fails" do
298
- expect(@terminus).to receive(:find).and_return(@instance)
299
- expect(@cache).to receive(:find).and_raise(ArgumentError)
300
- allow(@cache).to receive(:save)
294
+ @terminus.expects(:find).returns @instance
295
+ @cache.expects(:find).raises ArgumentError
296
+ @cache.stubs(:save)
301
297
  expect(@indirection.find("/my/key")).to equal(@instance)
302
298
  end
303
299
 
304
300
  it "should send a debug log if it is using the cached object" do
305
- expect(Puppet).to receive(:debug)
306
- allow(@cache).to receive(:find).and_return(@instance)
301
+ Puppet.expects(:debug)
302
+ @cache.stubs(:find).returns @instance
307
303
 
308
304
  @indirection.find("/my/key")
309
305
  end
310
306
 
311
307
  it "should not return the cached object if it is expired" do
312
- allow(@instance).to receive(:expired?).and_return(true)
308
+ @instance.stubs(:expired?).returns true
313
309
 
314
- allow(@cache).to receive(:find).and_return(@instance)
315
- allow(@terminus).to receive(:find).and_return(nil)
310
+ @cache.stubs(:find).returns @instance
311
+ @terminus.stubs(:find).returns nil
316
312
  expect(@indirection.find("/my/key")).to be_nil
317
313
  end
318
314
 
319
315
  it "should send an info log if it is using the cached object" do
320
- expect(Puppet).to receive(:info)
321
- allow(@instance).to receive(:expired?).and_return(true)
316
+ Puppet.expects(:info)
317
+ @instance.stubs(:expired?).returns true
322
318
 
323
- allow(@cache).to receive(:find).and_return(@instance)
324
- allow(@terminus).to receive(:find).and_return(nil)
319
+ @cache.stubs(:find).returns @instance
320
+ @terminus.stubs(:find).returns nil
325
321
  @indirection.find("/my/key")
326
322
  end
327
323
 
328
324
  it "should cache any objects not retrieved from the cache" do
329
- expect(@cache).to receive(:find).and_return(nil)
325
+ @cache.expects(:find).returns nil
330
326
 
331
- expect(@terminus).to receive(:find).and_return(@instance)
332
- expect(@cache).to receive(:save)
327
+ @terminus.expects(:find).returns(@instance)
328
+ @cache.expects(:save)
333
329
 
334
330
  @indirection.find("/my/key")
335
331
  end
336
332
 
337
333
  it "should use a request to look in the cache for cached objects" do
338
- expect(@cache).to receive(:find) do |r|
339
- expect(r.method).to eq(:find)
340
- expect(r.key).to eq("/my/key")
334
+ @cache.expects(:find).with { |r| r.method == :find and r.key == "/my/key" }.returns nil
341
335
 
342
- nil
343
- end
344
-
345
- allow(@terminus).to receive(:find).and_return(@instance)
346
- allow(@cache).to receive(:save)
336
+ @terminus.stubs(:find).returns(@instance)
337
+ @cache.stubs(:save)
347
338
 
348
339
  @indirection.find("/my/key")
349
340
  end
350
341
 
351
342
  it "should cache the instance using a request with the instance set to the cached object" do
352
- allow(@cache).to receive(:find).and_return(nil)
343
+ @cache.stubs(:find).returns nil
353
344
 
354
- allow(@terminus).to receive(:find).and_return(@instance)
345
+ @terminus.stubs(:find).returns(@instance)
355
346
 
356
- expect(@cache).to receive(:save) do |r|
357
- expect(r.method).to eq(:save)
358
- expect(r.instance).to eq(@instance)
359
- end
347
+ @cache.expects(:save).with { |r| r.method == :save and r.instance == @instance }
360
348
 
361
349
  @indirection.find("/my/key")
362
350
  end
363
351
 
364
352
  it "should send an info log that the object is being cached" do
365
- allow(@cache).to receive(:find).and_return(nil)
353
+ @cache.stubs(:find).returns nil
366
354
 
367
- allow(@terminus).to receive(:find).and_return(@instance)
368
- allow(@cache).to receive(:save)
355
+ @terminus.stubs(:find).returns(@instance)
356
+ @cache.stubs(:save)
369
357
 
370
- expect(Puppet).to receive(:info)
358
+ Puppet.expects(:info)
371
359
 
372
360
  @indirection.find("/my/key")
373
361
  end
374
362
 
375
363
  it "should fail if saving to the cache fails but log the exception" do
376
- allow(@cache).to receive(:find).and_return(nil)
364
+ @cache.stubs(:find).returns nil
377
365
 
378
- allow(@terminus).to receive(:find).and_return(@instance)
379
- allow(@cache).to receive(:save).and_raise(RuntimeError)
366
+ @terminus.stubs(:find).returns(@instance)
367
+ @cache.stubs(:save).raises RuntimeError
380
368
 
381
- expect(Puppet).to receive(:log_exception)
369
+ Puppet.expects(:log_exception)
382
370
 
383
371
  expect { @indirection.find("/my/key") }.to raise_error RuntimeError
384
372
  end
@@ -393,63 +381,63 @@ describe Puppet::Indirector::Indirection do
393
381
  it_should_behave_like "Request validator"
394
382
 
395
383
  it "should return true if the head method returned true" do
396
- expect(@terminus).to receive(:head).and_return(true)
384
+ @terminus.expects(:head).returns(true)
397
385
  expect(@indirection.head("me")).to eq(true)
398
386
  end
399
387
 
400
388
  it "should return false if the head method returned false" do
401
- expect(@terminus).to receive(:head).and_return(false)
389
+ @terminus.expects(:head).returns(false)
402
390
  expect(@indirection.head("me")).to eq(false)
403
391
  end
404
392
 
405
393
  describe "when caching is enabled" do
406
394
  before do
407
395
  @indirection.cache_class = :cache_terminus
408
- allow(@cache_class).to receive(:new).and_return(@cache)
396
+ @cache_class.stubs(:new).returns(@cache)
409
397
 
410
- allow(@instance).to receive(:expired?).and_return(false)
398
+ @instance.stubs(:expired?).returns false
411
399
  end
412
400
 
413
401
  it "should first look in the cache for an instance" do
414
- expect(@terminus).not_to receive(:find)
415
- expect(@terminus).not_to receive(:head)
416
- expect(@cache).to receive(:find).and_return(@instance)
402
+ @terminus.stubs(:find).never
403
+ @terminus.stubs(:head).never
404
+ @cache.expects(:find).returns @instance
417
405
 
418
406
  expect(@indirection.head("/my/key")).to eq(true)
419
407
  end
420
408
 
421
409
  it "should not save to the cache" do
422
- expect(@cache).to receive(:find).and_return(nil)
423
- expect(@cache).not_to receive(:save)
424
- 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
425
413
  expect(@indirection.head("/my/key")).to eq(true)
426
414
  end
427
415
 
428
416
  it "should not fail if the cache fails" do
429
- allow(@terminus).to receive(:head).and_return(true)
417
+ @terminus.stubs(:head).returns true
430
418
 
431
- expect(@cache).to receive(:find).and_raise(ArgumentError)
419
+ @cache.expects(:find).raises ArgumentError
432
420
  expect { @indirection.head("/my/key") }.not_to raise_error
433
421
  end
434
422
 
435
423
  it "should look in the main terminus if the cache fails" do
436
- expect(@terminus).to receive(:head).and_return(true)
437
- expect(@cache).to receive(:find).and_raise(ArgumentError)
424
+ @terminus.expects(:head).returns true
425
+ @cache.expects(:find).raises ArgumentError
438
426
  expect(@indirection.head("/my/key")).to eq(true)
439
427
  end
440
428
 
441
429
  it "should send a debug log if it is using the cached object" do
442
- expect(Puppet).to receive(:debug)
443
- allow(@cache).to receive(:find).and_return(@instance)
430
+ Puppet.expects(:debug)
431
+ @cache.stubs(:find).returns @instance
444
432
 
445
433
  @indirection.head("/my/key")
446
434
  end
447
435
 
448
436
  it "should not accept the cached object if it is expired" do
449
- allow(@instance).to receive(:expired?).and_return(true)
437
+ @instance.stubs(:expired?).returns true
450
438
 
451
- allow(@cache).to receive(:find).and_return(@instance)
452
- allow(@terminus).to receive(:head).and_return(false)
439
+ @cache.stubs(:find).returns @instance
440
+ @terminus.stubs(:head).returns false
453
441
  expect(@indirection.head("/my/key")).to eq(false)
454
442
  end
455
443
  end
@@ -459,51 +447,51 @@ describe Puppet::Indirector::Indirection do
459
447
  before { @method = :save }
460
448
 
461
449
  it "should return the result of the save" do
462
- allow(@terminus).to receive(:save).and_return("foo")
450
+ @terminus.stubs(:save).returns "foo"
463
451
  expect(@indirection.save(@instance)).to eq("foo")
464
452
  end
465
453
 
466
454
  describe "when caching is enabled" do
467
455
  before do
468
456
  @indirection.cache_class = :cache_terminus
469
- allow(@cache_class).to receive(:new).and_return(@cache)
457
+ @cache_class.stubs(:new).returns(@cache)
470
458
 
471
- allow(@instance).to receive(:expired?).and_return(false)
459
+ @instance.stubs(:expired?).returns false
472
460
  end
473
461
 
474
462
  it "should return the result of saving to the terminus" do
475
- request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
463
+ request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
476
464
 
477
- expect(@indirection).to receive(:request).and_return(request)
465
+ @indirection.expects(:request).returns request
478
466
 
479
- allow(@cache).to receive(:save)
480
- allow(@terminus).to receive(:save).and_return(@instance)
467
+ @cache.stubs(:save)
468
+ @terminus.stubs(:save).returns @instance
481
469
  expect(@indirection.save(@instance)).to equal(@instance)
482
470
  end
483
471
 
484
472
  it "should use a request to save the object to the cache" do
485
- request = double('request', :instance => @instance, :node => nil, :ignore_cache_save? => false)
473
+ request = stub 'request', :instance => @instance, :node => nil, :ignore_cache_save? => false
486
474
 
487
- expect(@indirection).to receive(:request).and_return(request)
475
+ @indirection.expects(:request).returns request
488
476
 
489
- expect(@cache).to receive(:save).with(request)
490
- allow(@terminus).to receive(:save)
477
+ @cache.expects(:save).with(request)
478
+ @terminus.stubs(:save)
491
479
  @indirection.save(@instance)
492
480
  end
493
481
 
494
482
  it "should not save to the cache if the normal save fails" do
495
- request = double('request', :instance => @instance, :node => nil)
483
+ request = stub 'request', :instance => @instance, :node => nil
496
484
 
497
- expect(@indirection).to receive(:request).and_return(request)
485
+ @indirection.expects(:request).returns request
498
486
 
499
- expect(@cache).not_to receive(:save)
500
- expect(@terminus).to receive(:save).and_raise("eh")
487
+ @cache.expects(:save).never
488
+ @terminus.expects(:save).raises "eh"
501
489
  expect { @indirection.save(@instance) }.to raise_error(RuntimeError, /eh/)
502
490
  end
503
491
 
504
492
  it "should not save to the cache if told to ignore saving to the cache" do
505
- expect(@terminus).to receive(:save)
506
- expect(@cache).not_to receive(:save)
493
+ @terminus.expects(:save)
494
+ @cache.expects(:save).never
507
495
 
508
496
  @indirection.save(@instance, '/my/key', :ignore_cache_save => true)
509
497
  end
@@ -518,31 +506,31 @@ describe Puppet::Indirector::Indirection do
518
506
  it_should_behave_like "Request validator"
519
507
 
520
508
  it "should return the result of removing the instance" do
521
- allow(@terminus).to receive(:destroy).and_return("yayness")
509
+ @terminus.stubs(:destroy).returns "yayness"
522
510
  expect(@indirection.destroy("/my/key")).to eq("yayness")
523
511
  end
524
512
 
525
513
  describe "when caching is enabled" do
526
514
  before do
527
515
  @indirection.cache_class = :cache_terminus
528
- expect(@cache_class).to receive(:new).and_return(@cache)
516
+ @cache_class.expects(:new).returns(@cache)
529
517
 
530
- allow(@instance).to receive(:expired?).and_return(false)
518
+ @instance.stubs(:expired?).returns false
531
519
  end
532
520
 
533
521
  it "should use a request instance to search in and remove objects from the cache" do
534
- destroy = double('destroy_request', :key => "/my/key", :node => nil)
535
- 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
536
524
 
537
- expect(@indirection).to receive(:request).with(:destroy, "/my/key", nil, be_a(Hash).or(be_nil)).and_return(destroy)
538
- 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
539
527
 
540
- cached = double('cache')
528
+ cached = mock 'cache'
541
529
 
542
- expect(@cache).to receive(:find).with(find).and_return(cached)
543
- expect(@cache).to receive(:destroy).with(destroy)
530
+ @cache.expects(:find).with(find).returns cached
531
+ @cache.expects(:destroy).with(destroy)
544
532
 
545
- allow(@terminus).to receive(:destroy)
533
+ @terminus.stubs(:destroy)
546
534
 
547
535
  @indirection.destroy("/my/key")
548
536
  end
@@ -557,29 +545,29 @@ describe Puppet::Indirector::Indirection do
557
545
  it_should_behave_like "Request validator"
558
546
 
559
547
  it "should set the expiration date on any instances without one set" do
560
- allow(@terminus).to receive(:search).and_return([@instance])
548
+ @terminus.stubs(:search).returns([@instance])
561
549
 
562
- expect(@indirection).to receive(:expiration).and_return(:yay)
550
+ @indirection.expects(:expiration).returns :yay
563
551
 
564
- expect(@instance).to receive(:expiration).and_return(nil)
565
- expect(@instance).to receive(:expiration=).with(:yay)
552
+ @instance.expects(:expiration).returns(nil)
553
+ @instance.expects(:expiration=).with(:yay)
566
554
 
567
555
  @indirection.search("/my/key")
568
556
  end
569
557
 
570
558
  it "should not override an already-set expiration date on returned instances" do
571
- allow(@terminus).to receive(:search).and_return([@instance])
559
+ @terminus.stubs(:search).returns([@instance])
572
560
 
573
- expect(@indirection).not_to receive(:expiration)
561
+ @indirection.expects(:expiration).never
574
562
 
575
- expect(@instance).to receive(:expiration).and_return(:yay)
576
- expect(@instance).not_to receive(:expiration=)
563
+ @instance.expects(:expiration).returns(:yay)
564
+ @instance.expects(:expiration=).never
577
565
 
578
566
  @indirection.search("/my/key")
579
567
  end
580
568
 
581
569
  it "should return the results of searching in the terminus" do
582
- expect(@terminus).to receive(:search).and_return([@instance])
570
+ @terminus.expects(:search).returns([@instance])
583
571
  expect(@indirection.search("/my/key")).to eq([@instance])
584
572
  end
585
573
  end
@@ -587,7 +575,7 @@ describe Puppet::Indirector::Indirection do
587
575
  describe "and expiring a model instance" do
588
576
  describe "when caching is not enabled" do
589
577
  it "should do nothing" do
590
- expect(@cache_class).not_to receive(:new)
578
+ @cache_class.expects(:new).never
591
579
 
592
580
  @indirection.expire("/my/key")
593
581
  end
@@ -596,75 +584,65 @@ describe Puppet::Indirector::Indirection do
596
584
  describe "when caching is enabled" do
597
585
  before do
598
586
  @indirection.cache_class = :cache_terminus
599
- expect(@cache_class).to receive(:new).and_return(@cache)
587
+ @cache_class.expects(:new).returns(@cache)
600
588
 
601
- allow(@instance).to receive(:expired?).and_return(false)
589
+ @instance.stubs(:expired?).returns false
602
590
 
603
- @cached = double('cached', :expiration= => nil, :name => "/my/key")
591
+ @cached = stub 'cached', :expiration= => nil, :name => "/my/key"
604
592
  end
605
593
 
606
594
  it "should use a request to find within the cache" do
607
- expect(@cache).to receive(:find) do |r|
608
- expect(r).to be_a(Puppet::Indirector::Request)
609
- expect(r.method).to eq(:find)
610
- nil
611
- end
595
+ @cache.expects(:find).with { |r| r.is_a?(Puppet::Indirector::Request) and r.method == :find }
612
596
  @indirection.expire("/my/key")
613
597
  end
614
598
 
615
599
  it "should do nothing if no such instance is cached" do
616
- expect(@cache).to receive(:find).and_return(nil)
600
+ @cache.expects(:find).returns nil
617
601
 
618
602
  @indirection.expire("/my/key")
619
603
  end
620
604
 
621
605
  it "should log when expiring a found instance" do
622
- expect(@cache).to receive(:find).and_return(@cached)
623
- allow(@cache).to receive(:save)
606
+ @cache.expects(:find).returns @cached
607
+ @cache.stubs(:save)
624
608
 
625
- expect(Puppet).to receive(:info)
609
+ Puppet.expects(:info)
626
610
 
627
611
  @indirection.expire("/my/key")
628
612
  end
629
613
 
630
614
  it "should set the cached instance's expiration to a time in the past" do
631
- expect(@cache).to receive(:find).and_return(@cached)
632
- allow(@cache).to receive(:save)
615
+ @cache.expects(:find).returns @cached
616
+ @cache.stubs(:save)
633
617
 
634
- expect(@cached).to receive(:expiration=).with(be < Time.now)
618
+ @cached.expects(:expiration=).with { |t| t < Time.now }
635
619
 
636
620
  @indirection.expire("/my/key")
637
621
  end
638
622
 
639
623
  it "should save the now expired instance back into the cache" do
640
- expect(@cache).to receive(:find).and_return(@cached)
624
+ @cache.expects(:find).returns @cached
641
625
 
642
- expect(@cached).to receive(:expiration=).with(be < Time.now)
626
+ @cached.expects(:expiration=).with { |t| t < Time.now }
643
627
 
644
- expect(@cache).to receive(:save)
628
+ @cache.expects(:save)
645
629
 
646
630
  @indirection.expire("/my/key")
647
631
  end
648
632
 
649
633
  it "does not expire an instance if told to skip cache saving" do
650
- expect(@indirection.cache).not_to receive(:find)
651
- expect(@indirection.cache).not_to receive(:save)
634
+ @indirection.cache.expects(:find).never
635
+ @indirection.cache.expects(:save).never
652
636
 
653
637
  @indirection.expire("/my/key", :ignore_cache_save => true)
654
638
  end
655
639
 
656
640
  it "should use a request to save the expired resource to the cache" do
657
- expect(@cache).to receive(:find).and_return(@cached)
658
-
659
- expect(@cached).to receive(:expiration=).with(be < Time.now)
641
+ @cache.expects(:find).returns @cached
660
642
 
661
- expect(@cache).to receive(:save) do |r|
662
- expect(r).to be_a(Puppet::Indirector::Request)
663
- expect(r.instance).to eq(@cached)
664
- expect(r.method).to eq(:save)
643
+ @cached.expects(:expiration=).with { |t| t < Time.now }
665
644
 
666
- @cached
667
- end
645
+ @cache.expects(:save).with { |r| r.is_a?(Puppet::Indirector::Request) and r.instance == @cached and r.method == :save }.returns(@cached)
668
646
 
669
647
  @indirection.expire("/my/key")
670
648
  end
@@ -679,7 +657,7 @@ describe Puppet::Indirector::Indirection do
679
657
 
680
658
  describe "when managing indirection instances" do
681
659
  it "should allow an indirection to be retrieved by name" do
682
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
660
+ @indirection = Puppet::Indirector::Indirection.new(mock('model'), :test)
683
661
  expect(Puppet::Indirector::Indirection.instance(:test)).to equal(@indirection)
684
662
  end
685
663
 
@@ -688,7 +666,7 @@ describe Puppet::Indirector::Indirection do
688
666
  end
689
667
 
690
668
  it "should allow an indirection's model to be retrieved by name" do
691
- mock_model = double('model')
669
+ mock_model = mock('model')
692
670
  @indirection = Puppet::Indirector::Indirection.new(mock_model, :test)
693
671
  expect(Puppet::Indirector::Indirection.model(:test)).to equal(mock_model)
694
672
  end
@@ -704,10 +682,10 @@ describe Puppet::Indirector::Indirection do
704
682
 
705
683
  describe "when routing to the correct the terminus class" do
706
684
  before do
707
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
708
- @terminus = double('terminus')
709
- @terminus_class = double('terminus class', :new => @terminus)
710
- 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)
711
689
  end
712
690
 
713
691
  it "should fail if no terminus class can be picked" do
@@ -720,14 +698,14 @@ describe Puppet::Indirector::Indirection do
720
698
  end
721
699
 
722
700
  it "should use the provided Puppet setting if told to do so" do
723
- 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"))
724
702
  Puppet[:node_terminus] = :my_terminus
725
703
  @indirection.terminus_setting = :node_terminus
726
704
  expect(@indirection.terminus_class).to equal(:my_terminus)
727
705
  end
728
706
 
729
707
  it "should fail if the provided terminus class is not valid" do
730
- 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)
731
709
  expect { @indirection.terminus_class = :nosuchclass }.to raise_error(ArgumentError)
732
710
  end
733
711
 
@@ -738,10 +716,10 @@ describe Puppet::Indirector::Indirection do
738
716
 
739
717
  describe "when specifying the terminus class to use" do
740
718
  before do
741
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
742
- @terminus = double('terminus')
743
- allow(@terminus).to receive(:validate)
744
- @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
745
723
  end
746
724
 
747
725
  it "should allow specification of a terminus type" do
@@ -761,17 +739,17 @@ describe Puppet::Indirector::Indirection do
761
739
  end
762
740
 
763
741
  it "should fail when the specified terminus class cannot be found" do
764
- 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)
765
743
  expect { @indirection.terminus_class = :foo }.to raise_error(ArgumentError)
766
744
  end
767
745
 
768
746
  it "should select the specified terminus class if a terminus class name is provided" do
769
- 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)
770
748
  expect(@indirection.terminus(:foo)).to equal(@terminus)
771
749
  end
772
750
 
773
751
  it "should use the configured terminus class if no terminus name is specified" do
774
- 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)
775
753
  @indirection.terminus_class = :foo
776
754
  expect(@indirection.terminus).to equal(@terminus)
777
755
  end
@@ -783,27 +761,27 @@ describe Puppet::Indirector::Indirection do
783
761
 
784
762
  describe "when managing terminus instances" do
785
763
  before do
786
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
787
- @terminus = double('terminus')
788
- @terminus_class = double('terminus class')
789
- 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)
790
768
  end
791
769
 
792
770
  it "should create an instance of the chosen terminus class" do
793
- allow(@terminus_class).to receive(:new).and_return(@terminus)
771
+ @terminus_class.stubs(:new).returns(@terminus)
794
772
  expect(@indirection.terminus(:foo)).to equal(@terminus)
795
773
  end
796
774
 
797
775
  # Make sure it caches the terminus.
798
776
  it "should return the same terminus instance each time for a given name" do
799
- allow(@terminus_class).to receive(:new).and_return(@terminus)
777
+ @terminus_class.stubs(:new).returns(@terminus)
800
778
  expect(@indirection.terminus(:foo)).to equal(@terminus)
801
779
  expect(@indirection.terminus(:foo)).to equal(@terminus)
802
780
  end
803
781
 
804
782
  it "should not create a terminus instance until one is actually needed" do
805
- expect(Puppet::Indirector).not_to receive(:terminus)
806
- Puppet::Indirector::Indirection.new(double('model'), :lazytest)
783
+ Puppet::Indirector.expects(:terminus).never
784
+ Puppet::Indirector::Indirection.new(mock('model'), :lazytest)
807
785
  end
808
786
 
809
787
  after do
@@ -813,11 +791,11 @@ describe Puppet::Indirector::Indirection do
813
791
 
814
792
  describe "when deciding whether to cache" do
815
793
  before do
816
- @indirection = Puppet::Indirector::Indirection.new(double('model'), :test)
817
- @terminus = double('terminus')
818
- @terminus_class = double('terminus class')
819
- allow(@terminus_class).to receive(:new).and_return(@terminus)
820
- 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)
821
799
  @indirection.terminus_class = :foo
822
800
  end
823
801
 
@@ -839,7 +817,7 @@ describe Puppet::Indirector::Indirection do
839
817
  end
840
818
 
841
819
  it "should fail to set the cache class when the specified cache class cannot be found" do
842
- 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)
843
821
  expect { @indirection.cache_class = :foo }.to raise_error(ArgumentError)
844
822
  end
845
823
 
@@ -850,14 +828,14 @@ describe Puppet::Indirector::Indirection do
850
828
 
851
829
  describe "when using a cache" do
852
830
  before :each do
853
- @terminus_class = double('terminus_class')
854
- @terminus = double('terminus')
855
- allow(@terminus_class).to receive(:new).and_return(@terminus)
856
- @cache = double('cache')
857
- @cache_class = double('cache_class')
858
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :cache_terminus).and_return(@cache_class)
859
- allow(Puppet::Indirector::Terminus).to receive(:terminus_class).with(:test, :test_terminus).and_return(@terminus_class)
860
- @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)
861
839
  @indirection.terminus_class = :test_terminus
862
840
  end
863
841
 
@@ -868,13 +846,19 @@ describe Puppet::Indirector::Indirection do
868
846
  end
869
847
 
870
848
  it "should reuse the cache terminus" do
871
- expect(@cache_class).to receive(:new).and_return(@cache)
849
+ @cache_class.expects(:new).returns(@cache)
872
850
  @indirection.cache_class = :cache_terminus
873
851
  expect(@indirection.cache).to equal(@cache)
874
852
  expect(@indirection.cache).to equal(@cache)
875
853
  end
876
854
  end
877
855
 
856
+ describe "and saving" do
857
+ end
858
+
859
+ describe "and finding" do
860
+ end
861
+
878
862
  after :each do
879
863
  @indirection.delete
880
864
  end