puppet 6.0.10 → 6.1.0

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

Potentially problematic release.


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

Files changed (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,5 @@
1
+ #!/usr/bin/env ruby
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::Platform.windows? do
@@ -11,20 +13,20 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
11
13
 
12
14
  let(:provider) { resource.provider }
13
15
 
14
- let(:connection) { double('connection') }
16
+ let(:connection) { stub 'connection' }
15
17
 
16
18
  before :each do
17
- allow(Puppet::Util::Windows::ADSI).to receive(:computer_name).and_return('testcomputername')
18
- allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(connection)
19
+ Puppet::Util::Windows::ADSI.stubs(:computer_name).returns('testcomputername')
20
+ Puppet::Util::Windows::ADSI.stubs(:connect).returns connection
19
21
  # this would normally query the system, but not needed for these tests
20
- allow(Puppet::Util::Windows::ADSI::User).to receive(:localized_domains).and_return([])
22
+ Puppet::Util::Windows::ADSI::User.stubs(:localized_domains).returns([])
21
23
  end
22
24
 
23
25
  describe ".instances" do
24
26
  it "should enumerate all users" do
25
27
  names = ['user1', 'user2', 'user3']
26
- stub_users = names.map {|n| double(:name => n)}
27
- allow(connection).to receive(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').and_return(stub_users)
28
+ stub_users = names.map{|n| stub(:name => n)}
29
+ connection.stubs(:execquery).with('select name from win32_useraccount where localaccount = "TRUE"').returns(stub_users)
28
30
 
29
31
  expect(described_class.instances.map(&:name)).to match(names)
30
32
  end
@@ -37,8 +39,8 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
37
39
  describe "when retrieving the password property" do
38
40
  context "when the resource has a nil password" do
39
41
  it "should never issue a logon attempt" do
40
- allow(resource).to receive(:[]).with(eq(:name).or(eq(:password))).and_return(nil)
41
- expect(Puppet::Util::Windows::User).not_to receive(:logon_user)
42
+ resource.stubs(:[]).with(any_of(:name, :password)).returns(nil)
43
+ Puppet::Util::Windows::User.expects(:logon_user).never
42
44
  provider.password
43
45
  end
44
46
  end
@@ -46,41 +48,42 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
46
48
 
47
49
  describe "when managing groups" do
48
50
  it 'should return the list of groups as an array of strings' do
49
- allow(provider.user).to receive(:groups).and_return(nil)
51
+ provider.user.stubs(:groups).returns nil
50
52
  groups = {'group1' => nil, 'group2' => nil, 'group3' => nil}
51
- expect(Puppet::Util::Windows::ADSI::Group).to receive(:name_sid_hash).and_return(groups)
53
+ Puppet::Util::Windows::ADSI::Group.expects(:name_sid_hash).returns(groups)
52
54
 
53
55
  expect(provider.groups).to eq(groups.keys)
54
56
  end
55
57
 
56
58
  it "should return an empty array if there are no groups" do
57
- allow(provider.user).to receive(:groups).and_return([])
59
+ provider.user.stubs(:groups).returns []
58
60
 
59
61
  expect(provider.groups).to eq([])
60
62
  end
61
63
 
62
64
  it 'should be able to add a user to a set of groups' do
63
65
  resource[:membership] = :minimum
64
- expect(provider.user).to receive(:set_groups).with('group1,group2', true)
66
+ provider.user.expects(:set_groups).with('group1,group2', true)
65
67
 
66
68
  provider.groups = 'group1,group2'
67
69
 
68
70
  resource[:membership] = :inclusive
69
- expect(provider.user).to receive(:set_groups).with('group1,group2', false)
71
+ provider.user.expects(:set_groups).with('group1,group2', false)
70
72
 
71
73
  provider.groups = 'group1,group2'
72
74
  end
73
75
  end
74
76
 
75
77
  describe "#groups_insync?" do
76
- let(:group1) { double(:account => 'group1', :domain => '.', :sid => 'group1sid') }
77
- let(:group2) { double(:account => 'group2', :domain => '.', :sid => 'group2sid') }
78
- let(:group3) { double(:account => 'group3', :domain => '.', :sid => 'group3sid') }
78
+
79
+ let(:group1) { stub(:account => 'group1', :domain => '.', :sid => 'group1sid') }
80
+ let(:group2) { stub(:account => 'group2', :domain => '.', :sid => 'group2sid') }
81
+ let(:group3) { stub(:account => 'group3', :domain => '.', :sid => 'group3sid') }
79
82
 
80
83
  before :each do
81
- allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group1').and_return(group1)
82
- allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group2').and_return(group2)
83
- allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).with('group3').and_return(group3)
84
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group1').returns(group1)
85
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group2').returns(group2)
86
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('group3').returns(group3)
84
87
  end
85
88
 
86
89
  it "should return true for same lists of members" do
@@ -188,16 +191,17 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
188
191
  resource[:comment] = 'a test user'
189
192
  resource[:home] = 'C:\Users\testuser'
190
193
 
191
- user = double('user')
192
- expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
194
+ user = stub 'user'
195
+ Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
193
196
 
194
- allow(user).to receive(:groups).and_return(['group2', 'group3'])
197
+ user.stubs(:groups).returns(['group2', 'group3'])
195
198
 
196
- expect(user).to receive(:password=).ordered
197
- expect(user).to receive(:commit).ordered
198
- expect(user).to receive(:set_groups).with('group1,group2', false).ordered
199
- expect(user).to receive(:[]=).with('Description', 'a test user')
200
- expect(user).to receive(:[]=).with('HomeDirectory', 'C:\Users\testuser')
199
+ create = sequence('create')
200
+ user.expects(:password=).in_sequence(create)
201
+ user.expects(:commit).in_sequence(create)
202
+ user.expects(:set_groups).with('group1,group2', false).in_sequence(create)
203
+ user.expects(:[]=).with('Description', 'a test user')
204
+ user.expects(:[]=).with('HomeDirectory', 'C:\Users\testuser')
201
205
 
202
206
  provider.create
203
207
  end
@@ -206,28 +210,25 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
206
210
  resource[:password] = '0xDeadBeef'
207
211
  resource[:managehome] = true
208
212
 
209
- user = double('user')
210
- allow(user).to receive(:password=)
211
- allow(user).to receive(:commit)
212
- allow(user).to receive(:[]=)
213
- expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_return(user)
214
- expect(Puppet::Util::Windows::User).to receive(:load_profile).with('testuser', '0xDeadBeef')
213
+ user = stub_everything 'user'
214
+ Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').returns user
215
+ Puppet::Util::Windows::User.expects(:load_profile).with('testuser', '0xDeadBeef')
215
216
 
216
217
  provider.create
217
218
  end
218
219
 
219
220
  it "should set a user's password" do
220
- expect(provider.user).to receive(:disabled?).and_return(false)
221
- expect(provider.user).to receive(:locked_out?).and_return(false)
222
- expect(provider.user).to receive(:expired?).and_return(false)
223
- expect(provider.user).to receive(:password=).with('plaintextbad')
221
+ provider.user.expects(:disabled?).returns(false)
222
+ provider.user.expects(:locked_out?).returns(false)
223
+ provider.user.expects(:expired?).returns(false)
224
+ provider.user.expects(:password=).with('plaintextbad')
224
225
 
225
226
  provider.password = "plaintextbad"
226
227
  end
227
228
 
228
229
  it "should test a valid user password" do
229
230
  resource[:password] = 'plaintext'
230
- expect(provider.user).to receive(:password_is?).with('plaintext').and_return(true)
231
+ provider.user.expects(:password_is?).with('plaintext').returns true
231
232
 
232
233
  expect(provider.password).to eq('plaintext')
233
234
 
@@ -235,54 +236,54 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
235
236
 
236
237
  it "should test a bad user password" do
237
238
  resource[:password] = 'plaintext'
238
- expect(provider.user).to receive(:password_is?).with('plaintext').and_return(false)
239
+ provider.user.expects(:password_is?).with('plaintext').returns false
239
240
 
240
241
  expect(provider.password).to be_nil
241
242
  end
242
243
 
243
244
  it "should test a blank user password" do
244
245
  resource[:password] = ''
245
- expect(provider.user).to receive(:password_is?).with('').and_return(true)
246
+ provider.user.expects(:password_is?).with('').returns true
246
247
 
247
248
  expect(provider.password).to eq('')
248
249
  end
249
250
 
250
251
  it 'should not create a user if a group by the same name exists' do
251
- expect(Puppet::Util::Windows::ADSI::User).to receive(:create).with('testuser').and_raise(Puppet::Error.new("Cannot create user if group 'testuser' exists."))
252
+ Puppet::Util::Windows::ADSI::User.expects(:create).with('testuser').raises( Puppet::Error.new("Cannot create user if group 'testuser' exists.") )
252
253
  expect{ provider.create }.to raise_error( Puppet::Error,
253
254
  /Cannot create user if group 'testuser' exists./ )
254
255
  end
255
256
 
256
257
  it "should fail with an actionable message when trying to create an active directory user" do
257
258
  resource[:name] = 'DOMAIN\testdomainuser'
258
- expect(Puppet::Util::Windows::ADSI::Group).to receive(:exists?).with(resource[:name]).and_return(false)
259
- expect(connection).to receive(:Create)
260
- expect(connection).to receive(:Get).with('UserFlags')
261
- expect(connection).to receive(:Put).with('UserFlags', true)
262
- expect(connection).to receive(:SetInfo).and_raise(WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
259
+ Puppet::Util::Windows::ADSI::Group.expects(:exists?).with(resource[:name]).returns(false)
260
+ connection.expects(:Create)
261
+ connection.expects(:Get).with('UserFlags')
262
+ connection.expects(:Put).with('UserFlags', true)
263
+ connection.expects(:SetInfo).raises( WIN32OLERuntimeError.new("(in OLE method `SetInfo': )\n OLE error code:8007089A in Active Directory\n The specified username is invalid.\r\n\n HRESULT error code:0x80020009\n Exception occurred."))
263
264
 
264
265
  expect{ provider.create }.to raise_error(Puppet::Error)
265
266
  end
266
267
  end
267
268
 
268
269
  it 'should be able to test whether a user exists' do
269
- allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
270
- allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(double('connection', :Class => 'User'))
270
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).returns(nil)
271
+ Puppet::Util::Windows::ADSI.stubs(:connect).returns stub('connection', :Class => 'User')
271
272
  expect(provider).to be_exists
272
273
 
273
- allow(Puppet::Util::Windows::ADSI).to receive(:connect).and_return(nil)
274
+ Puppet::Util::Windows::ADSI.stubs(:connect).returns nil
274
275
  expect(provider).not_to be_exists
275
276
  end
276
277
 
277
278
  it 'should be able to delete a user' do
278
- expect(connection).to receive(:Delete).with('user', 'testuser')
279
+ connection.expects(:Delete).with('user', 'testuser')
279
280
 
280
281
  provider.delete
281
282
  end
282
283
 
283
284
  it 'should not run commit on a deleted user' do
284
- expect(connection).to receive(:Delete).with('user', 'testuser')
285
- expect(connection).not_to receive(:SetInfo)
285
+ connection.expects(:Delete).with('user', 'testuser')
286
+ connection.expects(:SetInfo).never
286
287
 
287
288
  provider.delete
288
289
  provider.flush
@@ -292,33 +293,33 @@ describe Puppet::Type.type(:user).provider(:windows_adsi), :if => Puppet::Util::
292
293
  resource[:managehome] = true
293
294
 
294
295
  sid = 'S-A-B-C'
295
- expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return(sid)
296
- expect(Puppet::Util::Windows::ADSI::UserProfile).to receive(:delete).with(sid)
297
- expect(connection).to receive(:Delete).with('user', 'testuser')
296
+ Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns(sid)
297
+ Puppet::Util::Windows::ADSI::UserProfile.expects(:delete).with(sid)
298
+ connection.expects(:Delete).with('user', 'testuser')
298
299
 
299
300
  provider.delete
300
301
  end
301
302
 
302
303
  it "should commit the user when flushed" do
303
- expect(provider.user).to receive(:commit)
304
+ provider.user.expects(:commit)
304
305
 
305
306
  provider.flush
306
307
  end
307
308
 
308
309
  it "should return the user's SID as uid" do
309
- expect(Puppet::Util::Windows::SID).to receive(:name_to_sid).with('testuser').and_return('S-1-5-21-1362942247-2130103807-3279964888-1111')
310
+ Puppet::Util::Windows::SID.expects(:name_to_sid).with('testuser').returns('S-1-5-21-1362942247-2130103807-3279964888-1111')
310
311
 
311
312
  expect(provider.uid).to eq('S-1-5-21-1362942247-2130103807-3279964888-1111')
312
313
  end
313
314
 
314
315
  it "should fail when trying to manage the uid property" do
315
- expect(provider).to receive(:fail).with(/uid is read-only/)
316
+ provider.expects(:fail).with { |msg| msg =~ /uid is read-only/ }
316
317
  provider.send(:uid=, 500)
317
318
  end
318
319
 
319
320
  [:gid, :shell].each do |prop|
320
321
  it "should fail when trying to manage the #{prop} property" do
321
- expect(provider).to receive(:fail).with(/No support for managing property #{prop}/)
322
+ provider.expects(:fail).with { |msg| msg =~ /No support for managing property #{prop}/ }
322
323
  provider.send("#{prop}=", 'foo')
323
324
  end
324
325
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  def existing_command
@@ -149,13 +150,13 @@ describe Puppet::Provider do
149
150
  # otherwise is to assign it to a constant, and that hurts more here in
150
151
  # testing world. --daniel 2012-01-29
151
152
  a = Class.new(Puppet::Provider).new(res)
152
- allow(a.class).to receive(:name).and_return("Puppet::Provider::Notify::A")
153
+ a.class.stubs(:name).returns "Puppet::Provider::Notify::A"
153
154
 
154
155
  b = Class.new(Puppet::Provider).new(res)
155
- allow(b.class).to receive(:name).and_return("Puppet::Provider::Notify::B")
156
+ b.class.stubs(:name).returns "Puppet::Provider::Notify::B"
156
157
 
157
158
  c = Class.new(Puppet::Provider).new(res)
158
- allow(c.class).to receive(:name).and_return("Puppet::Provider::Notify::C")
159
+ c.class.stubs(:name).returns "Puppet::Provider::Notify::C"
159
160
 
160
161
  [[a, b, c], [a, c, b], [b, a, c], [b, c, a], [c, a, b], [c, b, a]].each do |this|
161
162
  expect(this.sort).to eq([a, b, c])
@@ -281,7 +282,7 @@ describe Puppet::Provider do
281
282
 
282
283
  describe "regex matches" do
283
284
  it "should match a singular regex" do
284
- expect(Facter).to receive(:value).with(:osfamily).at_least(:once).and_return("solaris")
285
+ Facter.expects(:value).with(:osfamily).at_least_once.returns "solaris"
285
286
 
286
287
  one = type.provide(:one) do
287
288
  defaultfor :osfamily => /solaris/
@@ -291,7 +292,7 @@ describe Puppet::Provider do
291
292
  end
292
293
 
293
294
  it "should not match a non-matching regex " do
294
- expect(Facter).to receive(:value).with(:osfamily).at_least(:once).and_return("redhat")
295
+ Facter.expects(:value).with(:osfamily).at_least_once.returns "redhat"
295
296
 
296
297
  one = type.provide(:one) do
297
298
  defaultfor :osfamily => /solaris/
@@ -302,8 +303,8 @@ describe Puppet::Provider do
302
303
 
303
304
  it "should allow a mix of regex and string" do
304
305
 
305
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
306
- expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
306
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
307
+ Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
307
308
 
308
309
  one = type.provide(:one) do
309
310
  defaultfor :operatingsystem => "fedora", :operatingsystemmajrelease => /^2[2-9]$/
@@ -327,14 +328,14 @@ describe Puppet::Provider do
327
328
  let(:alternate) { type.provide(:alternate) {} }
328
329
 
329
330
  it "should be default for the first defaultfor" do
330
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os1)
331
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os1
331
332
 
332
333
  expect(provider).to be_default
333
334
  expect(alternate).not_to be_default
334
335
  end
335
336
 
336
337
  it "should be default for the last defaultfor" do
337
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os2)
338
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os2
338
339
 
339
340
  expect(provider).to be_default
340
341
  expect(alternate).not_to be_default
@@ -351,23 +352,23 @@ describe Puppet::Provider do
351
352
  let(:alternate) { type.provide(:alternate) {} }
352
353
 
353
354
  it "should be default for a more specific, but matching, defaultfor" do
354
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os2)
355
- expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("42")
355
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os2
356
+ Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "42"
356
357
 
357
358
  expect(provider).to be_default
358
359
  expect(alternate).not_to be_default
359
360
  end
360
361
 
361
362
  it "should be default for a more specific, but matching, defaultfor with regex" do
362
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os3)
363
- expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("42")
363
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os3
364
+ Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "42"
364
365
 
365
366
  expect(provider).to be_default
366
367
  expect(alternate).not_to be_default
367
368
  end
368
369
 
369
370
  it "should be default for a less specific, but matching, defaultfor" do
370
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return(:os1)
371
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns :os1
371
372
 
372
373
  expect(provider).to be_default
373
374
  expect(alternate).not_to be_default
@@ -391,8 +392,8 @@ describe Puppet::Provider do
391
392
  end
392
393
 
393
394
  it "should not be default if the notdefaultfor does match" do
394
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
395
- expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
395
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
396
+ Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
396
397
 
397
398
  one = type.provide(:one) do
398
399
  defaultfor :operatingsystem => "fedora"
@@ -403,8 +404,8 @@ describe Puppet::Provider do
403
404
  end
404
405
 
405
406
  it "should be default if the notdefaultfor doesn't match" do
406
- expect(Facter).to receive(:value).with(:operatingsystem).at_least(:once).and_return("fedora")
407
- expect(Facter).to receive(:value).with(:operatingsystemmajrelease).at_least(:once).and_return("24")
407
+ Facter.expects(:value).with(:operatingsystem).at_least_once.returns "fedora"
408
+ Facter.expects(:value).with(:operatingsystemmajrelease).at_least_once.returns "24"
408
409
 
409
410
  one = type.provide(:one) do
410
411
  defaultfor :operatingsystem => "fedora"
@@ -519,9 +520,9 @@ describe Puppet::Provider do
519
520
  end
520
521
 
521
522
  it "with the specification: %{spec}" % { spec: thisspec.join(', ') } do
522
- allow(Facter).to receive(:value).with(:osfamily).and_return("redhat")
523
- allow(Facter).to receive(:value).with(:operatingsystem).and_return("centos")
524
- allow(Facter).to receive(:value).with(:operatingsystemrelease).and_return("27")
523
+ Facter.stubs(:value).with(:osfamily).returns "redhat"
524
+ Facter.stubs(:value).with(:operatingsystem).returns "centos"
525
+ Facter.stubs(:value).with(:operatingsystemrelease).returns "27"
525
526
 
526
527
  one = type.provide(:one) do
527
528
  if defaultforspec[:one].key?(:defaultfor)
@@ -550,7 +551,7 @@ describe Puppet::Provider do
550
551
  end
551
552
 
552
553
  if defaultforspec[:expect_one] then
553
- expect(Puppet).to receive(:warning).with(/Found multiple default providers/)
554
+ Puppet.expects(:warning).with(regexp_matches(/Found multiple default providers/))
554
555
  expect(type.defaultprovider).to eq(one)
555
556
  else
556
557
  expect(type.defaultprovider).to eq(two)
@@ -606,7 +607,7 @@ describe Puppet::Provider do
606
607
  subject.commands :testing => "puppet-bug-1197"
607
608
  expect(subject.command(:testing)).to be_nil
608
609
 
609
- allow(subject).to receive(:which).with("puppet-bug-1197").and_return("/puppet-bug-1197")
610
+ subject.stubs(:which).with("puppet-bug-1197").returns("/puppet-bug-1197")
610
611
  expect(subject.command(:testing)).to eq("/puppet-bug-1197")
611
612
 
612
613
  # Ideally, we would also test that `suitable?` returned the right thing
@@ -642,43 +643,43 @@ describe Puppet::Provider do
642
643
 
643
644
  context "execution" do
644
645
  before :each do
645
- expect(Puppet).not_to receive(:deprecation_warning)
646
+ Puppet.expects(:deprecation_warning).never
646
647
  end
647
648
 
648
649
  it "delegates instance execute to Puppet::Util::Execution" do
649
- expect(Puppet::Util::Execution).to receive(:execute).with("a_command", { :option => "value" })
650
+ Puppet::Util::Execution.expects(:execute).with("a_command", { :option => "value" })
650
651
 
651
652
  provider.new.send(:execute, "a_command", { :option => "value" })
652
653
  end
653
654
 
654
655
  it "delegates class execute to Puppet::Util::Execution" do
655
- expect(Puppet::Util::Execution).to receive(:execute).with("a_command", { :option => "value" })
656
+ Puppet::Util::Execution.expects(:execute).with("a_command", { :option => "value" })
656
657
 
657
658
  provider.send(:execute, "a_command", { :option => "value" })
658
659
  end
659
660
 
660
661
  it "delegates instance execpipe to Puppet::Util::Execution" do
661
662
  block = Proc.new { }
662
- expect(Puppet::Util::Execution).to receive(:execpipe).with("a_command", true, block)
663
+ Puppet::Util::Execution.expects(:execpipe).with("a_command", true, block)
663
664
 
664
665
  provider.new.send(:execpipe, "a_command", true, block)
665
666
  end
666
667
 
667
668
  it "delegates class execpipe to Puppet::Util::Execution" do
668
669
  block = Proc.new { }
669
- expect(Puppet::Util::Execution).to receive(:execpipe).with("a_command", true, block)
670
+ Puppet::Util::Execution.expects(:execpipe).with("a_command", true, block)
670
671
 
671
672
  provider.send(:execpipe, "a_command", true, block)
672
673
  end
673
674
 
674
675
  it "delegates instance execfail to Puppet::Util::Execution" do
675
- expect(Puppet::Util::Execution).to receive(:execfail).with("a_command", "an exception to raise")
676
+ Puppet::Util::Execution.expects(:execfail).with("a_command", "an exception to raise")
676
677
 
677
678
  provider.new.send(:execfail, "a_command", "an exception to raise")
678
679
  end
679
680
 
680
681
  it "delegates class execfail to Puppet::Util::Execution" do
681
- expect(Puppet::Util::Execution).to receive(:execfail).with("a_command", "an exception to raise")
682
+ Puppet::Util::Execution.expects(:execfail).with("a_command", "an exception to raise")
682
683
 
683
684
  provider.send(:execfail, "a_command", "an exception to raise")
684
685
  end
@@ -902,17 +903,16 @@ describe Puppet::Provider do
902
903
 
903
904
  def expect_command_executed(name, path, *args)
904
905
  command = Puppet::Provider::Command.new(name, path, Puppet::Util, Puppet::Util::Execution)
905
- args = [no_args] if args.empty?
906
- expect(command).to receive(:execute).with(*args)
906
+ command.expects(:execute).with(*args)
907
907
  command
908
908
  end
909
909
 
910
910
  def allow_creation_of(command, environment = {})
911
- allow(Puppet::Provider::Command).to receive(:new).with(command.name, command.executable, Puppet::Util, Puppet::Util::Execution, { :failonfail => true, :combine => true, :custom_environment => environment }).and_return(command)
911
+ Puppet::Provider::Command.stubs(:new).with(command.name, command.executable, Puppet::Util, Puppet::Util::Execution, { :failonfail => true, :combine => true, :custom_environment => environment }).returns(command)
912
912
  end
913
913
 
914
914
  def file_exists_and_is_executable(path)
915
- expect(FileTest).to receive(:file?).with(path).and_return(true)
916
- expect(FileTest).to receive(:executable?).with(path).and_return(true)
915
+ FileTest.expects(:file?).with(path).returns(true)
916
+ FileTest.expects(:executable?).with(path).returns(true)
917
917
  end
918
918
  end