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/util/json_lockfile'
@@ -29,20 +30,21 @@ describe Puppet::Util::JsonLockfile do
29
30
 
30
31
  it "returns nil if the file read returned nil" do
31
32
  @lock.lock
32
- allow(File).to receive(:read).and_return(nil)
33
+ File.stubs(:read).returns nil
33
34
  expect(@lock.lock_data).to be_nil
34
35
  end
35
36
 
36
37
  it "returns nil if the file was empty" do
37
38
  @lock.lock
38
- allow(File).to receive(:read).and_return('')
39
+ File.stubs(:read).returns ''
39
40
  expect(@lock.lock_data).to be_nil
40
41
  end
41
42
 
42
43
  it "returns nil if the file was not in PSON" do
43
44
  @lock.lock
44
- allow(File).to receive(:read).and_return('][')
45
+ File.stubs(:read).returns ']['
45
46
  expect(@lock.lock_data).to be_nil
46
47
  end
48
+
47
49
  end
48
50
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/ldap/connection'
@@ -19,15 +20,13 @@ end
19
20
 
20
21
  describe Puppet::Util::Ldap::Connection do
21
22
  before do
22
- allow(Puppet.features).to receive(:ldap?).and_return(true)
23
+ Puppet.features.stubs(:ldap?).returns true
23
24
 
24
- @ldapconn = double(
25
- 'ldap',
26
- set_option: nil,
27
- simple_bind: nil,
28
- )
29
- allow(LDAP::Conn).to receive(:new).and_return(@ldapconn)
30
- allow(LDAP::SSLConn).to receive(:new).and_return(@ldapconn)
25
+ @ldapconn = mock 'ldap'
26
+ LDAP::Conn.stubs(:new).returns(@ldapconn)
27
+ LDAP::SSLConn.stubs(:new).returns(@ldapconn)
28
+
29
+ @ldapconn.stub_everything
31
30
 
32
31
  @connection = Puppet::Util::Ldap::Connection.new("host", "port")
33
32
  end
@@ -51,19 +50,19 @@ describe Puppet::Util::Ldap::Connection do
51
50
  end
52
51
 
53
52
  it "should fail if ldap is unavailable" do
54
- expect(Puppet.features).to receive(:ldap?).and_return(false)
53
+ Puppet.features.expects(:ldap?).returns(false)
55
54
 
56
55
  expect { Puppet::Util::Ldap::Connection.new("host", "port") }.to raise_error(Puppet::Error)
57
56
  end
58
57
 
59
58
  it "should use neither ssl nor tls by default" do
60
- expect(LDAP::Conn).to receive(:new).with("host", "port").and_return(@ldapconn)
59
+ LDAP::Conn.expects(:new).with("host", "port").returns(@ldapconn)
61
60
 
62
61
  @connection.start
63
62
  end
64
63
 
65
64
  it "should use LDAP::SSLConn if ssl is requested" do
66
- expect(LDAP::SSLConn).to receive(:new).with("host", "port").and_return(@ldapconn)
65
+ LDAP::SSLConn.expects(:new).with("host", "port").returns(@ldapconn)
67
66
 
68
67
  @connection.ssl = true
69
68
 
@@ -71,7 +70,7 @@ describe Puppet::Util::Ldap::Connection do
71
70
  end
72
71
 
73
72
  it "should use LDAP::SSLConn and tls if tls is requested" do
74
- expect(LDAP::SSLConn).to receive(:new).with("host", "port", true).and_return(@ldapconn)
73
+ LDAP::SSLConn.expects(:new).with("host", "port", true).returns(@ldapconn)
75
74
 
76
75
  @connection.ssl = :tls
77
76
 
@@ -79,31 +78,31 @@ describe Puppet::Util::Ldap::Connection do
79
78
  end
80
79
 
81
80
  it "should set the protocol version to 3 and enable referrals" do
82
- expect(@ldapconn).to receive(:set_option).with(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
83
- expect(@ldapconn).to receive(:set_option).with(LDAP::LDAP_OPT_REFERRALS, LDAP::LDAP_OPT_ON)
81
+ @ldapconn.expects(:set_option).with(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
82
+ @ldapconn.expects(:set_option).with(LDAP::LDAP_OPT_REFERRALS, LDAP::LDAP_OPT_ON)
84
83
  @connection.start
85
84
  end
86
85
 
87
86
  it "should bind with the provided user and password" do
88
87
  @connection.user = "myuser"
89
88
  @connection.password = "mypassword"
90
- expect(@ldapconn).to receive(:simple_bind).with("myuser", "mypassword")
89
+ @ldapconn.expects(:simple_bind).with("myuser", "mypassword")
91
90
 
92
91
  @connection.start
93
92
  end
94
93
 
95
94
  it "should bind with no user and password if none has been provided" do
96
- expect(@ldapconn).to receive(:simple_bind).with(nil, nil)
95
+ @ldapconn.expects(:simple_bind).with(nil, nil)
97
96
  @connection.start
98
97
  end
99
98
  end
100
99
 
101
100
  describe "when closing connections" do
102
101
  it "should not close connections that are not open" do
103
- allow(@connection).to receive(:connection).and_return(@ldapconn)
102
+ @connection.stubs(:connection).returns(@ldapconn)
104
103
 
105
- expect(@ldapconn).to receive(:bound?).and_return(false)
106
- expect(@ldapconn).not_to receive(:unbind)
104
+ @ldapconn.expects(:bound?).returns false
105
+ @ldapconn.expects(:unbind).never
107
106
 
108
107
  @connection.close
109
108
  end
@@ -116,46 +115,46 @@ describe Puppet::Util::Ldap::Connection do
116
115
  describe "when creating a default connection" do
117
116
  it "should use the :ldapserver setting to determine the host" do
118
117
  Puppet[:ldapserver] = "myserv"
119
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with("myserv", anything, anything)
118
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| host == "myserv" }
120
119
  Puppet::Util::Ldap::Connection.instance
121
120
  end
122
121
 
123
122
  it "should use the :ldapport setting to determine the port" do
124
123
  Puppet[:ldapport] = "456"
125
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, "456", anything)
124
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| port == "456" }
126
125
  Puppet::Util::Ldap::Connection.instance
127
126
  end
128
127
 
129
128
  it "should set ssl to :tls if tls is enabled" do
130
129
  Puppet[:ldaptls] = true
131
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: :tls))
130
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:ssl] == :tls }
132
131
  Puppet::Util::Ldap::Connection.instance
133
132
  end
134
133
 
135
134
  it "should set ssl to 'true' if ssl is enabled and tls is not" do
136
135
  Puppet[:ldaptls] = false
137
136
  Puppet[:ldapssl] = true
138
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: true))
137
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:ssl] == true }
139
138
  Puppet::Util::Ldap::Connection.instance
140
139
  end
141
140
 
142
141
  it "should set ssl to false if neither ssl nor tls are enabled" do
143
142
  Puppet[:ldaptls] = false
144
143
  Puppet[:ldapssl] = false
145
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: false))
144
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:ssl] == false }
146
145
  Puppet::Util::Ldap::Connection.instance
147
146
  end
148
147
 
149
148
  it "should set the ldapuser if one is set" do
150
149
  Puppet[:ldapuser] = "foo"
151
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(user: "foo"))
150
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:user] == "foo" }
152
151
  Puppet::Util::Ldap::Connection.instance
153
152
  end
154
153
 
155
154
  it "should set the ldapuser and ldappassword if both is set" do
156
155
  Puppet[:ldapuser] = "foo"
157
156
  Puppet[:ldappassword] = "bar"
158
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(user: "foo", password: "bar"))
157
+ Puppet::Util::Ldap::Connection.expects(:new).with { |host, port, options| options[:user] == "foo" and options[:password] == "bar" }
159
158
  Puppet::Util::Ldap::Connection.instance
160
159
  end
161
160
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/ldap/generator'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/ldap/manager'
@@ -45,13 +46,13 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
45
46
 
46
47
  describe "when generating attributes" do
47
48
  before do
48
- @generator = double('generator', :source => "one", :name => "myparam")
49
+ @generator = stub 'generator', :source => "one", :name => "myparam"
49
50
 
50
- allow(Puppet::Util::Ldap::Generator).to receive(:new).with(:myparam).and_return(@generator)
51
+ Puppet::Util::Ldap::Generator.stubs(:new).with(:myparam).returns @generator
51
52
  end
52
53
 
53
54
  it "should create a generator to do the parameter generation" do
54
- expect(Puppet::Util::Ldap::Generator).to receive(:new).with(:myparam).and_return(@generator)
55
+ Puppet::Util::Ldap::Generator.expects(:new).with(:myparam).returns @generator
55
56
  @manager.generates(:myparam)
56
57
  end
57
58
 
@@ -63,7 +64,7 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
63
64
  @manager.generates(:myparam)
64
65
 
65
66
  attrs = {"myparam" => "testing"}
66
- expect(@generator).not_to receive(:generate)
67
+ @generator.expects(:generate).never
67
68
 
68
69
  @manager.generate attrs
69
70
 
@@ -72,7 +73,7 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
72
73
 
73
74
  it "should look for the parameter as a string, not a symbol" do
74
75
  @manager.generates(:myparam)
75
- expect(@generator).to receive(:generate).with("yay").and_return(%w{double yay})
76
+ @generator.expects(:generate).with("yay").returns %w{double yay}
76
77
  attrs = {"one" => "yay"}
77
78
  @manager.generate attrs
78
79
 
@@ -86,19 +87,19 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
86
87
 
87
88
  it "should use the source value to generate the new value if a source attribute is specified" do
88
89
  @manager.generates(:myparam)
89
- expect(@generator).to receive(:generate).with("yay").and_return(%w{double yay})
90
+ @generator.expects(:generate).with("yay").returns %w{double yay}
90
91
  @manager.generate "one" => "yay"
91
92
  end
92
93
 
93
94
  it "should not pass in any value if no source attribute is specified" do
94
- allow(@generator).to receive(:source).and_return(nil)
95
+ @generator.stubs(:source).returns nil
95
96
  @manager.generates(:myparam)
96
- expect(@generator).to receive(:generate).and_return(%w{double yay})
97
+ @generator.expects(:generate).with.returns %w{double yay}
97
98
  @manager.generate "one" => "yay"
98
99
  end
99
100
 
100
101
  it "should convert any results to arrays of strings if necessary" do
101
- expect(@generator).to receive(:generate).and_return(:test)
102
+ @generator.expects(:generate).returns :test
102
103
  @manager.generates(:myparam)
103
104
 
104
105
  attrs = {"one" => "two"}
@@ -107,7 +108,7 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
107
108
  end
108
109
 
109
110
  it "should add the result to the passed-in attribute hash" do
110
- expect(@generator).to receive(:generate).and_return(%w{test})
111
+ @generator.expects(:generate).returns %w{test}
111
112
  @manager.generates(:myparam)
112
113
 
113
114
  attrs = {"one" => "two"}
@@ -228,9 +229,9 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
228
229
 
229
230
  describe "when using an ldap connection" do
230
231
  before do
231
- @ldapconn = double('ldapconn')
232
- @conn = double('connection', :connection => @ldapconn, :start => nil, :close => nil)
233
- allow(Puppet::Util::Ldap::Connection).to receive(:new).and_return(@conn)
232
+ @ldapconn = mock 'ldapconn'
233
+ @conn = stub 'connection', :connection => @ldapconn, :start => nil, :close => nil
234
+ Puppet::Util::Ldap::Connection.stubs(:new).returns(@conn)
234
235
  end
235
236
 
236
237
  it "should fail unless a block is given" do
@@ -239,148 +240,144 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
239
240
 
240
241
  it "should open the connection with its server set to :ldapserver" do
241
242
  Puppet[:ldapserver] = "myserver"
242
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with("myserver", anything, anything).and_return(@conn)
243
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[0] == "myserver" }.returns @conn
243
244
 
244
245
  @manager.connect { |c| }
245
246
  end
246
247
 
247
248
  it "should open the connection with its port set to the :ldapport" do
248
249
  Puppet[:ldapport] = "28"
249
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, "28", anything).and_return(@conn)
250
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[1] == "28" }.returns @conn
250
251
 
251
252
  @manager.connect { |c| }
252
253
  end
253
254
 
254
255
  it "should open the connection with no user if :ldapuser is not set" do
255
256
  Puppet[:ldapuser] = ""
256
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_excluding(:user)).and_return(@conn)
257
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:user].nil? }.returns @conn
257
258
 
258
259
  @manager.connect { |c| }
259
260
  end
260
261
 
261
262
  it "should open the connection with its user set to the :ldapuser if it is set" do
262
263
  Puppet[:ldapuser] = "mypass"
263
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(user: "mypass")).and_return(@conn)
264
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:user] == "mypass" }.returns @conn
264
265
 
265
266
  @manager.connect { |c| }
266
267
  end
267
268
 
268
269
  it "should open the connection with no password if :ldappassword is not set" do
269
270
  Puppet[:ldappassword] = ""
270
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_excluding(:password)).and_return(@conn)
271
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:password].nil? }.returns @conn
271
272
 
272
273
  @manager.connect { |c| }
273
274
  end
274
275
 
275
276
  it "should open the connection with its password set to the :ldappassword if it is set" do
276
277
  Puppet[:ldappassword] = "mypass"
277
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(password: "mypass")).and_return(@conn)
278
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:password] == "mypass" }.returns @conn
278
279
 
279
280
  @manager.connect { |c| }
280
281
  end
281
282
 
282
283
  it "should set ssl to :tls if ldaptls is enabled" do
283
284
  Puppet[:ldaptls] = true
284
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: :tls)).and_return(@conn)
285
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:ssl] == :tls }.returns @conn
285
286
 
286
287
  @manager.connect { |c| }
287
288
  end
288
289
 
289
290
  it "should set ssl to true if ldapssl is enabled" do
290
291
  Puppet[:ldapssl] = true
291
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: true)).and_return(@conn)
292
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:ssl] == true }.returns @conn
292
293
 
293
294
  @manager.connect { |c| }
294
295
  end
295
296
 
296
297
  it "should set ssl to false if neither ldaptls nor ldapssl is enabled" do
297
298
  Puppet[:ldapssl] = false
298
- expect(Puppet::Util::Ldap::Connection).to receive(:new).with(anything, anything, hash_including(ssl: false)).and_return(@conn)
299
+ Puppet::Util::Ldap::Connection.expects(:new).with { |*args| args[2][:ssl] == false }.returns @conn
299
300
 
300
301
  @manager.connect { |c| }
301
302
  end
302
303
 
303
304
  it "should open, yield, and then close the connection" do
304
- expect(@conn).to receive(:start)
305
- expect(@conn).to receive(:close)
306
- expect(Puppet::Util::Ldap::Connection).to receive(:new).and_return(@conn)
307
- expect(@ldapconn).to receive(:test)
305
+ @conn.expects(:start)
306
+ @conn.expects(:close)
307
+ Puppet::Util::Ldap::Connection.expects(:new).returns(@conn)
308
+ @ldapconn.expects(:test)
308
309
  @manager.connect { |c| c.test }
309
310
  end
310
311
 
311
312
  it "should close the connection even if there's an exception in the passed block" do
312
- expect(@conn).to receive(:close)
313
+ @conn.expects(:close)
313
314
  expect { @manager.connect { |c| raise ArgumentError } }.to raise_error(ArgumentError)
314
315
  end
315
316
  end
316
317
 
317
318
  describe "when using ldap" do
318
319
  before do
319
- @conn = double('connection')
320
- allow(@manager).to receive(:connect).and_yield(@conn)
321
- allow(@manager).to receive(:objectclasses).and_return([:oc1, :oc2])
320
+ @conn = mock 'connection'
321
+ @manager.stubs(:connect).yields @conn
322
+ @manager.stubs(:objectclasses).returns [:oc1, :oc2]
322
323
  @manager.maps :one => :uno, :two => :dos, :three => :tres, :four => :quatro
323
324
  end
324
325
 
325
326
  describe "to create entries" do
326
327
  it "should convert the first argument to its :create method to a full dn and pass the resulting argument list to its connection" do
327
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
328
- expect(@conn).to receive(:add).with("mydn", anything)
328
+ @manager.expects(:dn).with("myname").returns "mydn"
329
+ @conn.expects(:add).with { |name, attrs| name == "mydn" }
329
330
 
330
331
  @manager.create("myname", {"attr" => "myattrs"})
331
332
  end
332
333
 
333
334
  it "should add the objectclasses to the attributes" do
334
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
335
- expect(@conn).to receive(:add) do |_, attrs|
336
- expect(attrs["objectClass"]).to include("oc1", "oc2")
337
- end
335
+ @manager.expects(:dn).with("myname").returns "mydn"
336
+ @conn.expects(:add).with { |name, attrs| attrs["objectClass"].include?("oc1") and attrs["objectClass"].include?("oc2") }
338
337
 
339
338
  @manager.create("myname", {:one => :testing})
340
339
  end
341
340
 
342
341
  it "should add the rdn to the attributes" do
343
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
344
- expect(@conn).to receive(:add).with(anything, hash_including("cn" => %w{myname}))
342
+ @manager.expects(:dn).with("myname").returns "mydn"
343
+ @conn.expects(:add).with { |name, attrs| attrs["cn"] == %w{myname} }
345
344
 
346
345
  @manager.create("myname", {:one => :testing})
347
346
  end
348
347
 
349
348
  it "should add 'top' to the objectclasses if it is not listed" do
350
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
351
- expect(@conn).to receive(:add) do |_, attrs|
352
- expect(attrs["objectClass"]).to include("top")
353
- end
349
+ @manager.expects(:dn).with("myname").returns "mydn"
350
+ @conn.expects(:add).with { |name, attrs| attrs["objectClass"].include?("top") }
354
351
 
355
352
  @manager.create("myname", {:one => :testing})
356
353
  end
357
354
 
358
355
  it "should add any generated values that are defined" do
359
- generator = double('generator', :source => :one, :name => "myparam")
356
+ generator = stub 'generator', :source => :one, :name => "myparam"
360
357
 
361
- expect(Puppet::Util::Ldap::Generator).to receive(:new).with(:myparam).and_return(generator)
358
+ Puppet::Util::Ldap::Generator.expects(:new).with(:myparam).returns generator
362
359
 
363
360
  @manager.generates(:myparam)
364
361
 
365
- allow(@manager).to receive(:dn).with("myname").and_return("mydn")
362
+ @manager.stubs(:dn).with("myname").returns "mydn"
366
363
 
367
- expect(generator).to receive(:generate).with(:testing).and_return(["generated value"])
368
- expect(@conn).to receive(:add).with(anything, hash_including("myparam" => ["generated value"]))
364
+ generator.expects(:generate).with(:testing).returns ["generated value"]
365
+ @conn.expects(:add).with { |name, attrs| attrs["myparam"] == ["generated value"] }
369
366
 
370
367
  @manager.create("myname", {:one => :testing})
371
368
  end
372
369
 
373
370
  it "should convert any generated values to arrays of strings if necessary" do
374
- generator = double('generator', :source => :one, :name => "myparam")
371
+ generator = stub 'generator', :source => :one, :name => "myparam"
375
372
 
376
- expect(Puppet::Util::Ldap::Generator).to receive(:new).with(:myparam).and_return(generator)
373
+ Puppet::Util::Ldap::Generator.expects(:new).with(:myparam).returns generator
377
374
 
378
375
  @manager.generates(:myparam)
379
376
 
380
- allow(@manager).to receive(:dn).and_return("mydn")
377
+ @manager.stubs(:dn).returns "mydn"
381
378
 
382
- expect(generator).to receive(:generate).and_return(:generated)
383
- expect(@conn).to receive(:add).with(anything, hash_including("myparam" => ["generated"]))
379
+ generator.expects(:generate).returns :generated
380
+ @conn.expects(:add).with { |name, attrs| attrs["myparam"] == ["generated"] }
384
381
 
385
382
  @manager.create("myname", {:one => :testing})
386
383
  end
@@ -388,8 +385,8 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
388
385
 
389
386
  describe "do delete entries" do
390
387
  it "should convert the first argument to its :delete method to a full dn and pass the resulting argument list to its connection" do
391
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
392
- expect(@conn).to receive(:delete).with("mydn")
388
+ @manager.expects(:dn).with("myname").returns "mydn"
389
+ @conn.expects(:delete).with("mydn")
393
390
 
394
391
  @manager.delete("myname")
395
392
  end
@@ -397,8 +394,8 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
397
394
 
398
395
  describe "to modify entries" do
399
396
  it "should convert the first argument to its :modify method to a full dn and pass the resulting argument list to its connection" do
400
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
401
- expect(@conn).to receive(:modify).with("mydn", :mymods)
397
+ @manager.expects(:dn).with("myname").returns "mydn"
398
+ @conn.expects(:modify).with("mydn", :mymods)
402
399
 
403
400
  @manager.modify("myname", :mymods)
404
401
  end
@@ -406,25 +403,25 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
406
403
 
407
404
  describe "to find a single entry" do
408
405
  it "should use the dn of the provided name as the search base, a scope of 0, and 'objectclass=*' as the filter for a search2 call" do
409
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
410
- expect(@conn).to receive(:search2).with("mydn", 0, "objectclass=*")
406
+ @manager.expects(:dn).with("myname").returns "mydn"
407
+ @conn.expects(:search2).with("mydn", 0, "objectclass=*")
411
408
 
412
409
  @manager.find("myname")
413
410
  end
414
411
 
415
412
  it "should return nil if an exception is thrown because no result is found" do
416
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
417
- expect(@conn).to receive(:search2).and_raise(LDAP::ResultError)
413
+ @manager.expects(:dn).with("myname").returns "mydn"
414
+ @conn.expects(:search2).raises LDAP::ResultError
418
415
 
419
416
  expect(@manager.find("myname")).to be_nil
420
417
  end
421
418
 
422
419
  it "should return a converted provider hash if the result is found" do
423
- expect(@manager).to receive(:dn).with("myname").and_return("mydn")
420
+ @manager.expects(:dn).with("myname").returns "mydn"
424
421
  result = {"one" => "two"}
425
- expect(@conn).to receive(:search2).and_yield(result)
422
+ @conn.expects(:search2).yields result
426
423
 
427
- expect(@manager).to receive(:entry2provider).with(result).and_return("myprovider")
424
+ @manager.expects(:entry2provider).with(result).returns "myprovider"
428
425
 
429
426
  expect(@manager.find("myname")).to eq("myprovider")
430
427
  end
@@ -432,38 +429,38 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
432
429
 
433
430
  describe "to search for multiple entries" do
434
431
  before do
435
- allow(@manager).to receive(:filter).and_return("myfilter")
432
+ @manager.stubs(:filter).returns "myfilter"
436
433
  end
437
434
 
438
435
  it "should use the manager's search base as the dn of the provided name as the search base" do
439
- expect(@manager).to receive(:base).and_return("mybase")
440
- expect(@conn).to receive(:search2).with("mybase", anything, anything)
436
+ @manager.expects(:base).returns "mybase"
437
+ @conn.expects(:search2).with { |base, scope, filter| base == "mybase" }
441
438
 
442
439
  @manager.search
443
440
  end
444
441
 
445
442
  it "should use a scope of 1" do
446
- expect(@conn).to receive(:search2).with(anything, 1, anything)
443
+ @conn.expects(:search2).with { |base, scope, filter| scope == 1 }
447
444
 
448
445
  @manager.search
449
446
  end
450
447
 
451
448
  it "should use any specified search filter" do
452
- expect(@manager).not_to receive(:filter)
453
- expect(@conn).to receive(:search2).with(anything, anything, "boo")
449
+ @manager.expects(:filter).never
450
+ @conn.expects(:search2).with { |base, scope, filter| filter == "boo" }
454
451
 
455
452
  @manager.search("boo")
456
453
  end
457
454
 
458
455
  it "should turn its objectclass list into its search filter if one is not specified" do
459
- expect(@manager).to receive(:filter).and_return("yay")
460
- expect(@conn).to receive(:search2).with(anything, anything, "yay")
456
+ @manager.expects(:filter).returns "yay"
457
+ @conn.expects(:search2).with { |base, scope, filter| filter == "yay" }
461
458
 
462
459
  @manager.search
463
460
  end
464
461
 
465
462
  it "should return nil if no result is found" do
466
- expect(@conn).to receive(:search2)
463
+ @conn.expects(:search2)
467
464
 
468
465
  expect(@manager.search).to be_nil
469
466
  end
@@ -471,9 +468,9 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
471
468
  it "should return an array of the found results converted to provider hashes" do
472
469
  # LAK: AFAICT, it's impossible to yield multiple times in an expectation.
473
470
  one = {"dn" => "cn=one,dc=madstop,dc=com", "one" => "two"}
474
- expect(@conn).to receive(:search2).and_yield(one)
471
+ @conn.expects(:search2).yields(one)
475
472
 
476
- expect(@manager).to receive(:entry2provider).with(one).and_return("myprov")
473
+ @manager.expects(:entry2provider).with(one).returns "myprov"
477
474
 
478
475
  expect(@manager.search).to eq(["myprov"])
479
476
  end
@@ -488,29 +485,29 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
488
485
 
489
486
  describe "is being updated" do
490
487
  it "should get created if the current attribute list is empty and the desired attribute list has :ensure == :present" do
491
- expect(@manager).to receive(:create)
488
+ @manager.expects(:create)
492
489
  @manager.update(@name, {}, {:ensure => :present})
493
490
  end
494
491
 
495
492
  it "should get created if the current attribute list has :ensure == :absent and the desired attribute list has :ensure == :present" do
496
- expect(@manager).to receive(:create)
493
+ @manager.expects(:create)
497
494
  @manager.update(@name, {:ensure => :absent}, {:ensure => :present})
498
495
  end
499
496
 
500
497
  it "should get deleted if the current attribute list has :ensure == :present and the desired attribute list has :ensure == :absent" do
501
- expect(@manager).to receive(:delete)
498
+ @manager.expects(:delete)
502
499
  @manager.update(@name, {:ensure => :present}, {:ensure => :absent})
503
500
  end
504
501
 
505
502
  it "should get modified if both attribute lists have :ensure == :present" do
506
- expect(@manager).to receive(:modify)
503
+ @manager.expects(:modify)
507
504
  @manager.update(@name, {:ensure => :present, :one => :two}, {:ensure => :present, :one => :three})
508
505
  end
509
506
  end
510
507
 
511
508
  describe "is being deleted" do
512
509
  it "should call the :delete method with its name and manager" do
513
- expect(@manager).to receive(:delete).with(@name)
510
+ @manager.expects(:delete).with(@name)
514
511
 
515
512
  @manager.update(@name, {}, {:ensure => :absent})
516
513
  end
@@ -523,59 +520,59 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
523
520
  end
524
521
 
525
522
  it "should call the :create method with its name" do
526
- expect(@manager).to receive(:create).with(@name, anything)
523
+ @manager.expects(:create).with { |name, attrs| name == @name }
527
524
  @manager.update(@name, @is, @should)
528
525
  end
529
526
 
530
527
  it "should call the :create method with its property hash converted to ldap attribute names" do
531
- expect(@manager).to receive(:create).with(anything, hash_including("uno" => ["yay"]))
528
+ @manager.expects(:create).with { |name, attrs| attrs["uno"] == ["yay"] }
532
529
  @manager.update(@name, @is, @should)
533
530
  end
534
531
 
535
532
  it "should convert the property names to strings" do
536
- expect(@manager).to receive(:create).with(anything, hash_including("uno" => ["yay"]))
533
+ @manager.expects(:create).with { |name, attrs| attrs["uno"] == ["yay"] }
537
534
  @manager.update(@name, @is, @should)
538
535
  end
539
536
 
540
537
  it "should convert the property values to arrays if necessary" do
541
- expect(@manager).to receive(:create).with(anything, hash_including("uno" => ["yay"]))
538
+ @manager.expects(:create).with { |name, attrs| attrs["uno"] == ["yay"] }
542
539
  @manager.update(@name, @is, @should)
543
540
  end
544
541
 
545
542
  it "should convert the property values to strings if necessary" do
546
- expect(@manager).to receive(:create).with(anything, hash_including("uno" => ["yay"]))
543
+ @manager.expects(:create).with { |name, attrs| attrs["uno"] == ["yay"] }
547
544
  @manager.update(@name, @is, @should)
548
545
  end
549
546
 
550
547
  it "should not include :ensure in the properties sent" do
551
- expect(@manager).to receive(:create).with(anything, hash_excluding(:ensure))
548
+ @manager.expects(:create).with { |*args| args[1][:ensure].nil? }
552
549
  @manager.update(@name, @is, @should)
553
550
  end
554
551
 
555
552
  it "should not include attributes set to :absent in the properties sent" do
556
- expect(@manager).to receive(:create).with(anything, hash_excluding(:dos))
553
+ @manager.expects(:create).with { |*args| args[1][:dos].nil? }
557
554
  @manager.update(@name, @is, @should)
558
555
  end
559
556
  end
560
557
 
561
558
  describe "is being modified" do
562
559
  it "should call the :modify method with its name and an array of LDAP::Mod instances" do
563
- allow(LDAP::Mod).to receive(:new).and_return("whatever")
560
+ LDAP::Mod.stubs(:new).returns "whatever"
564
561
 
565
562
  @is = {:one => :yay}
566
563
  @should = {:one => :yay, :two => :foo}
567
564
 
568
- expect(@manager).to receive(:modify).with(@name, anything)
565
+ @manager.expects(:modify).with { |name, mods| name == @name }
569
566
  @manager.update(@name, @is, @should)
570
567
  end
571
568
 
572
569
  it "should create the LDAP::Mod with the property name converted to the ldap name as a string" do
573
570
  @is = {:one => :yay}
574
571
  @should = {:one => :yay, :two => :foo}
575
- mod = double('module')
576
- expect(LDAP::Mod).to receive(:new).with(anything, "dos", anything).and_return(mod)
572
+ mod = mock 'module'
573
+ LDAP::Mod.expects(:new).with { |form, name, value| name == "dos" }.returns mod
577
574
 
578
- allow(@manager).to receive(:modify)
575
+ @manager.stubs(:modify)
579
576
 
580
577
  @manager.update(@name, @is, @should)
581
578
  end
@@ -583,10 +580,10 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
583
580
  it "should create an LDAP::Mod instance of type LDAP_MOD_ADD for each attribute being added, with the attribute value converted to a string of arrays" do
584
581
  @is = {:one => :yay}
585
582
  @should = {:one => :yay, :two => :foo}
586
- mod = double('module')
587
- expect(LDAP::Mod).to receive(:new).with(LDAP::LDAP_MOD_ADD, "dos", ["foo"]).and_return(mod)
583
+ mod = mock 'module'
584
+ LDAP::Mod.expects(:new).with(LDAP::LDAP_MOD_ADD, "dos", ["foo"]).returns mod
588
585
 
589
- allow(@manager).to receive(:modify)
586
+ @manager.stubs(:modify)
590
587
 
591
588
  @manager.update(@name, @is, @should)
592
589
  end
@@ -594,10 +591,10 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
594
591
  it "should create an LDAP::Mod instance of type LDAP_MOD_DELETE for each attribute being deleted" do
595
592
  @is = {:one => :yay, :two => :foo}
596
593
  @should = {:one => :yay, :two => :absent}
597
- mod = double('module')
598
- expect(LDAP::Mod).to receive(:new).with(LDAP::LDAP_MOD_DELETE, "dos", []).and_return(mod)
594
+ mod = mock 'module'
595
+ LDAP::Mod.expects(:new).with(LDAP::LDAP_MOD_DELETE, "dos", []).returns mod
599
596
 
600
- allow(@manager).to receive(:modify)
597
+ @manager.stubs(:modify)
601
598
 
602
599
  @manager.update(@name, @is, @should)
603
600
  end
@@ -605,10 +602,10 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
605
602
  it "should create an LDAP::Mod instance of type LDAP_MOD_REPLACE for each attribute being modified, with the attribute converted to a string of arrays" do
606
603
  @is = {:one => :yay, :two => :four}
607
604
  @should = {:one => :yay, :two => :five}
608
- mod = double('module')
609
- expect(LDAP::Mod).to receive(:new).with(LDAP::LDAP_MOD_REPLACE, "dos", ["five"]).and_return(mod)
605
+ mod = mock 'module'
606
+ LDAP::Mod.expects(:new).with(LDAP::LDAP_MOD_REPLACE, "dos", ["five"]).returns mod
610
607
 
611
- allow(@manager).to receive(:modify)
608
+ @manager.stubs(:modify)
612
609
 
613
610
  @manager.update(@name, @is, @should)
614
611
  end
@@ -616,9 +613,11 @@ describe Puppet::Util::Ldap::Manager, :if => Puppet.features.ldap? do
616
613
  it "should pass all created Mod instances to the modify method" do
617
614
  @is = {:one => :yay, :two => :foo, :three => :absent}
618
615
  @should = {:one => :yay, :two => :foe, :three => :fee, :four => :fie}
619
- expect(LDAP::Mod).to receive(:new).exactly(3).times().and_return("mod1", "mod2", "mod3")
616
+ LDAP::Mod.expects(:new).times(3).returns("mod1").then.returns("mod2").then.returns("mod3")
620
617
 
621
- expect(@manager).to receive(:modify).with(anything, contain_exactly(*%w{mod1 mod2 mod3}))
618
+ @manager.expects(:modify).with do |name, mods|
619
+ mods.sort == %w{mod1 mod2 mod3}.sort
620
+ end
622
621
 
623
622
  @manager.update(@name, @is, @should)
624
623
  end